【第7回 | Cloudflare入門】CloudflareのAI機能とは?Workers AI・AI Gateway・Vectorizeをわかりやすく解説

目次
前回は、Webサイトの公開に使うPages、データベースのD1、ファイル保存のR2を紹介しました。
Cloudflareには、こうしたWebアプリケーション開発の機能に加えて、AIを使ったサービスを作るための機能も用意されています。
今回は、代表的な「Workers AI」「AI Gateway」「Vectorize」の役割と、組み合わせることで何ができるのかを紹介します。
CloudflareのAI機能で何ができる?
例えば、次のような機能をWebアプリケーションに追加できます。
- ユーザーの質問に答えるチャット
- 長い文章の要約
- 商品や記事を意味の近さで探す検索
- 自社の資料を参考に回答するアシスタント
今回紹介する3つのサービスは、それぞれ担当する役割が異なります。
サービス | 主な役割 |
|---|---|
Workers AI | AIモデルを実行する |
AI Gateway | AIへのリクエストを監視・制御する |
Vectorize | ベクトルを保存し、似ている情報を検索する |
「AIを動かす」「利用状況を管理する」「関連情報を探す」と分けると、全体像をつかみやすくなります。
Workers AIとは?
Workers AIは、Cloudflareが用意したAIモデルを、自分のアプリケーションから利用できるサービスです。
自分でGPUサーバーを用意して管理する必要がなく、Cloudflareのネットワーク上で動くAIモデルを呼び出せます。
Workersからの利用に加えて、外部のアプリケーションからAPI経由で利用することもできます。
どんなことに使える?
選ぶモデルによって、文章生成、画像生成、音声認識、文章のベクトル化などに利用できます。
例えば文章生成モデルに「次の文章を3行で要約してください」と指示すれば、文章を要約する機能を作れます。
ただし、1つのモデルですべての処理ができるわけではありません。 作りたい機能に合ったモデルを選ぶ必要があります。
WorkersとWorkers AIの違い
名前は似ていますが、役割は別です。
サービス | 担当する処理の例 |
|---|---|
Workers | 質問を受け取る、データを取得する、AIを呼び出す |
Workers AI | 指示と入力内容に応じて、文章などを生成する |
例えば要約アプリでは、Workersがユーザーの文章を受け取り、Workers AIに要約を依頼します。その結果をWorkersが画面に返します。
Workersがアプリ全体の処理をつなぎ、Workers AIがAIの処理を担当するイメージです。
AI Gatewayとは?
AI Gatewayは、アプリケーションとAIサービスの間に入り、AIへのリクエストを監視・制御するサービスです。
Workers AIだけでなく、OpenAIやAnthropicなどの外部AIサービスへのアクセスにも利用できます。
なぜ必要になる?
AI機能を公開すると、回答を生成する処理に加えて、運用上の確認も必要になります。
例えば、「どれくらい使われているか」「エラーが発生していないか」「リクエストが集中していないか」といった確認です。
AI Gatewayには、こうした運用を支える機能があります。
機能 | できること |
|---|---|
分析・ログ | 利用状況やリクエストの記録を確認する |
キャッシュ | 条件に合う過去の応答を再利用する |
レート制限 | 一定期間のリクエスト数を制限する |
リトライ・フォールバック | 失敗時に再試行したり、別のモデルなどへ切り替えたりする |
例えば、同じリクエストに保存済みの応答を返せれば、AIモデルを毎回呼び出さずに済み、待ち時間やコストの削減につながります。
ただし、最新情報やユーザー固有の情報を扱う場合は、応答を再利用してよいかを考えて設定します。
AI Gatewayは、AI機能を継続して運用するための管理役と考えるとわかりやすいでしょう。
Vectorizeとは?
Vectorizeは、情報を数値の並びで表した「ベクトル」を保存し、似ているものを探せるデータベースです。
文章などをAIモデルで数値に変換する処理を「埋め込み(Embedding)」と呼びます。Vectorizeは、その結果を保存して検索する役割を担当します。
キーワードが違っても関連情報を探せる
例えば、お茶のECサイトに次の商品説明があるとします。
「ミルクと合わせても風味がしっかり感じられる抹茶です」
ユーザーが「ラテに向いているお茶」と検索したとき、単純な文字の一致だけでは、この説明を見つけにくい場合があります。
文章の意味を表すベクトルを使えば、言葉が完全に一致していなくても、意味が近い情報を探せます。 こうした検索を「セマンティック検索」と呼びます。
この例でも、必ず意図どおりの商品が見つかるとは限りませんが、言い換えに対応した検索を作る方法として利用できます。Vectorize公式ドキュメント
D1との違い
前回紹介したD1とVectorizeは、得意な検索が異なります。
サービス | 向いている検索の例 |
|---|---|
D1 | 商品IDが一致する商品、価格が2,000円以下の商品 |
Vectorize | 「ラテ向け」「すっきりした味」など、意味が近い商品 |
例えば、Vectorizeで候補の商品IDを探し、そのIDを使ってD1から価格や在庫を取得する構成にできます。
Vectorizeを利用するときは、保存する文章と検索文を、原則として同じ埋め込みモデルでベクトル化します。数値の比較に使う基準をそろえるためです。
組み合わせると、自社の情報を使ったAIチャットを作れる
ここまでの機能を組み合わせると、商品説明やFAQを参考にして回答するAIチャットを作れます。
例えば、お茶のECサイトで「この抹茶はラテに使えますか?」という質問に答える機能を考えてみましょう。

