OpenAI API 가 공개되어 있어 직접 핸들링해도 되지만 보다 쓰기 쉽게 되어 있는 라이브러리를 알아보고 사용하는 것을 권장합니다.
아래에 각 언어별로 모아보았습니다.
1️⃣ Python (공식)
공식 python 라이브러리 사용을 위해서 아래와 같이 설치합니다.
pip install openai
예제 코드
import os
import openai
openai.organization = "org-optxZeqjK5KzlzvjXUkVTefj"
openai.api_key = os.getenv("OPENAI_API_KEY")
openai.Model.list()
2️⃣ Node.js (공식)
공식 Node.js 라이브러리 사용을 위해서 아래와 같이 설치합니다.
npm install openai
예제 코드
import { Configuration, OpenAIApi } from "openai";
const configuration = new Configuration({
organization: "org-optxZeqjK5KzlzvjXUkVTefj",
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
const response = await openai.listEngines();
3️⃣ Kotlin
멀티플랫폼 및 코루틴 기능을 갖춘 OpenAI의 API용 Kotlin 클라이언트입니다.
저도 현재 코틀린 프로젝트에 사용하고 있는 라이브러리입니다.
GitHub : https://github.com/aallam/openai-kotlin
Gradle
dependencies {
// import Kotlin API client BOM
implementation platform('com.aallam.openai:openai-client-bom:<version>')
// define dependencies without versions
implementation 'com.aallam.openai:openai-client'
implementation 'io.ktor:ktor-client-okhttp'
}
예제 코드
val chatCompletionRequest = ChatCompletionRequest(
model = ModelId("gpt-3.5-turbo"),
messages = listOf(
ChatMessage(
role = ChatRole.User,
content = "Hello!"
)
)
)
val completion: ChatCompletion = openAI.chatCompletion(chatCompletionRequest)
// or, as flow
val completions: Flow<ChatCompletionChunk> = openAI.chatCompletions(chatCompletionRequest)
4️⃣ Java
Java를 위한 OpenAI API 라이브러리입니다.
GitHub : https://github.com/TheoKanning/openai-java (v0.11.1 / Star 1.7k)
Gradle
implementation 'com.theokanning.openai-gpt3-java:<api|client|service>:<version>'
- api : Data 클래스 POJO만 가져오고 직접 클라이언트 작성 시
- client : Retrofit 방식으로 사용 시
- service : api 사용을 위한 가장 빠른 솔루션 (아래 예제 코드 참조)
예제 코드
OpenAiService service = new OpenAiService("your_token");
CompletionRequest completionRequest = CompletionRequest.builder()
.prompt("Somebody once told me the world is gonna roll me")
.model("ada")
.echo(true)
.build();
service.createCompletion(completionRequest).getChoices().forEach(System.out::println);
* service module 의 OpenAiService 사용할 것
5️⃣ Spring Boot 통합
아래는 Spring Cloud Openfeign 을 이용하여 OpenAI 및 Whisper API 를 통합하는 예제를 설명하고 있습니다. Microservice를 고려중이라면 이를 참고해보세요.
- Integrating ChatGPT and Whisper APIs Into Spring Boot Microservice
(참고) 그 외 라이브러리들
https://platform.openai.com/docs/libraries/community-libraries