1. OpenAI API 개요
OpenAI API는 HTTP 프로토콜을 통해 외부에 서비스를 제공하는 인공 지능 인터페이스입니다. 이를 통해 개발자들은 강력한 자연어 처리 기능과 AI 모델을 활용할 수 있습니다. API를 통해, 대화 생성, 언어 번역, 텍스트 요약, 코드 자동 완성과 같은 기능을 구현할 수 있습니다.
팁: 이 튜토리얼은 주로 HTTP 인터페이스 프로토콜을 이용하여 OpenAI API의 기능을 설명합니다.
2. 공식적으로 지원되는 SDK 소개
2.1 Python SDK 설치 및 기본 사용법
OpenAI는 공식 Python SDK를 제공하고 있으며, pip 패키지 관리 도구를 사용하여 설치할 수 있습니다. 설치 명령어는 다음과 같습니다:
pip install openai
설치 후, 다음 예시 코드를 사용하여 기본적인 사용법을 확인할 수 있습니다:
from openai import OpenAI
client = OpenAI(
api_key = "your_api_key"
)
chat_completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hello world"}]
)
위의 예시 코드는 OpenAI 클라이언트를 생성하고 대화 생성에 활용하는 방법을 보여줍니다. 실제 사용 시, your_api_key
를 본인의 API 키로 대체하고 API 문서를 기반으로 다양한 기능의 사용 방법을 더욱 이해할 필요가 있습니다.
2.2 TypeScript/JavaScript SDK
OpenAI는 또한 Node.js 환경에 적합한 TypeScript/JavaScript SDK를 제공하고 있으며, npm 또는 yarn을 사용하여 설치할 수 있습니다. 다음은 예시 설치 명령어입니다:
npm install --save openai
설치 후, 다음 예시 코드를 사용하여 기본적인 사용법을 확인할 수 있습니다:
import OpenAI from 'openai';
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});
const chatCompletion = await openai.chat.completions.create({
messages: [{ role: 'user', content: 'Say this is a test' }],
model: 'gpt-3.5-turbo',
});
사용하기 전에, OPENAI_API_KEY
환경 변수가 설정되었는지 확인하고 API 문서를 기반으로 다양한 기능의 사용 방법을 더욱 이해할 필요가 있습니다.
2.3 Azure OpenAI SDK
Microsoft Azure 팀은 OpenAI API 및 Azure OpenAI 서비스와 호환되는 SDK를 유지보수하고 있습니다. 다음 링크를 통해 관련 문서를 참고할 수 있습니다:
- Azure OpenAI .NET 클라이언트 라이브러리
- Azure OpenAI JavaScript 클라이언트 라이브러리
- Azure OpenAI Java 클라이언트 라이브러리
- Azure OpenAI Go 클라이언트 라이브러리
커뮤니티 지원 SDK
다음은 커뮤니티에서 지원하는 SDK와 각각의 링크입니다:
-
C# / .NET
- Betalgo.OpenAI - Betalgo에 의해
- OpenAI-API-dotnet - OkGoDoIt에 의해
- OpenAI-DotNet - RageAgainstThePixel에 의해
-
C++
-
Clojure
- openai-clojure - wkok에 의해
-
Crystal
- openai-crystal - sferik에 의해
-
Dart/Flutter
-
Delphi
- DelphiOpenAI - HemulGM에 의해
-
Elixir
-
Go
- go-gpt3 - sashabaranov에 의해
-
Java
- openai-java - Theo Kanning에 의해
-
Julia
- OpenAI.jl - rory-linehan에 의해
-
Kotlin
- openai-kotlin - Mouaad Aallam에 의해
-
Node.js
- openai-api - Njerschow에 의해
- openai-api-node - erlapso에 의해
- gpt-x - ceifa에 의해
- gpt3 - poteat에 의해
- gpts - thencc에 의해
- @dalenguyen/openai - dalenguyen에 의해
- tectalic/openai - tectalic에 의해
-
PHP
- orhanerday/open-ai - orhanerday에 의해
- tectalic/openai - tectalic에 의해
- openai-php client - openai-php에 의해
-
Python
- chronology - OthersideAI에 의해
-
R
-
루비 (Ruby)
-
러스트 (Rust)
- async-openai by 64bit
- fieri by lbkolev
-
스칼라 (Scala)
-
스위프트 (Swift)
- OpenAIKit by dylanshine
- OpenAI by MacPaw
-
유니티 (Unity)
-
언리얼 엔진 (Unreal Engine)