从 OpenAI API 迁移

继续使用 OpenAI SDK,只需修改 Base URL 和密钥,即可通过 /v1/chat/completions 调用 ai.ml 上的所有模型,流式输出和工具调用保持不变。

迁移前

from openai import OpenAI
client = OpenAI(api_key="sk-…")
client.chat.completions.create(model="gpt-5-mini", messages=msgs, stream=True)

迁移后

from openai import OpenAI
client = OpenAI(base_url="https://api.ai.ml/v1", api_key="aiml-live-…")
client.chat.completions.create(model="openai/gpt-5-mini", messages=msgs, stream=True)

请求头

OpenAIai.ml
Authorization: Bearer sk-…Authorization: Bearer aiml-live-…
OpenAI-Organization不需要(密钥归属于组织和项目)
x-aiml-route(可选)为单个请求覆盖路由策略
x-aiml-idempotency-key(可选)可安全重放的重试

哪些变了,哪些没变

  • 模型 ID 带有厂商前缀:openai/gpt-5-mini、anthropic/claude-sonnet-4.5、deepseek/deepseek-v3.2。不带前缀的 OpenAI 名称仍解析到 OpenAI。
  • 响应包含一个 aiml 块,列出费用明细、处理该请求的端点以及能力警告(例如因供应商不支持而被丢弃的参数)。
  • 结构化输出、工具、视觉和提示词缓存在供应商支持时可用;模型页面列出了每个端点的能力。
  • 预算相关响应头:402 时返回 x-aiml-required-micro,429 时返回 x-aiml-limit,供应商无容量时返回 retry-after。