OpenAI SDK 设置
概述
设置您的开发环境,以便使用您首选语言的 SDK 调用 OpenAI API。本页介绍如何设置本地开发环境以使用 OpenAI API。您可以使用官方支持的 SDK、社区库,或您自己喜欢的 HTTP 客户端。
创建并导出 API 密钥
开始之前,请通过令牌说明创建一个 API 密钥,用于安全访问 API。将密钥存储在安全位置,例如 .zshrc 文件或您电脑上的其他文本文件。生成 API 密钥后,在终端中将其导出为环境变量。
export OPENAI_API_KEY="your_api_key_here"setx OPENAI_API_KEY "your_api_key_here"$env:OPENAI_API_KEY="your_api_key_here"说明:OpenAI SDK 会自动从系统环境中读取您的 API 密钥。您也可以在代码中直接设置 API 密钥,但这并不安全,尤其是在共享代码时。建议使用环境变量来保护您的密钥。
安装官方 SDK
JavaScript
要在服务器端的 JavaScript 环境中使用 OpenAI API(如 Node.js、Deno 或 Bun),可以使用官方的 TypeScript 和 JavaScript OpenAI SDK。
安装 SDK
使用您偏好的包管理器安装 OpenAI SDK。以下是使用 npm的示例命令:
npm install openai安装 OpenAI SDK 后,创建一个名为 example.mjs 的文件,并将示例代码复制到其中:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
baseURL: "https://api.agentsflare.com/v1",
});
const response = await client.responses.create({
model: "gpt-4.1",
input: "Write a one-sentence bedtime story about a unicorn.",
});
console.log(response.output_text);使用 node example.mjs(或 Deno 或 Bun 的等效命令)执行,几秒钟后可看到 API 请求的输出结果。
Python
要在 Python 中使用 OpenAI API,可使用官方的 OpenAI Python SDK。
pip install openai创建示例文件example.py,并将示例代码复制到其中:
from openai import OpenAI
import os
base_url = "https://api.agentsflare.com/v1",
api_key = os.getenv("OPENAI_API_KEY")
client = OpenAI(base_url=base_url, api_key=api_key)
response = client.chat.completions.create(
model="gpt-4.1",
messages=[
{
"role": "user",
"content": "Write a one-sentence bedtime story about a unicorn."
}
]
)
print(response.choices[0].message.content)执行 python example.py,几秒钟后可看到 API 请求的输出结果。
.NET
要在 .NET 中使用 OpenAI API,可使用官方的 OpenAI .NET SDK。
dotnet add package OpenAI示例代码(聊天补全 API 请求):
using OpenAI;
using OpenAI.Chat;
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var client = new OpenAIClient(new OpenAIClientOptions
{
ApiKey = Environment.GetEnvironmentVariable("OPENAI_API_KEY"),
BaseUrl = new Uri("https://api.agentsflare.com/v1"),
});
var response = await client.ChatCompletions.CreateAsync(new ChatCompletionRequest
{
Model = "gpt-4.1",
Messages = new[]
{
new ChatMessage(ChatMessageRole.User, "Write a one-sentence bedtime story about a unicorn.")
}
});
Console.WriteLine(response.Choices[0].Message.Content);
}
}执行 dotnet run,几秒钟后可看到 API 请求的输出结果。
Java
要在 Java 中使用 OpenAI API,可使用官方的 OpenAI Java SDK。
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
<version>1.0.0</version>
</dependency>示例代码(聊天补全 API 请求):
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.ChatCompletion;
import com.openai.models.ChatCompletionCreateParams;
import com.openai.models.ChatModel;
OpenAIClient client = OpenAIOkHttpClient.fromEnv();
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
.addUserMessage("Say this is a test")
.model(ChatModel.O3_MINI)
.build();
ChatCompletion chatCompletion = client.chat().completions().create(params);
System.out.println(chatCompletion.getChoices().get(0).getMessage().getContent());执行 java -jar example.jar,几秒钟后可看到 API 请求的输出结果。
Go
要在 Go 中使用 OpenAI API,可使用官方的 OpenAI Go SDK。
go get github.com/openai/openai-go示例代码(聊天补全 API 请求):
package main
import (
"context"
"fmt"
"log"
"os"
openai "github.com/openai/openai-go"
)
func main() {
client := openai.NewClient(os.Getenv("OPENAI_API_KEY"))
resp, err := client.ChatCompletions.Create(context.Background(), openai.ChatCompletionCreateParams{
Model: openai.F("gpt-4.1"),
Messages: []openai.ChatCompletionMessageParamUnion{
openai.ChatCompletionUserMessageParam{
Role: openai.F(openai.ChatMessageRoleUser),
Content: openai.F("Write a one-sentence bedtime story about a unicorn."),
},
},
})
if err != nil {
log.Fatalf("ChatCompletions.Create error: %v", err)
}
fmt.Println(resp.Choices[0].Message.Content)
}执行 go run example.go,几秒钟后可看到 API 请求的输出结果。
其他 OpenAI 仓库
- tiktoken - 计数令牌(https://github.com/openai/tiktoken)
- simple-evals - 简单评估库(https://github.com/openai/simple-evals)
- mle-bench - 评估机器学习工程师代理的库(https://github.com/openai/mle-bench)
- gym - 强化学习环境(https://github.com/openai/gym)
- swarm - 教育编排仓库(https://github.com/openai/swarm)