Skip to main content

第07章:Workers AIでembeddingを作ってVectorizeへ保存しよう 🧩

Vectorizeへ入れるベクトルは、Workers AIで作れます。
ここでは、学習メモをembeddingにして保存する流れを見ます。


1. 文章からembeddingを作る 🤖

Embedding Generation

Workers AIのembeddingモデルを使います。

const embedding = await env.AI.run("@cf/baai/bge-base-en-v1.5", {
text: ["Cloudflare Workersを学ぶメモ"],
});

モデル名や入力形式は、Workers AIのModel Catalogで確認します。


2. Vectorizeへinsertする 📥

Inserting into Vectorize

Vectorizeへ保存する例です。

await env.VECTORIZE.insert([
{
id: noteId,
values: embedding.data[0],
metadata: {
title: "Workers学習メモ",
source: "study-note",
},
},
]);

id は後でD1やR2の元データとつなぐために使います。


3. metadataを考える 🏷️

Metadata Structure

metadataには、検索後に使う情報を入れます。

  • title
  • source
  • r2Key
  • userId
  • createdAt
  • visibility

ただし、長文本文やsecretを入れすぎないようにします。


4. D1ともつなげる 🗄️

Linking Vectorize and D1

本文や詳しい情報はD1へ置きます。

D1: noteId, title, body
Vectorize: noteId, embedding, metadata

検索でnoteIdを取り、D1から本文を読む構成です。


5. 章末チェック ✅

Chapter Summary

  • Workers AIでembeddingを作れる
  • Vectorizeへinsertできる
  • vector idで元データとつなげると分かる
  • metadataに入れる情報を選べる
  • 本文はD1やR2へ置く設計が分かる

この章で覚える一言はこれです。
embeddingはVectorizeへ、本文はD1やR2へ置いてIDでつなげます 🧩