ネイティブ SDK
OpenAI SDK
公式のOpenAI SDKおよびOpenAI互換クライアントでTokenLabを使用する
概要
TokenLabはクライアントのbase URLをhttps://api.tokenlab.sh/v1にポイントすることで公式のOpenAI SDKと連携します。
ほとんどの新規プロジェクトでは、デフォルトのOpenAI互換パスとしてChat Completionsを使用することを推奨します。Responses APIは、Responses固有の動作が明確に必要な場合にのみ使用してください。
Responses固有のフィールドは、すべてのモデルやルーティング経路で同一に動作することは保証されません。
Python、JavaScript、Goには公式のOpenAI SDKがあります。PHPはOpenAI互換のコミュニティ製クライアントと相性が良いですが、公式のOpenAI SDKではありません。
タイプ: ネイティブSDK
主要経路: OpenAI互換 / Chat Completions
サポート状況: コア経路としてサポートされています
インストール
pip install openaiPOST /v1/responsesはResponses固有の動作が明確に必要な場合にのみ使用してください。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
この経路は、ツールやワークフローが明確にOpenAI 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でのVision
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)埋め込み
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)