Cloudflare 的 AI 网关提供了一个与 OpenAI 兼容的 /chat/completions
端点,可以使用单一 URL 集成多个 AI 提供商。此功能简化了集成过程,允许在不同模型之间无缝切换,而无需进行重大代码修改。
https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/compat/chat/completions
将 {account_id}
和 {gateway_id}
替换为您的 Cloudflare 账户和网关 ID。
通过更改 model
和 apiKey
参数来切换提供商。
使用 {provider}/{model}
格式指定模型。例如:
openai/gpt-4o-mini
google-ai-studio/gemini-2.0-flash
anthropic/claude-3-haiku
import OpenAI from "openai";const client = new OpenAI({ apiKey: "YOUR_PROVIDER_API_KEY", // 提供商 API 密钥 // 注意:OpenAI 客户端会自动在 URL 末尾添加 /chat/completions,您不应该自己添加。 baseURL: "https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/compat",});
const response = await client.chat.completions.create({ model: "google-ai-studio/gemini-2.0-flash", messages: [{ role: "user", content: "What is Cloudflare?" }],});
console.log(response.choices[0].message.content);
curl -X POST https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/compat/chat/completions \ --header 'Authorization: Bearer {openai_token}' \ --header 'Content-Type: application/json' \ --data '{ "model": "google-ai-studio/gemini-2.0-flash", "messages": [ { "role": "user", "content": "What is Cloudflare?" } ] }'
您还可以将此模式与通用端点结合使用,以在多个提供商之间添加回退。当与通用端点结合使用时,无论来自主模型还是回退模型,每个请求都将返回相同的标准化格式。这种行为意味着您不必在应用中添加额外的解析逻辑。
export interface Env { AI: Ai;}
export default { async fetch(request: Request, env: Env) { return env.AI.gateway("default").run({ provider: "compat", endpoint: "chat/completions", headers: { authorization: "Bearer ", }, query: { model: "google-ai-studio/gemini-2.0-flash", messages: [ { role: "user", content: "What is Cloudflare?", }, ], }, }); },};
与 OpenAI 兼容的端点支持以下提供商的模型:
- @2025 Cloudflare Ubitools
- Cf Repo