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 では cURL エンドポイントまたは env.AI.run 関数内でモデル名を指定する必要があります。
OpenAI 互換エンドポイントを使用すると、openai-node sdk ↗ を活用して Workers AI に呼び出しを行うことができます。これにより、ベース 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` });
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 --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 とも互換性があります。