Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

OpenAI 互換 API エンドポイント

最終更新 Markdown で表示Agent セットアップ

Workers AI は、Chat Completions(/v1/chat/completions)による テキスト生成 と、テキスト埋め込みモデル/v1/embeddings)向けに OpenAI 互換エンドポイントを提供します。Responses API(/v1/responses)は GPT-OSS モデルでのみ利用できます。標準 OpenAI SDK の baseURL を差し替えるだけで、Workers AI を呼び出せます。


使い方

Chat Completions と embeddings

ほとんどの Workers AI テキスト生成モデルは、OpenAI Chat Completions API に対応しています。Embedding モデルは OpenAI Embeddings API に対応しています。

Workers AI のベース URL、API トークン、モデル名を設定し、OpenAI JavaScript SDK を使います。

OpenAI SDK examplejs
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: "Make some robot noises" }],
	model: "@cf/meta/llama-3.1-8b-instruct",
});

const embeddings = await openai.embeddings.create({
	model: "@cf/baai/bge-large-en-v1.5",
	input: "I love matcha",
});
cURL examplebash
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"
        }
      ]
    }
'

容量がないときはすぐに失敗させる

同期の Chat Completions では、リクエスト本体のトップレベルに options.rejectIfBusy を設定します。容量キューで待たせず、リクエストを失敗させます。

カスタムフィールドを保持する OpenAI クライアントは、このオプションを送れます。未知のフィールドを削除するクライアントでは適用されないため、リクエストは通常どおり進みます。

例とエラーの動作は、ビジーリクエストの拒否 を参照してください。

GPT-OSS 向け Responses API

Responses API に対応しているのは、@cf/openai/gpt-oss-120b@cf/openai/gpt-oss-20b モデルのみです。Responses リクエストは非ストリーミングである必要があり、stream: false のみ対応します。

GPT-OSS Responses API examplejs
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 response = await openai.responses.create({
	model: "@cf/openai/gpt-oss-120b",
	input: "Talk to me about open source",
});

AI Gateway

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

役に立ちましたか?