이 페이지에서는 OpenAI API로 개발하는 주요 방법을 소개합니다. 애플리케이션 코드에서는 공식 SDK를, 셸 기반 워크플로우에서는 OpenAI CLI를, 오케스트레이션에는 Agents SDK를 사용할 수 있습니다. 원하는 HTTP 클라이언트를 사용해도 됩니다.
API 키 생성 및 환경 변수로 내보내기
시작하기 전에 대시보드에서 API 키를 생성하세요. 이 키로 API에 안전하게 접근할 수 있습니다. 키는 .zshrc 파일이나 컴퓨터의 다른 텍스트 파일 등 안전한 위치에 보관하세요. API 키를 생성한 후 터미널에서 환경 변수로 내보내세요.
export OPENAI_API_KEY="your_api_key_here"setx OPENAI_API_KEY "your_api_key_here"OpenAI SDK는 시스템 환경 변수에서 API 키를 자동으로 읽습니다.
공식 SDK 설치하기
Node.js, Deno, Bun과 같은 서버 측 JavaScript 환경에서 OpenAI API를 호출할 때는 공식 TypeScript 및 JavaScript용 OpenAI SDK를 사용할 수 있습니다. 먼저 npm이나 선호하는 패키지 관리자로 SDK를 설치하세요.
npm install openaiOpenAI SDK를 설치한 다음 example.mjs 파일을 만들고 아래 예제 코드를 복사해 붙여 넣으세요.
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-6-astra",
input: "Write a one-sentence bedtime story about a unicorn.",
});
console.log(response.output_text);node example.mjs 명령어로 코드를 실행하세요(Deno나 Bun에서는 해당 환경에 맞는 명령어를 사용하세요). 잠시 후 API 요청 결과가 출력됩니다.
SDK의 다른 기능과 옵션은 라이브러리의 GitHub README에서 확인하세요.
Python에서 OpenAI API를 호출할 때는 공식 Python용 OpenAI SDK를 사용할 수 있습니다. 먼저 pip으로 SDK를 설치하세요.
pip install openaiOpenAI SDK를 설치한 다음 example.py 파일을 만들고 아래 예제 코드를 복사해 붙여 넣으세요.
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-6-astra",
input="Write a one-sentence bedtime story about a unicorn.",
)
print(response.output_text)python example.py 명령어로 코드를 실행하세요. 잠시 후 API 요청 결과가 출력됩니다.
라이브러리의 GitHub README에서 SDK의 다양한 기능과 옵션을 확인하세요.
OpenAI는 Microsoft와 협력해 C#용 API 클라이언트를 제공하고 공식적으로 지원합니다. .NET CLI를 사용해 NuGet에서 이 클라이언트를 설치할 수 있습니다.
dotnet add package OpenAI
다음은 Responses API에 간단한 요청을 보내는 예제입니다.
using OpenAI.Responses;
#pragma warning disable OPENAI001
string key = Environment.GetEnvironmentVariable("OPENAI_API_KEY")!;
ResponsesClient client = new(key);
ResponseResult response = await client.CreateResponseAsync(
"gpt-6-astra",
"Say 'this is a test.'"
);
Console.WriteLine($"[ASSISTANT]: {response.GetOutputText()}");OpenAI는 Java용 API 라이브러리를 현재 베타 버전으로 제공합니다. 다음과 같이 Maven 종속성을 추가할 수 있습니다.
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
<version>4.103.0</version>
</dependency>다음은 Responses API에 간단한 요청을 보내는 예제입니다.
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
public class Main {
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.fromEnv();
ResponseCreateParams params =
ResponseCreateParams.builder().input("Say this is a test").model("gpt-6-astra").build();
Response response = client.responses().create(params);
response.output().stream()
.flatMap(item -> item.message().stream())
.flatMap(message -> message.content().stream())
.flatMap(content -> content.outputText().stream())
.forEach(outputText -> System.out.println(outputText.text()));
}
}Java에서 OpenAI API를 사용하는 방법을 더 알아보려면 아래 GitHub 레포지토리를 참고하세요.
라이브러리의 GitHub README에서 SDK의 다양한 기능과 옵션을 살펴보세요.
Go SDK를 사용해 Responses API에 첫 요청을 보내세요.
package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/responses"
)
func main() {
client := openai.NewClient()
resp, err := client.Responses.New(context.TODO(), responses.ResponseNewParams{
Model: "gpt-6-astra",
Input: responses.ResponseNewParamsInputUnion{OfString: openai.String("Say this is a test")},
})
if err != nil {
panic(err.Error())
}
fmt.Println(resp.OutputText())
}Go에서 OpenAI API를 사용하는 방법을 자세히 알아보려면 아래 GitHub 레포지토리를 확인하세요.
라이브러리의 GitHub README에서 SDK의 다양한 기능과 옵션을 살펴보세요.
Ruby에서 OpenAI API를 호출할 때는 공식 Ruby용 OpenAI SDK를 사용할 수 있습니다. 먼저 애플리케이션에 gem을 추가하세요.
gem "openai"OpenAI SDK를 설치한 후 example.rb 파일을 만들고 아래 예제 코드를 복사해 붙여 넣으세요.
require "openai"
openai = OpenAI::Client.new
response = openai.responses.create(
model: "gpt-6-astra",
input: "Write a one-sentence bedtime story about a unicorn."
)
puts(response.output_text)ruby example.rb 명령어로 코드를 실행하세요. 잠시 후 API 요청 결과가 출력됩니다.
라이브러리의 GitHub README에서 SDK의 다른 기능과 옵션을 확인하세요.
터미널에서 OpenAI API를 직접 호출하려면 자동 생성된 openai 명령줄 도구를 설치하세요.
brew install openai/tools/openai설치가 끝나면 셸에서 기본 API 요청을 보내세요.
openai responses create \
--model "gpt-6-astra" \
--input "Write a one-sentence bedtime story about a unicorn." \
--raw-output \
--transform 'output.#(type=="message").content.0.text'터미널에서 반복적으로 실행할 워크플로우에 CLI를 사용하세요. 예를 들어 파일에서 구조화된 데이터를 추출하거나, 이미지나 음성을 생성하거나, jq 같은 셸 도구를 사용해 API 호출을 조합할 수 있습니다.
CLI 워크플로우와 명령어 사용 패턴을 자세히 알아보세요.
Agents SDK 사용하기
API에 직접 요청을 보내려면 위에서 소개한 OpenAI 공식 SDK를 사용하세요. 애플리케이션에서 에이전트, 도구, 핸드오프, 가드레일, 트레이싱 또는 샌드박스 실행을 코드로 오케스트레이션해야 한다면 Agents SDK를 사용하세요.
API를 직접 호출할지 코드 기반 오케스트레이션을 사용할지 결정하려면 Responses API와 Agents SDK 비교를 참고하세요.
Agents SDK로 첫 에이전트를 만들어 보세요.
Azure OpenAI 라이브러리
Microsoft의 Azure 팀은 OpenAI API와 Azure OpenAI 서비스 모두와 호환되는 라이브러리를 관리합니다. 각 라이브러리를 OpenAI API와 함께 사용하는 방법은 아래 문서를 참고하세요.
- .NET용 Azure OpenAI 클라이언트 라이브러리
- JavaScript용 Azure OpenAI 클라이언트 라이브러리
- Java용 Azure OpenAI 클라이언트 라이브러리
- Go용 Azure OpenAI 클라이언트 라이브러리
커뮤니티 라이브러리
아래 라이브러리는 개발자 커뮤니티에서 만들고 관리합니다. GitHub에서 OpenAI의 OpenAPI 명세 리포지터리에 알림을 설정하면 API 변경 사항도 제때 확인할 수 있습니다.
OpenAI는 이러한 프로젝트의 정확성이나 보안을 검증하지 않습니다. 사용에 따른 위험은 사용자가 부담합니다!
Clojure
- openai-clojure · 개발자 wkok
Dart/Flutter
Delphi
- DelphiOpenAI · 개발자 HemulGM
Elixir
Kotlin
- openai-kotlin · 개발자 Mouaad Aallam
PHP
- orhanerday/open-ai · 개발자 orhanerday
- openai-php 클라이언트 · 개발자 openai-php
Rust
- async-openai · 개발자 64bit
Scala
Swift
- AIProxySwift · 개발자 Lou Zell
- OpenAIKit · 개발자 dylanshine
- OpenAI · 개발자 MacPaw
Unity
Unreal Engine
- OpenAI-Api-Unreal · 개발자 KellanM
기타 OpenAI 리포지터리
- tiktoken - 토큰 수 계산
- simple-evals - 간단한 평가 라이브러리
- mle-bench - 머신러닝 엔지니어 역할을 수행하는 에이전트를 평가하는 라이브러리
- gym - 강화학습 라이브러리
- swarm - 오케스트레이션 교육용 리포지터리