Skip to content
Cloudflare Docs
非官方翻译 - 此文档为非官方中文翻译版本,仅供参考。如有疑问请以 英文官方文档 为准。

OpenAI 兼容性

Cloudflare 的 AI 网关提供了一个与 OpenAI 兼容的 /chat/completions 端点,可以使用单一 URL 集成多个 AI 提供商。此功能简化了集成过程,允许在不同模型之间无缝切换,而无需进行重大代码修改。

端点 URL

https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/compat/chat/completions

{account_id}{gateway_id} 替换为您的 Cloudflare 账户和网关 ID。

参数

通过更改 modelapiKey 参数来切换提供商。

使用 {provider}/{model} 格式指定模型。例如:

  • openai/gpt-4o-mini
  • google-ai-studio/gemini-2.0-flash
  • anthropic/claude-3-haiku

示例

OpenAI SDK

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

Terminal window
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?"
}
]
}'

通用提供商

您还可以将此模式与通用端点结合使用,以在多个提供商之间添加回退。当与通用端点结合使用时,无论来自主模型还是回退模型,每个请求都将返回相同的标准化格式。这种行为意味着您不必在应用中添加额外的解析逻辑。

index.ts
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 兼容的端点支持以下提供商的模型: