SDK
OpenAI Python
使用官方 Python SDK 连接 UOUODUO Gateway。
安装
pip install openai
export UOUODUO_API_KEY="sk-xxx..."客户端配置
from openai import OpenAI
client = OpenAI(
api_key=os.environ["UOUODUO_API_KEY"],
base_url="https://api.example.com/v1",
)如果你不想在代码里读取环境变量,也可以把 key 注入到部署平台的 secret manager。
Chat Completions
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["UOUODUO_API_KEY"],
base_url="https://api.example.com/v1",
)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "你是一个简洁的生产环境助手。"},
{"role": "user", "content": "写一句发布说明。"},
],
)
print(response.choices[0].message.content)流式输出
stream = client.chat.completions.create(
model="gpt-4o-mini",
stream=True,
messages=[{"role": "user", "content": "逐步解释 SSE。"}],
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)Embeddings
embedding = client.embeddings.create(
model="text-embedding-3-small",
input=["UOUODUO Gateway 文档", "向量检索样例"],
)
print(len(embedding.data[0].embedding))错误处理
from openai import APIError, AuthenticationError, RateLimitError
try:
client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "hello"}],
)
except AuthenticationError:
print("API key 无效,请在 /app/keys 重新创建。")
except RateLimitError:
print("触发限流或余额不足,请查看 /app/usage。")
except APIError as exc:
print(f"网关或上游异常: {exc}")token 与成本
同步响应里通常包含 `usage.prompt_tokens`、`usage.completion_tokens` 和 `usage.total_tokens`。最终账单和价格以 `/app/logs` 与 `/app/usage` 为准。