Workers AI 支持用于文本生成(/v1/chat/completions)和文本嵌入模型(/v1/embeddings)的 OpenAI 兼容端点。这使你可以使用与 OpenAI 命令相同的代码,并轻松替换为 Workers AI。
通常,Workers AI 要求你在 cURL 端点或 env.AI.run 函数中指定模型名称。
使用 OpenAI 兼容端点后,你可以利用 openai-node sdk ↗ 调用 Workers AI。只需更改 base URL 和模型名称,即可使用 Workers AI。
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: env.CLOUDFLARE_API_KEY,
baseURL: `https://api.cloudflare.com/client/v4/accounts/${env.CLOUDFLARE_ACCOUNT_ID}/ai/v1`,
});
// Use chat completions
const chatCompletion = await openai.chat.completions.create({
messages: [{ role: "user", content: "Make some robot noises" }],
model: "@cf/meta/llama-3.1-8b-instruct",
});
// Use responses
const response = await openai.responses.create({
model: "@cf/openai/gpt-oss-120b",
input: "Talk to me about open source",
});
const embeddings = await openai.embeddings.create({
model: "@cf/baai/bge-large-en-v1.5",
input: "I love matcha",
});curl --request POST \
--url https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/v1/chat/completions \
--header "Authorization: Bearer {api_token}" \
--header "Content-Type: application/json" \
--data '
{
"model": "@cf/meta/llama-3.1-8b-instruct",
"messages": [
{
"role": "user",
"content": "how to build a wooden spoon in 3 short steps? give as short as answer as possible"
}
]
}
'这些端点也兼容 AI Gateway。