如何接入 OpenAI 兼容、Anthropic 与 Azure OpenAI 模型 API
正确配置模型 API 的基础 URL、协议、版本前缀、模型名和上游密钥,并通过直连测试、健康检查和最小权限降低接入错误。
Fasten Share 可以把本地或在线模型 API 发布为生产者节点,但“都使用 JSON 和 HTTP”不代表它们具有相同协议。OpenAI Chat Completions、OpenAI Responses、Anthropic Messages 和 Azure OpenAI 的路径、鉴权头、模型字段与版本参数各不相同。
稳定接入的关键是先确认真实后端协议,再分别配置基础 URL、版本前缀、模型和密钥,而不是反复试错直到健康检查偶然通过。
接入前收集五项信息
从后端服务的官方说明或管理页面确认:
- 基础 URL:通常是协议和域名,例如
https://api.example.com; - 协议类型:OpenAI Chat Completions、Responses、Anthropic 或 Azure OpenAI;
- 版本路径或 API 版本:例如
/v1,或 Azure 使用的api-version; - 真实模型 ID:必须是后端接受的模型名,而不是控制台展示昵称;
- 访问凭证:为共享用途创建的最小权限 API Key。
如果接口来自第三方兼容服务,还应确认它允许代理、转发或向其他用户提供调用。技术兼容不代表授权共享。
先做直连测试
OpenAI Chat Completions 风格
curl https://api.example.com/v1/chat/completions \
-H "Authorization: Bearer UPSTREAM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model":"your-model-id",
"messages":[{"role":"user","content":"reply with OK"}],
"stream":false
}'
OpenAI Responses 风格
curl https://api.example.com/v1/responses \
-H "Authorization: Bearer UPSTREAM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"your-model-id","input":"reply with OK"}'
Anthropic Messages 风格
curl https://api.example.com/v1/messages \
-H "x-api-key: UPSTREAM_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model":"your-model-id",
"max_tokens":32,
"messages":[{"role":"user","content":"reply with OK"}]
}'
示例中的域名、版本和模型只是结构说明,必须替换为后端实际值。Azure OpenAI 还需要部署名称和 API 版本,应直接使用 Azure 部署提供的参数进行测试。
基础 URL 与版本前缀如何拆分
Fasten Share 会把基础 URL、版本前缀和消费者请求路径组合起来。最常见的错误是在基础 URL 中已经写了 /v1,又在版本前缀字段填写 /v1,最终请求落到 /v1/v1/...。
推荐采用下面的分工:
| 配置 | 推荐值 |
|---|---|
| 基础 URL | https://api.example.com |
| 版本前缀 | /v1 |
| 消费者请求路径 | /chat/completions、/responses 或 /messages |
如果第三方接口本身部署在额外子路径,例如 https://api.example.com/ai-gateway,该子路径是否属于基础 URL 要以客户端最终预览和直连请求为准。不要凭经验删除服务商要求的路径。
在生产者表单中选择协议
- 后端实现 OpenAI Chat Completions 时,选择对应的 OpenAI 协议;
- 后端原生实现 Responses API 时,选择
openai-response; - 后端是 Anthropic Messages 时,选择 Anthropic;
- Azure OpenAI 部署使用专用协议,并填写部署与 API 版本信息;
- 若客户端提供从 Chat Completions 到 Responses 的转换,只在明确理解限制时启用。
协议转换不等于完整复刻上游能力。例如从 Chat Completions 转换到 Responses 时,有状态会话、托管工具、后台任务、Responses WebSocket 以及某些工具能力可能不受支持。消费者需要的功能超出转换范围时,应选择原生协议节点。
密钥、模型和并发设置
上游 API Key 会保存在生产者设备并由客户端本机注入。建议为共享创建独立密钥,限制权限和预算,避免复用管理员密钥。消费者拿到的是 Fasten Share 消费者 API Key,不会得到上游密钥。
模型列表必须使用真实模型 ID。健康检查通常会选择配置中的模型进行探测,因此第一个模型应稳定可用。最大并发应低于上游账号限流和自建服务承载能力;遇到 429、排队过长或超时,先降低并发再排查。
健康检查失败的定位顺序
- 用相同 URL、协议、模型和密钥执行直连请求;
- 检查基础 URL 与版本前缀是否重复;
- 检查协议是否匹配真实请求格式;
- 检查模型 ID、Azure 部署名和 API 版本;
- 检查密钥前后空格、权限、余额和上游限流;
- 检查代理、DNS、证书和生产者设备的网络访问;
- 最后再查看 Fasten Share 客户端与服务端连接状态。
先找到第一个失败环节,比同时修改多个字段更容易得到可复现结果。
上线前安全检查
- 使用官方或可信的 HTTPS 上游地址;
- 不把上游密钥写入截图、教程、日志或 Git 仓库;
- 为共享创建独立、最小权限、可随时撤销的密钥;
- 确认上游允许相应的转发和商业使用;
- 设置上游额度告警和 Fasten Share 保守并发;
- 用消费者角色完成一次端到端测试;
- 定期检查模型名称、接口版本和上游条款是否变化。
如果你的模型后端来自 CLIProxyAPI,并希望服务 Codex 或 Claude 场景,请继续阅读 CLIProxyAPI 接入 Fasten Share。本地 Ollama 用户则可查看共享 Ollama 与本地大模型。