コンテンツにスキップ

OpenAI 互換 API エンドポイント

Workers AI supports OpenAI compatible endpoints for text generation (/v1/chat/completions) and text embedding models (/v1/embeddings). This allows you to use the same code as you would for your OpenAI commands, but swap in Workers AI easily.


使用法

Workers AI

通常、Workers AI では cURL エンドポイントまたは env.AI.run 関数内でモデル名を指定する必要があります。

OpenAI 互換エンドポイントを使用すると、openai-node sdk を活用して Workers AI に呼び出しを行うことができます。これにより、ベース URL とモデル名を変更するだけで Workers AI を使用できるようになります。

OpenAI SDK の例
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`
});
const chatCompletion = await openai.chat.completions.create({
messages: [{ role: "user", content: "ロボットの音を出して" }],
model: "@cf/meta/llama-3.1-8b-instruct",
});
const embeddings = await openai.embeddings.create({
model: "@cf/baai/bge-large-en-v1.5",
input: "抹茶が大好き"
});
cURL の例
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": "木のスプーンを3つの短いステップで作るには?できるだけ短く答えてください"
}
]
}
'

AI Gateway

これらのエンドポイントは、AI Gateway とも互換性があります。