Memilih Toko Vektor: Empat Pertanyaan yang Menentukannya
Tabel benchmark yang dipublikasikan membandingkan recall pada dataset publik, yang tidak sama dengan dataset Anda, filter Anda, atau distribusi kueri Anda. Empat pertanyaan operasional menentukannya sebaliknya.
Mengapa Tabel Benchmark Menyesatkan
Hampir setiap perbandingan yang Anda temukan mengukur recall dan kueri per detik pada dataset publik tanpa filter metadata. Aplikasi Anda memiliki corpus tertentu, filter selektif pada sebagian besar kueri, dan anggaran latency yang mencakup jaringan dan reranking. Dalam kondisi tersebut, peringkat pada tabel benchmark sering kali terbalik.
Ini bukanlah argumen melawan pengukuran. Ini adalah argumen untuk mengukur hal yang sebenarnya akan Anda jalankan.
Pertanyaan satu: seberapa besar corpus, diukur?
Hitung potongan, bukan dokumen, dan kalikan dengan dimensi dan presisi untuk mendapatkan perkiraan jejak memori. Jika hasilnya muat dengan nyaman dalam memori mesin yang sudah Anda jalankan, opsi single-node akan lebih sederhana dan lebih murah daripada apa pun yang terdistribusi. Tim mengadopsi toko terdistribusi tahun-tahun sebelum mereka membutuhkannya, dan membayarnya dengan permukaan operasional bukan dengan uang.
Pertanyaan dua: apakah sebagian besar kueri membawa filter?
Ini adalah pertanyaan yang memisahkan toko-toko. Jika setiap kueri dibatasi oleh penyewa, izin, atau ketua, Anda memerlukan filtering dalam indeks daripada setelah pencarian, dan Anda harus menguji dengan selektivitas filter nyata Anda. Toko yang terlihat cepat pada pencarian tanpa filter dapat hancur ketika sembilan puluh sembilan persen kandidat dikecualikan.
Pertanyaan tiga: siapa yang mengoperasikannya?
Jujur tentang on-call. Jika tidak ada yang ingin menjalankan sistem terdistribusi, layanan yang dikelola atau ekstensi ke database yang sudah Anda operasikan adalah jawaban yang benar terlepas dari apa yang memenangkan perbandingan throughput. Toko termurah adalah toko yang tim Anda tidak bangun untuk.
Pertanyaan empat: apa biaya keluar?
Sebelum Anda berkomitmen, ketahui bagaimana Anda akan meninggalkan. Apakah Anda dapat mengekspor vektor dan membangun kembali di tempat lain? Apakah bahasa kueri portable, atau apakah SDK memiliki kode Anda? Toko yang murah untuk memasuki dan mahal untuk meninggalkan adalah kewajiban yang muncul pada saat yang tepat — ketika Anda memiliki lalu lintas dan tidak memiliki kekuatan tawar.
Bagaimana Cara Menjalankan Tes
Ambil dua ratus kueri nyata dengan filter izin nyata mereka. Muat corpus aktual Anda ke dalam dua kandidat toko. Ukur latency ujung-ke-ujung dari aplikasi Anda, recall pada k yang akan Anda gunakan, dan langkah operasional untuk menambahkan satu juta vektor. Satu sore dari ini mengalahkan tabel terbitan apa pun.
Yang bisa Anda lakukan sekarang
- Benchmark publik mengabaikan filter Anda dan anggaran latensi Anda, dan sering kali terbalik dalam kondisi nyata
- Ukurlah ukuran korpus dalam chunk dan memori, bukan dokumen
- Jika sebagian besar kueri difilter, ujilah filtering di dalam indeks dengan selektivitas nyata Anda
- Kenali biaya keluar sebelum Anda berkomitmen — ekspor, portabilitas, dan siapa yang memiliki bahasa kueri
Playbook RAG di Production
Strategi chunking, setup reranking, evaluation harness, dan tujuh mode kegagalan yang membunuh setiap demo RAG di minggu ketiga.