Skip to content

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)
}

社区库 ​

以下库由更广泛的开发者社区构建和维护。您也可以关注我们在 GitHub 上的 OpenAPI 规范仓库,以便及时获取我们对 API 进行更改的最新信息。

请注意,OpenAI 不会验证这些项目的正确性或安全性。使用时请自行承担风险!

C#/.NET ​

C++ ​

Clojure ​

Crystal ​

Dart/Flutter ​

Delphi ​

Elixir ​

Go ​

Java ​

Julia ​

Kotlin ​

Node.js ​

PHP ​

Python ​

R ​

Ruby ​

Rust ​

Scala ​

Swift ​

Unity ​

Unreal Engine ​

Other OpenAI repositories ​