本頁介紹使用 OpenAI API 開發的主要方式:使用官方 SDK 撰寫應用程式碼、使用 OpenAI CLI 建立 Shell 原生工作流程、使用 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 openai安裝 OpenAI 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 請求的輸出結果。
查看此程式庫在 GitHub 上的 README,瞭解 SDK 的更多能力與選項。
若要在 Python 中使用 OpenAI API,可以使用官方的 Python 版 OpenAI SDK。首先,使用 pip 安裝 SDK:
pip install openai安裝 OpenAI 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 發送簡單 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 輔助工具,目前仍為 Beta 版。你可以使用下列組態加入 Maven 相依套件:
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
<version>4.58.0</version>
</dependency>以下是向 Responses API 發送簡單 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 能力和選項。
OpenAI 提供 Go 程式語言的 API 輔助程式,目前處於 Beta 測試階段。你可以使用以下程式碼匯入此函式庫:
import (
"github.com/openai/openai-go/v3" // imported as openai
)向 Responses API 發送的第一個 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,可以使用官方的 OpenAI SDK for Ruby。首先,將此 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接著,從 Shell 執行基本的 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 等 Shell 工具組合 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 上關注我們的 OpenAPI 規格程式碼庫,以便在我們變更 API 時即時收到更新通知。
請注意,OpenAI 不會驗證這些專案的正確性或安全性。 使用風險請自行承擔!
Clojure
- openai-clojure,作者為 wkok
Dart/Flutter
Delphi
- DelphiOpenAI,作者為 HemulGM
Elixir
Kotlin
PHP
Rust
- async-openai,由 64bit 開發
Scala
Swift
- AIProxySwift,由 Lou Zell 開發
- OpenAIKit,由 dylanshine 開發
- OpenAI,由 MacPaw 開發
Unity
Unreal Engine
- OpenAI-Api-Unreal,由 KellanM 開發
其他 OpenAI 程式碼庫
- tiktoken - 計算 Token 數量
- simple-evals - 簡易評估函式庫
- mle-bench - 用於評估機器學習工程師智慧體的函式庫
- gym - 強化學習函式庫
- swarm - 用於教學的編排程式碼庫