Vectorize
Apa itu ini
Bayangkan memberi setiap foto, kalimat, atau lagu satu set koordinat, sehingga hal-hal yang mirip berada berdekatan di sebuah peta — lalu "carikan yang mirip dengan ini" cukup berarti "cari titik-titik terdekat." Vectorize adalah basis data vektor milik Cloudflare, sebuah penyimpanan yang dibuat justru untuk itu. Anda menyimpan embedding — daftar angka yang menangkap makna dari teks, gambar, atau data lain — lalu meminta yang paling mirip dengan satu daftar angka tertentu. Ini adalah bagian retrieval (pencarian) dari semantic search dan RAG (Retrieval-Augmented Generation — memberi AI fakta relevan yang bisa ia kutip). Vectorize terhubung langsung ke sebuah Worker bersama Workers AI, yang bisa menghasilkan embedding tersebut.
Kelebihan
- Dirancang khusus untuk pencarian kemiripan (similarity search) atas embedding, dengan kueri nearest-neighbor (tetangga terdekat) yang cepat.
- Terhubung langsung ke Workers; tidak perlu menjalankan layanan vektor terpisah.
- Cocok dipasangkan dengan Workers AI untuk pipeline RAG menyeluruh di Cloudflare.
- Mendukung penyaringan (filtering) berdasarkan metadata sehingga Anda bisa membatasi cakupan hasil.
- dan tersedia secara global, skalanya mengikuti aplikasi Anda.
Trade-off (kompromi)
- Vectorize menyimpan vektor dan metadata, bukan dokumen sumber Anda — simpan dokumen itu di D1 (basis data ) atau R2 (penyimpanan berkas).
- Anda harus membuat embedding sendiri (misalnya lewat Workers AI) sebelum memasukkannya.
- Dimensi indeks dan metrik jarak (distance metric) ditetapkan tetap saat pembuatan — pilih dengan cermat.
- Ini adalah penyimpanan khusus, bukan basis data serba guna.
Kapan menggunakannya
Gunakan Vectorize untuk pencarian semantik (semantic search), rekomendasi, deduplikasi, dan tahap retrieval dari RAG — kapan pun "carikan hal-hal yang paling mirip dengan ini" lebih unggul dibanding pencocokan kata kunci yang persis.
Kecocokan dengan vibe coding
Vectorize memungkinkan sebuah membangun fitur RAG yang lengkap tanpa meninggalkan Cloudflare: Workers AI membuat embedding-nya, Vectorize menyimpan dan mencarinya, dan D1 atau R2 menyimpan dokumen aslinya. Beri tahu agent model embedding yang dipakai sejak awal, karena dimensi indeks harus cocok dengan output model tersebut. Contoh berikut membuat sebuah indeks dan menghubungkannya (bind).
# wrangler.toml
[[vectorize]]
binding = "VECTORIZE"
index_name = "docs-index"
# Dimensions must match your embedding model's output
npx wrangler vectorize create docs-index --dimensions=768 --metric=cosine