指南
openai
Sdk Setup

OpenAI SDK 设置

设置您的开发环境,以便使用首选语言的 SDK 调用 OpenAI API。

  • 完整接口清单与参数:以 API 开发文档 为准
  • 常见报错排查:见 常见错误以及解决办法

1. 创建并导出 API 密钥

开始之前,请通过 令牌说明 创建一个 API 密钥。将密钥存储在安全位置,然后在终端中将其导出为环境变量。

macOS / Linux

export OPENAI_API_KEY="your_api_key_here"

Windows

set OPENAI_API_KEY=your_api_key_here

OpenAI SDK 会自动从系统环境中读取您的 API 密钥。建议使用环境变量,避免在代码中直接硬编码密钥。


2. 安装官方 SDK

JavaScript

npm install openai

创建 example.mjs

import OpenAI from "openai";
 
const client = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
  baseURL: "https://api.floxai.io/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

Python

pip install openai

创建 example.py

from openai import OpenAI
import os
 
client = OpenAI(
    base_url="https://api.uniapi.io/v1",
    api_key=os.getenv("OPENAI_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

.NET

dotnet add package OpenAI
using OpenAI.Chat;
 
ChatClient client = new(
    model: "gpt-4.1",
    apiKey: Environment.GetEnvironmentVariable("OPENAI_API_KEY"),
    baseUrl: "https://api.uniapi.io/v1"
);
 
ChatCompletion completion = client.CompleteChat("Say 'this is a test.'");
 
Console.WriteLine($"[ASSISTANT]: {completion.Content[0].Text}");

Java

Maven 依赖:

<dependency>
    <groupId>com.openai</groupId>
    <artifactId>openai-java</artifactId>
    <version>0.31.0</version>
</dependency>
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.*;
 
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

import "github.com/openai/openai-go"
package main
 
import (
    "context"
    "github.com/openai/openai-go"
    "github.com/openai/openai-go/option"
)
 
func main() {
    client := openai.NewClient(
        option.WithAPIKey("My API Key"),
        option.WithBaseURL("https://api.uniapi.io/v1"),
    )
 
    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)
}

3. 社区库

以下库由社区维护,OpenAI 不验证其正确性或安全性,使用时请自行评估。

语言作者
C#/.NETBetalgo.OpenAIBetalgo
C#/.NETOpenAI-API-dotnetOkGoDoIt
C#/.NETOpenAI-DotNetRageAgainstThePixel
C++liboaiD7EAD
Clojureopenai-clojurewkok
Crystalopenai.crsferik
Dart/Flutteropenaianasfik
DelphiDelphiOpenAIHemulGM
Elixiropenai.exmgallo
Gogo-gpt3sashabaranov
Javasimple-openaiSashir Estela
JavaSpring AI
JuliaOpenAI.jlrory-linehan
Kotlinopenai-kotlinMouaad Aallam
Node.jsopenai-apiNjerschow
PHPorhanerday/open-aiorhanerday
PHPopenai-phpopenai-php
PythonchronologyOthersideAI
Rrgpt3ben-aaron188
Rubyruby-openaialexrudall
Rustasync-openai64bit
Scalaopenai-scala-clientcequence-io
SwiftOpenAIMacPaw
Unitycom.openai.unityRageAgainstThePixel
Unreal EngineOpenAI-Api-UnrealKellanM

4. 其他 OpenAI 仓库

  • tiktoken — 计数令牌
  • simple-evals — 简单评估库
  • mle-bench — 评估机器学习工程师代理的库
  • gym — 强化学习环境
  • swarm — 教育编排仓库