SDK 接入
OpenAI SDK
在 Python 服务端程序中调用 OpenAI 兼容接口。
先在统一配置引导中选择模型和协议,再选择或创建匹配密钥。引导会提供可复制配置和填写说明。
安装
python -m pip install openai使用官方 SDK,并将请求地址设置为 Toodoo AI 的 OpenAI 兼容入口。OpenAI 官方 SDK 文档
准备环境变量
按 快速开始 在终端设置 TODOOAI_API_KEY 和 TODOOAI_MODEL,然后从同一个终端启动 Python 程序。
发送 Chat Completions 请求
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["TODOOAI_API_KEY"],
base_url="https://toodooai.com/v1",
timeout=60.0,
max_retries=0,
)
response = client.chat.completions.create(
model=os.environ["TODOOAI_MODEL"],
messages=[{"role": "user", "content": "请用一句话介绍你自己。"}],
)
print(response.choices[0].message.content)示例关闭自动重试,方便确认单次请求结果。生产程序可对可恢复错误设置有限重试,避免对不确定是否已执行的请求无条件重发。
使用其他接口
目标模型和渠道支持 Responses 时,可使用 SDK 的 client.responses.create。不要因 SDK 提供某接口,就假定当前模型或渠道支持它。
密钥只在服务端读取;浏览器前端应调用你自己的后端接口。
用模型列表做启动检查
部署服务前,建议在同一运行环境中先请求 GET /v1/models,确认 TODOOAI_API_KEY、网络出口和分组权限都正常。然后将返回的完整模型 ID 写入 TODOOAI_MODEL,不要在代码中猜测或硬编码已经下线的模型。
models = client.models.list()
print([item.id for item in models.data])错误处理建议
- 401/403:检查服务端环境变量、密钥状态、分组、模型限制和 IP 白名单。
- 400:检查消息结构、模型 ID、上下文长度及不被模型支持的参数。
- 429:遵循响应中的
Retry-After,使用有限退避,不要无限重试。 - 500/502/503/504:记录请求时间和状态,结合日志功能判断是否已经到达平台。
示例将 max_retries=0 用于验证单次结果;生产服务只对确定可恢复的错误做有限重试。超时不一定代表服务端没有执行,重试前先考虑重复计费和幂等性。