LESSON 03 / 05
Vector Database 101
16 menit bacaRAG dari Nol
Database untuk arah makna
Vector database menyimpan embedding dan menjawab: "vektor mana yang paling dekat dengan query ini?" — pencarian approximate nearest neighbor (ANN) dalam skala jutaan.
Jarak yang dipakai
- Cosine similarity — sudut antar vektor; standar untuk teks (arah makna, abstraksi panjang).
- Dot product / L2 — tergantung normalisasi model embedding-mu; baca dokumentasinya.
Pilihan populer
| Tool | Karakter | |---|---| | pgvector | Postgres + ekstensi; tidak menambah infra baru | | Qdrant | Rust, cepat, filter metadata kaya | | Weaviate | Fitur hybrid bawaan | | FAISS | Library, bukan service; untuk riset/embedded |
Kalau kamu sudah pakai Supabase/Postgres — pgvector adalah default yang waras: satu database untuk data relasional dan vektor.
Hybrid search: kombinasi yang menang
Pencarian vektor lemah pada kode, nama produk, istilah eksak (nomor invoice, nama orang). Solusi: gabungkan BM25/keyword + vektor lalu merge ranking-nya (reciprocal rank fusion):
skor(d) = Σ 1 / (k + rank_i(d)) untuk tiap retriever i
Hybrid hampir selalu mengalahkan pure-vector pada korpus dokumen nyata. Gunakan sebagai default, bukan optimasi terakhir.