① 事前に商品情報を検索できる状態にする
まず、商品説明やFAQを用意します。
文章を適切な長さに分け、埋め込みモデルでベクトル化し、Vectorizeに保存します。あわせて、元の文章を取得できるようにIDなどで関連付けます。
元の文章や商品情報は、用途に応じてD1やR2などで管理する構成にできます。
② 質問に関連する情報を検索する
ユーザーから質問を受け取ったら、その質問もベクトル化します。
Vectorizeで似ている情報を検索し、該当する商品説明やFAQの本文を取得します。
③ 見つかった情報をAIに渡して回答を作る
最後に、ユーザーの質問と、取得した資料の内容を文章生成モデルに渡します。
例えば「以下の商品説明を参考に回答してください」と指示することで、資料に基づいた回答を生成させます。
このように、検索した情報をAIに渡して回答を作る仕組みを「RAG(検索拡張生成)」と呼びます。モデルを再学習させるのではなく、回答時に必要な情報を渡す方法です。
RAGを使っても、回答が必ず正しくなるわけではありません。資料に答えがないときは「わかりません」と返す設計や、参照元を表示する工夫も大切です。
Pages・Workers・D1・R2とはどうつながる?
前回までのサービスも含めると、例えば次のように役割を分担できます。
サービス | 商品案内AIチャットでの役割の例 |
|---|---|
Pages | チャット画面を公開する |
Workers | 質問の受付、検索、AIの呼び出しをつなぐ |
D1 | 商品名・価格・説明などを保存する |
R2 | 商品カタログなどのファイルを保存する |
Workers AI | 文章をベクトル化したり、回答を生成したりする |
Vectorize | 質問に関連する情報を検索する |
AI Gateway | AI呼び出しの利用状況を確認・制御する |
すべてのサービスを最初から使う必要はありません。
簡単な文章生成ならWorkersとWorkers AIから始め、商品情報を検索したくなったらVectorizeを、AI呼び出しを管理したくなったらAI Gatewayを加える、といった構成が考えられます。
まとめ
Cloudflareには、AI機能の開発と運用を支えるサービスが用意されています。
- Workers AI:AIモデルを実行する
- AI Gateway:AIへのリクエストを監視・制御する
- Vectorize:意味が近い情報を検索する
これらをWorkersやD1、R2などと組み合わせることで、文章生成に加えて、自社の商品情報や資料を活用するAIアプリケーションも構築できます。
まずは3つの役割を押さえて、自分の作りたい機能に必要なサービスを選んでみてください。
※ 本記事の内容は、執筆時点での情報に基づいています。最新の情報と異なる場合がございますので、あらかじめご了承ください。 また、記載されている内容は一般的な情報提供を目的としており、特定の状況に対する専門的なアドバイスではありません。 ご利用にあたっては、必要に応じて専門家にご相談ください。