Appearance
OpenAI SDK 设置
设置您的开发环境,以便使用您首选语言的 SDK 调用 OpenAI API。
本页介绍如何设置本地开发环境以使用 OpenAI API。您可以使用官方支持的 SDK、社区库,或您自己喜欢的 HTTP 客户端。
创建并导出 API 密钥
开始之前,请通过令牌说明创建一个 API 密钥,用于安全访问 API。将密钥存储在安全位置,例如 .zshrc
文件或您电脑上的其他文本文件。生成 API 密钥后,在终端中将其导出为环境变量。
bash
export OPENAI_API_KEY="your_api_key_here"
bash
setx OPENAI_API_KEY "your_api_key_here"
OpenAI SDK 会自动从系统环境中读取您的 API 密钥。
当然,您也可以在代码中直接设置 API 密钥,但这并不安全,尤其是在共享代码时。建议使用环境变量来保护您的密钥。
安装官方 SDK
JavaScript
要在服务器端的 JavaScript 环境中使用 OpenAI API,如 Node.js、Deno 或 Bun,可以使用官方的 TypeScript 和 JavaScript OpenAI SDK。通过 npm 或你喜欢的包管理器安装 SDK 开始使用:
bash
npm install openai
安装 OpenAI SDK 后,创建一个名为 example.mjs
的文件,并将示例代码复制到其中:
js
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
baseURL: "https://api.uniapi.io/v1", // 如果使用 UniAPI,请确保设置正确的 baseURL
});
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 安装该 SDK:
bash
pip install openai
安装 OpenAI SDK 后,创建一个名为 example.py
的文件,并将示例代码复制到其中:
python
from openai import OpenAI
import os
base_url = "https://api.uniapi.io/v1" # 如果使用 UniAPI,请确保设置正确的 baseURL
api_key = os.getenv("OPENAI_API_KEY") # 从环境变量中获取 API 密钥
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
OpenAI 与微软合作,提供了官方支持的 C# API 客户端。您可以通过.NET CLI 从 NuGet 安装它。
bash
dotnet add package OpenAI
一个简单的聊天补全 API 请求看起来像这样:
csharp
using OpenAI.Chat;
ChatClient client = new(
model: "gpt-4.1",
apiKey: Environment.GetEnvironmentVariable("OPENAI_API_KEY"),
baseUrl: "https://api.uniapi.io/v1" // 如果使用 UniAPI,请确保设置正确的 baseURL
);
ChatCompletion completion = client.CompleteChat("Say 'this is a test.'");
Console.WriteLine($"[ASSISTANT]: {completion.Content[0].Text}");
Java
OpenAI 提供了一个针对 Java 编程语言的 API 辅助工具,目前处于测试阶段。您可以使用以下配置来包含 Maven 依赖:
xml
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
<version>0.31.0</version>
</dependency>
一个简单的聊天补全 API 请求看起来像这样:
java
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;
// Configures using the `OPENAI_API_KEY`, `OPENAI_ORG_ID` and `OPENAI_PROJECT_ID`
// environment variables
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);
Go
OpenAI 提供了一个针对 Go 编程语言的 API 辅助工具,目前处于测试阶段。您可以使用以下代码导入该库:
go
import (
"github.com/openai/openai-go" // imported as openai
)
一个简单的聊天补全 API 请求看起来像这样:
go
package main
import (
"context"
"fmt"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
option.WithAPIKey("My API Key"), // defaults to os.LookupEnv("OPENAI_API_KEY")
option.WithBaseURL("https://api.uniapi.io/v1"), // 如果使用 UniAPI,请确保设置正确的 baseURL
)
chatCompletion, err := client.Chat.Completions.New(
context.TODO(), openai.ChatCompletionNewParams{
Messages: openai.F(
[]openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Say this is a test"),
}
),
Model: openai.F(openai.ChatModelGPT4o),
}
)
if err != nil {
panic(err.Error())
}
println(chatCompletion.Choices[0].Message.Content)
}
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 不会验证这些项目的正确性或安全性。使用时请自行承担风险!
C#/.NET
C++
Clojure
- openai-clojure 由 wkok 提供
Crystal
Dart/Flutter
Delphi
- DelphiOpenAI 由 HemulGM 提供
Elixir
Go
- go-gpt3 由 sashabaranov 提供
Java
Julia
- OpenAI.jl 由 rory-linehan 提供
Kotlin
Node.js
- openai-api 由 Njerschow 提供
- openai-api-node 由 erlapso 提供
- gpt-x 由 ceifa 提供
- gpt3 由 poteat 提供
- gpts 由 thencc 提供
- @dalenguyen/openai 由 dalenguyen 提供
- tectalic/openai 由 tectalic 提供
PHP
- orhanerday/open-ai 由 orhanerday 提供
- tectalic/openai 由 tectalic 提供
- openai-php 由 openai-php 提供
Python
- chronology 由 OthersideAI 提供
R
- rgpt3 由 ben-aaron188 提供
Ruby
- openai 由 nileshtrivedi 提供
- ruby-openai 由 alexrudall 提供
Rust
- async-openai 由 64bit 提供
- fieri 由 lbkolev 提供
Scala
Swift
- AIProxySwift 由 Lou Zell 提供
- OpenAIKit 由 dylanshine 提供
- OpenAI 由 MacPaw 提供
Unity
Unreal Engine
- OpenAI-Api-Unreal 由 KellanM 提供
Other OpenAI repositories
- tiktoken - 计数令牌
- simple-evals - 简单评估库
- mle-bench - 评估机器学习工程师代理的库
- gym - 强化学习环境
- swarm - 教育编排仓库