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 の骨格)
- ドキュメントを Embedding モデルでベクトル化
- Vectorize に保存(43)
- 質問もベクトル化し類似検索 → 結果をプロンプトに埋め込む
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 を確認 |
確認
次に読む
- ベクトルDB → 43-vectorize-and-ai
- 費用管理 → 25-quotas-and-spend-control
- Workers 基礎 → 35-workers-basics