Pencarian dengan Jev dan Milvus
Pencarian vektor menemukan informasi yang terkait dengan suatu kueri. Membangun aplikasi pencarian yang berguna juga melibatkan pengambilan keputusan: bagian mana yang benar-benar menjawab pertanyaan, apakah jawaban sebelumnya dapat digunakan kembali, dan apakah agen memiliki bukti yang cukup untuk menghentikan pencarian.
Milvus dan Jev menangani bagian-bagian berbeda dari alur kerja ini. Milvus menyimpan embedding dan mengambil catatan kandidat, dengan filter metadata untuk batasan seperti versi produk atau cakupan basis pengetahuan. Jev mengevaluasi makna teks yang diambil berdasarkan instruksi. Aplikasi Anda dapat menggunakan penilaiannya untuk memilih bukti atau mengontrol langkah pencarian berikutnya.
Apa yang dilakukan Jev?
Sebuah permintaan Jev menyediakan konteks dan satu atau lebih pertanyaan penilaian. Keluaran bertipe Jev mencakup pilihan di antara opsi tetap, skor berurutan, dan probabilitas ya/tidak. Keluaran ini memungkinkan kode aplikasi mengambil keputusan tanpa perlu mengurai penjelasan bebas bentuk. Model generasi tetap dapat menulis jawaban atau kueri pencarian lanjutan jika diperlukan.
Misalnya, seorang pengguna bertanya bagaimana cara menginstal Atlas v2. Milvus dapat membatasi pencarian pada dokumentasi v2 dan mengembalikan bagian-bagian serupa tentang instalasi, pembaruan, dan pemecahan masalah. Jev kemudian mengevaluasi bagian mana yang menjelaskan pengaturan awal. Aplikasi tersebut meneruskan bukti yang dipilih ke model pembuat jawaban.
Tanggung jawabnya jelas:
- Mencari dengan Milvus: menemukan kandidat dalam batasan metadata yang diperlukan.
- Menilai dengan Jev: mengevaluasi kandidat-kandidat tersebut berdasarkan pertanyaan dan kriteria khusus tugas.
- Bertindak dalam kode aplikasi: menyusun ulang hasil, menyaring konteks, menggunakan kembali jawaban, atau melanjutkan pencarian.
Beberapa keputusan diambil sebelum pencarian. Jev dapat memilih cakupan pencarian atau menilai dokumen yang masuk sebelum dimasukkan ke dalam koleksi. Kontrol akses dan filter yang tepat tetap menjadi tanggung jawab aplikasi.
Jelajahi skenario pencarian
Koleksi " Pencarian dengan Jev " berisi sembilan tutorial yang dapat dijalankan. Masing-masing menggunakan dataset sintetis kecil dan menampilkan catatan yang diambil, penilaian, serta tindakan yang dihasilkan.
Pilih bukti yang lebih baik
- Urutkan ulang hasil pencarian: atur ulang urutan dokumentasi dan memori agen pengkodean. Memori tentang kesalahan port laptop mungkin mirip dengan masalah koneksi kontainer; memori yang lebih berguna mencatat perbaikan kontainer-host yang sebenarnya.
- Saring konteks yang diambil: bedakan petunjuk instalasi awal dari bagian pembaruan dan pemecahan masalah setelah Milvus menerapkan filter versi.
- Urutkan ulang hubungan grafik: jawab pertanyaan tentang tempat kelahiran penulis buku dengan memilih jembatan buku-ke-penulis dan hubungan penulis-ke-tempat kelahiran, lalu pertahankan peringkat tersebut saat mengambil bagian sumber.
Mengontrol pencarian dan penggunaan kembali jawaban
- Tentukan kapan harus menghentikan pencarian: model generasi mengusulkan pencarian berdasarkan bukti yang terkumpul, sementara Jev menilai apakah pertanyaan asli dapat dijawab. Contoh-contoh mencakup jawaban langsung, pertanyaan dua langkah, dan fakta yang tidak tersedia yang mencapai batas pencarian tanpa jawaban.
- Rute permintaan pencarian: pilih pencarian dokumentasi, penagihan, atau memori, lalu terapkan filter Milvus yang sesuai. Permintaan di luar cakupan akan mengambil jalur terpisah.
- Validasi penggunaan kembali cache semantik: ambil permintaan serupa yang tersimpan dalam cache, lalu periksa apakah jawabannya juga memenuhi persyaratan tugas, bahasa, dan konteks permintaan baru.
Tingkatkan dan periksa alur pengetahuan
- Kurasi dokumen sebelum pengindeksan: bedakan panduan operasional substantif dari materi promosi atau yang tidak lengkap, dengan tindakan pengindeksan, peninjauan, dan pengecualian terpisah.
- Saring bagian teks yang diambil: identifikasi teks yang mencoba mengalihkan asisten, sambil tetap mempertahankan saran keamanan biasa. Ini adalah langkah penyaringan tambahan, bukan jaminan keamanan.
- Evaluasi bukti pencarian: nilai relevansi bagian teks, apakah bukti sudah cukup, dan apakah jawaban tersebut membuat klaim yang tidak didukung. Contoh-contoh ini sengaja menghilangkan bukti atau menambahkan pernyataan yang tidak didukung untuk memperjelas perbedaannya.
Antarmuka penataan ulang yang siap pakai
Milvus Model menyediakan antarmuka pemeringkatan ulang ( JevRerankFunction) di sisi aplikasi: masukkan kueri dan teks dokumen kandidat, lalu terima hasil yang telah diberi skor beserta indeks aslinya, yang diurutkan berdasarkan relevansi. Gunakan indeks tersebut untuk menyusun ulang catatan yang dikembalikan oleh Milvus.
Integrasi Jev telah digabungkan. Lihat implementasi dan opsi konstruktor untuk API saat ini. Fitur ini menerima TYPESAFE_API_KEY dan secara default menggunakan jev-latest. Gunakan versi paket yang mencakup integrasi ini.
Wrapper saat ini menggunakan prompt relevansi berbasis klaim dan bukti. Pastikan kriteria ini sesuai dengan tugas Anda. Untuk penilaian khusus seperti kompatibilitas memori, penghentian, atau perutean, ikuti tutorial yang tertaut dengan menggunakan API TypeSafe secara langsung. Tutorial tersebut mendemonstrasikan panggilan API langsung dari kode aplikasi Python.
Cobalah dengan Milvus
Buka tutorial reranking di Colab untuk memulai dengan pengambilan kandidat dan pemeringkatan. Untuk pengaturan lokal dan daftar tutorial lengkap, lihat berkas README koleksiini.
Contoh-contoh ini menggunakan kunci API Gemini untuk embedding dan kunci API TypeSafe untuk Jev. Tutorial agentic-search juga menggunakan Gemini untuk pembangkitan kueri dan jawaban. Teks sampel dikirim ke penyedia API ini, dan panggilan API mungkin menghabiskan kredit.
Tutorial ini berjalan dengan Milvus Lite secara default dan menyertakan opsi koneksi ke server Milvus atau Zilliz Cloud. Pembagian tugas yang sama berlaku di seluruh implementasi: Milvus mengambil kandidat, dan aplikasi mengirimkan teks yang relevan ke Jev untuk penilaian.
Gunakan contoh-contoh ini sebagai titik awal untuk menentukan kriteria dan ambang batas Anda sendiri. Skor relevansi tidak menjamin bahwa jawaban tersebut benar, dan kumpulan data pembelajaran kecil ini tidak menjamin akurasi atau kecepatan dalam penggunaan produksi.
Jelajahi implementasi dan hasil evaluasi
Proyek-proyek open-source berikut menerapkan ide-ide ini ke alur kerja pencarian yang lebih besar. Laporan yang tertaut menjelaskan dataset, perbandingan, dan batasan masing-masing eksperimen.
| Proyek | Kasus penggunaan pencarian | Karya Jev |
|---|---|---|
| MemSearch | Memori Markdown yang persisten untuk agen pengkodean | Implementasi Jev · Evaluasi |
| Grafik Vektor RAG | Pencarian vektor dan graf untuk pertanyaan multi-hop | Implementasi Jev · Evaluasi |
| DeepSearcher | Pencarian berulang atas pengetahuan pribadi | Pelaksana eksperimen · Evaluasi penghentian pencarian (eksperimen mandiri) |
| GPTCache | Penggunaan kembali jawaban untuk permintaan yang kompatibel | Implementasi Jev · Evaluasi |
Kontribusi DeepSearcher adalah eksperimen penghentian pencarian mandiri. Tautan implementasi lainnya menunjukkan integrasi Jev yang spesifik untuk tugas tertentu. Hasil dari proyek-proyek ini sebaiknya dibaca dalam konteks evaluasi masing-masing, bukan dianggap sebagai tolok ukur bersama.