Gadget 37:Workers AI 活用法

サーバーレス GPU 推論 Workers AI の使いどころ・料金・Embedding と Vectorize の結合

Workers AI 活用法

Cloudflare のサーバーレス AI 推論「Workers AI」を、実用的に使い倒す方法です。

目的

  • どのモデルを・どう呼ぶかを把握する
  • テキスト生成だけでなく、Embedding → Vectorize の RAG 構成を作る

前提条件

  • Workers 基礎(35-workers-basics
  • Cloudflare アカウント(Workers AI は無料分あり)
  • 公式: https://developers.cloudflare.com/workers-ai/
WarningCFOS での注意

Cloudflare OS の pnpm run-local--use-workers-ai-binding を使う場合のみ wrangler login(アカウント)が必要です。通常起動は不要です(00)。

手順

1. バインドを追加

[ai]
binding = "AI"

2. テキスト生成を呼ぶ

async fetch(request, env) {
  const res = await env.AI.run("@cf/meta/llama-3-8b-instruct", {
    prompt: "Cloudflare Workers の利点を 3 つだけ簡潔に。",
  });
  return new Response(JSON.stringify(res));
}

利用できるモデル:

モデル 用途
@cf/meta/llama-3-8b-instruct テキスト生成
@cf/baai/bge-large-en-v1.5 Embedding(ベクトル化)
@cf/black-forest-labs/flux-1-schnell 画像生成

3. Embedding → Vectorize で検索(RAG の骨格)

  1. ドキュメントを Embedding モデルでベクトル化
  2. Vectorize に保存(43
  3. 質問もベクトル化し類似検索 → 結果をプロンプトに埋め込む
const embeddings = await env.AI.run("@cf/baai/bge-large-en-v1.5", {
  text: "検索したい内容",
});
const matches = await env.VECTORIZE.query(embeddings.data[0], { topK: 5 });

よくある失敗

症状 原因 対処
画像/テキストモデルが不明 モデル名の把握漏れ ダッシュボードのモデル一覧を確認
無料分を超えて課金 使用量確認不足 25 の月次チェックへ
embedding 形状が合わない モデルと vector 次元の不一致 Vectorize 宣言の次元をモデルに合わせる
run-local で AI が動かない binding 未指定 --use-workers-ai-binding と login を確認

確認

次に読む