本页介绍使用 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,您可以使用官方的 OpenAI SDK for TypeScript and JavaScript。首先,使用 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 辅助库,目前处于测试阶段。您可以使用以下配置添加 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 辅助库,目前处于测试阶段。您可以使用以下代码导入该库:
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
使用上述 OpenAI 官方 SDK 可直接发送 API 请求。如果您的应用需要以代码为核心,编排智能体、工具、任务交接、护栏、追踪或沙盒执行,请使用 Agents SDK。
如果您正在直接发送 API 请求与以代码为核心的编排之间做选择, 请参阅 Responses API 与 Agents SDK 的比较。
使用 Agents SDK 构建您的第一个智能体。
Azure OpenAI 库
微软的 Azure 团队维护着同时兼容 OpenAI API 和 Azure OpenAI 服务的库。请阅读下方的库文档,了解如何使用这些库调用 OpenAI API。
- 适用于 .NET 的 Azure OpenAI 客户端库
- 适用于 JavaScript 的 Azure OpenAI 客户端库
- 适用于 Java 的 Azure OpenAI 客户端库
- 适用于 Go 的 Azure OpenAI 客户端库
社区库
以下库由广大开发者社区成员构建和维护。您也可以在 GitHub 上关注我们的 OpenAPI 规范代码仓库,以便在我们更改 API 时及时获取更新。
请注意,OpenAI 不验证这些项目的正确性或安全性。 使用时请自行承担风险!
Clojure
Dart/Flutter
Delphi
Elixir
Kotlin
PHP
Rust
Scala
Swift
- AIProxySwift,作者:Lou Zell
- OpenAIKit,作者:dylanshine
- OpenAI,作者:MacPaw
Unity
Unreal Engine
其他 OpenAI 代码仓库
- tiktoken:Token 计数
- simple-evals:简单的评估库
- mle-bench:用于评估机器学习工程师智能体的库
- gym:强化学习库
- swarm:用于教学的编排代码仓库