原生 SDK

OpenAI SDK

将 TokenLab 与官方 OpenAI SDK 以及兼容 OpenAI 的客户端一起使用

概览

把 OpenAI SDK Base URL 设为 https://api.tokenlab.sh/v1,并使用 TokenLab API 密钥即可。现有应用已经使用哪种 API 方法就继续沿用,同时通过 accepted_request_formats 确认所选模型支持。

Python、JavaScript 和 Go 有官方的 OpenAI SDK。PHP 与兼容 OpenAI 的社区客户端配合良好,但它并不是官方 OpenAI SDK。

安装

pip install openai

需要 Responses API 的输入项、工具或续接能力时,使用 POST /v1/responses。可选字段是否可用取决于所选模型。

配置客户端

from openai import OpenAI

client = OpenAI(
    api_key="sk-your-tokenlab-key",
    base_url="https://api.tokenlab.sh/v1",
)

推荐:Chat Completions

response = client.chat.completions.create(
    model="gpt-5.6-terra",
    messages=[{"role": "user", "content": "Reply with: Connected to TokenLab."}]
)

print(response.choices[0].message.content)

高级:Responses API

只有客户端和所选模型都需要 Responses 时,才使用这项配置。

使用 Responses 的流式传输

stream = client.responses.create(
    model="gpt-5.6-terra",
    input="Write a short poem about coding.",
    stream=True,
)

for event in stream:
    if event.type == "response.output_text.delta":
        print(event.delta, end="")

工具 / 函数调用

response = client.responses.create(
    model="gpt-5.6-terra",
    input="What's the weather in Tokyo?",
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "Get weather for a location",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {"type": "string"}
            },
            "required": ["location"]
        }
    }]
)

for item in response.output:
    if item.type == "function_call":
        print(item.name)
        print(item.arguments)

使用 Responses 的视觉功能

response = client.responses.create(
    model="gpt-5.6-terra",
    input=[{
        "role": "user",
        "content": [
            {"type": "input_text", "text": "What's in this image?"},
            {"type": "input_image", "image_url": "https://example.com/image.jpg"}
        ]
    }]
)

print(response.output_text)

Embeddings(嵌入)

response = client.embeddings.create(
    model="text-embedding-3-small",
    input="Hello world"
)

print(response.data[0].embedding[:5])

Chat Completions

Chat Completions 是 TokenLab 的默认 OpenAI 兼容路径:

response = client.chat.completions.create(
    model="gpt-5.6-terra",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ]
)

print(response.choices[0].message.content)

故障排查

本页内容