Hybrid search RAG: carian leksikal dan semantik
Oleh Ai Flowi · Diterbitkan
Hybrid search RAG menggabungkan perolehan semula leksikal, yang menggunakan perkataan dan istilah tepat, dengan perolehan semula semantik, yang menggunakan makna diwakili oleh pembenaman. Calon gabungan membekalkan bukti untuk penjanaan yang diperkaya dengan perolehan semula. Nilai pengecam tepat dan soalan yang diungkap semula secara berasingan untuk melihat sama ada kedua-dua jenis bukti kekal selepas pemilihan.
Bagi laluan semakan yang dicadangkan ini, komponen OpenSearch, Prompt Template dan Language Model AI Flowi Workflow didokumenkan dalam katalog; belum diuji dalam produksi oleh Ai Flowi. Penerangan OpenSearch menyebut carian hibrid, tetapi antara muka yang dieksport tidak membuktikan pembinaan pertanyaan, penggabungan isyarat atau konfigurasi indeks luaran. Panduan ini menyediakan reka bentuk ujian, bukan resipi carian hibrid terbina dalam yang disahkan.
Berkaitan: Cara chunking dokumen untuk RAG: uji sempadan bukti.
1. Bina korpus yang membezakan isyarat perolehan semula
Sediakan petikan sintetik dengan pengecam jelas, penerangan bahasa semula jadi dan rekod serupa yang tidak berkenaan. Gunakan kod peralatan rekaan dalam satu petikan dan soalan deskriptif tentang tujuannya dalam ujian lain. Paparkan versi dan pengecam petikan supaya anda boleh menyemak bukti yang dikembalikan daripada mempercayai kelancaran jawapan semata-mata.
| Ciri petikan | Gaya soalan | Jangkaan bukti |
|---|---|---|
| Kod peralatan tepat | Minta arahan untuk kod itu. | Kod yang berkenaan kekal boleh dikenal pasti dalam teks yang diperoleh semula. |
| Prosedur dalam bahasa mudah | Tanya tentang tugas yang sama menggunakan ungkapan berbeza. | Prosedur dapat ditemukan tanpa mengulang frasa tepat. |
| Kod serupa, item berbeza | Tanya tentang kod asal. | Pengecam yang hampir sama tidak digunakan sebagai pengganti secara senyap. |
| Peraturan dan syarat kelayakan | Tanya sama ada peraturan terpakai dalam kes tertentu. | Peraturan dan syarat kelayakan kedua-duanya tersedia untuk penjanaan jawapan. |
Ini kes yang dicadangkan, bukan hasil perolehan semula yang direkodkan. Labelkan petikan yang diperlukan sebelum sebarang percubaan. Carian kod memerlukan ketepatan pengecam; ungkapan semula memerlukan liputan konsep, maka nilai gabungannya berdasarkan kedua-dua keperluan itu. Jangan anggap kehadiran kedua-dua isyarat menghasilkan konteks lengkap atau betul.
2. Anggap konfigurasi carian luaran sebagai prasyarat
Anda memerlukan perkhidmatan OpenSearch yang anda dibenarkan membuat pertanyaan, indeks yang mengandungi korpus disediakan, kelayakan dengan skop operasi yang dimaksudkan dan sambungan pembenaman yang sesuai. Sebelum menjana jawapan, sediakan akaun penyedia dan kunci yang diperlukan menggunakan arahan sambungan Language Model; penyedia model dan perkhidmatan carian luaran mengenakan caj berasingan daripada pelaksanaan aliran kerja.
Minta pentadbir perkhidmatan carian mendokumenkan konfigurasi leksikal, semantik dan gabungan sebenar yang digunakan untuk perbandingan. Rujuk dokumentasi rasmi carian hibrid OpenSearch untuk persediaan luaran. Dokumentasi itu tidak disahkan dalam draf luar talian ini; halaman ini tidak membuat dakwaan khusus versi tentang pertanyaan, pemproses atau kelakuan enjin yang disokong.
Semak pustaka kes penggunaan untuk prasyarat aliran permulaan Hybrid Search RAG sebelum memilihnya sebagai titik mula. Jangan anggap aliran permulaan itu sebagai ujian masa jalan bagi reka bentuk OpenSearch di bawah. Prosedur ini menggunakan kontrak OpenSearch yang dieksport dan mengasingkan persediaan perkhidmatan daripada tetapan medan pembina.
3. Semak fungsi yang sebenarnya didedahkan komponen
Penerangan katalog OpenSearch menyebut keupayaan semantik dan kata kunci bersama-sama, yang menjadi asas perbandingan kod dengan ungkapan semula di sini. Input cariannya termasuk search_query, index_name, number_of_results, embedding dan filter_expression. Outputnya ialah search_results sebagai JSON, dataframe sebagai Table dan vectorstoreconnection sebagai VectorStore.
Eksport tidak mengandungi input yang dinamakan secara jelas sebagai mod hibrid, pemberat leksikal, peraturan penggabungan atau saluran penormalan. engine menyenaraikan pilihan, tetapi nama enjin tidak membuktikan cara hasil leksikal dan semantik digabungkan. Jangan mereka-reka suis hibrid atau memasukkan sintaks pertanyaan berstruktur yang tidak didokumenkan ke dalam search_query; medan itu menerima sambungan Message.
4. Konfigurasikan laluan semakan pada indeks yang disediakan
Semakan indeks yang disediakan: contoh konfigurasi, bukan ujian yang direkodkan
| Komponen | Input katalog untuk ditetapkan | Semakan sebelum meneruskan |
|---|---|---|
| OpenSearch | opensearch_url: perkhidmatan yang dibenarkan; index_name: indeks ujian disediakan; auth_mode: "basic" atau "jwt" mengikut konfigurasi; use_ssl: true; verify_certs: true. | Sahkan akses titik akhir dan sijil sah tanpa menerbitkan nilai kelayakan. |
| Tetapan carian OpenSearch | search_query: satu soalan berlabel; number_of_results: 5; embedding: sambungan Embeddings yang dikonfigurasi jika diperlukan; vector_field: medan yang disahkan pentadbir. | Lima ialah bilangan hasil permintaan contoh, bukan had penyedia atau tetapan hibrid terbina dalam. |
| Prompt Template | template: teks bukti yang disemak, soalan asal dan arahan mengasaskan jawapan pada sumber. | Masukkan bukti secara manual untuk semakan awal; pengikatan dinamik memerlukan pengesahan editor. |
| Language Model | input_value: Prompt Message; model: LanguageModel yang dikonfigurasi; system_message: jawab berdasarkan bukti yang dibekalkan sahaja. | Semak jawapan secara berasingan daripada percubaan perolehan semula. |
Biarkan ingest_data tidak ditetapkan semasa percubaan carian sahaja yang dicadangkan ini. Membiarkannya kosong mengelakkan permintaan pemasukan data yang disengajakan, tetapi tidak boleh mengehadkan kebenaran kelayakan. Kuatkuasakan hak itu dalam perkhidmatan luaran. Semak keperluan pengesahan dengan pentadbir, termasuk makna medan JWT, sebelum menggunakan data sebenar.
5. Bandingkan hasil leksikal, semantik dan gabungan yang diperhatikan
Gunakan versi korpus dan set soalan yang sama untuk semua konfigurasi carian. Dapatkan hasil yang dikenal pasti secara berasingan bagi perolehan semula leksikal sahaja, semantik sahaja dan gabungan daripada persekitaran ujian luaran. Jika pembina tidak boleh memilih mod itu melalui konfigurasi disahkan, catat had tersebut daripada melabelkan semula tiga panggilan serupa sebagai eksperimen berbeza.
Bagi setiap soalan, simpan pengecam petikan yang dikembalikan, susunan dan penapis berkenaan. Semak ralat kod tepat, kegagalan ungkapan semula dan petikan syarat kelayakan yang tiada. Catat konfigurasi perkhidmatan sebenar bersama setiap pemerhatian. Sahkan pelaksanaan gabungan melalui konfigurasi perkhidmatannya; ungkapan komponen mahupun senarai yang dikembalikan tidak membuktikan pemberatan isyarat.
Asingkan kebenaran perkhidmatan luaran daripada eksperimen isyarat; panduan pangkalan pengetahuan menerangkan cara menyediakan garis dasar perolehan semula yang lebih mudah.
Kekalkan set sumber yang layak apabila membandingkan pelaksanaan leksikal, semantik dan gabungan. Jika tidak, petikan yang baru dibenarkan mungkin menjelaskan peningkatan perolehan semula yang kelihatan. Simpan rekod konfigurasi yang disahkan pentadbir serta korpus layak bagi setiap pelaksanaan; medan filter_expression yang dieksport tidak menyediakan tatabahasanya atau membuktikan penapis yang benar-benar dilaksanakan.
6. Semak bukti sebelum mendraf jawapan
Ikuti semakan batas pemformatan dalam chatbot pangkalan pengetahuan dan rujukan Prompt Template apabila menyediakan bukti yang diperoleh semula untuk penjanaan.
Perbandingan khusus hibrid yang berguna memasangkan dua soalan tentang item sintetik yang sama: satu menyebut kod peralatan tepat dan satu lagi menerangkan tujuannya tanpa kod. Catat identiti sumber yang kekal bagi kedua-dua soalan di bawah setiap konfigurasi luaran. Jika soalan kod tepat memperoleh item yang hampir sama sedangkan ungkapan semula berjaya, purata gabungan akan menyembunyikan kecacatan pengecam. Kekalkan pasangan itu bersama dalam semakan, dan semak bukti gabungan sebelum membenarkan ungkapan model mengaburkan penggantian.
Jawapan yang dijangka mempunyai dakwaan yang dikaitkan dengan petikan sumber dikembalikan dan jurang jelas apabila bukti tiada. Ia mesti mengekalkan pengecam diminta dengan tepat. Gunakan penilaian RAG untuk liputan petikan dan pengasasan pada sumber. Jika susunan calon ialah isu yang tinggal, semak pemeringkatan semula RAG; pemeringkatan semula ialah peringkat pemilihan kemudian, bukan bukti bahawa perolehan semula hibrid dikonfigurasi.
7. Bilakah carian hibrid tidak diperlukan?
Jangan tambah infrastruktur carian luaran apabila laluan perolehan semula yang lebih mudah sudah memenuhi set soalan. Perolehan semula hibrid tidak membaiki dokumen sumber yang tiada, pengecam kabur atau teks yang tidak disediakan dengan betul. Panduan perolehan semula pangkalan pengetahuan menyediakan titik mula lebih kecil apabila skop yang didokumenkan sesuai dengan korpus anda.
Cadangan ini tidak membuktikan penyediaan indeks terhos, kawalan mod terbina dalam, keserasian enjin, tatabahasa pertanyaan atau pemulihan kegagalan automatik. Eksport juga tiada perbandingan kependaman atau kualiti yang diukur. Sahkan konfigurasi luaran dan semak outputnya sebelum menerangkan sebarang pelaksanaan pembina sebagai carian hibrid. Kekalkan penjanaan terputus apabila perolehan semula gagal daripada mendraf jawapan berdasarkan muatan ralat.
Andaian penggunaan carian hibrid
Pelan: Go dari USD8/bulan dengan bil tahunan (USD10 bulanan), Plus dari USD16 (USD20 bulanan), Pro 100 dari USD80 (USD100 bulanan), Pro 200 dari USD160 (USD200 bulanan) dan Pro 500 dari USD400 (USD500 bulanan), dengan 5,000 hingga 250,000 Flowi Tokens sebulan dan pilihan tambah nilai; 1 token bagi setiap pelaksanaan nod; penggunaan API dan model pihak ketiga tidak termasuk.
Sediakan bajet berasingan bagi pengindeksan luaran, pembenaman, perbandingan perolehan semula dan penjanaan model. Bilangan hasil yang diminta tidak menerangkan cara perkhidmatan carian mengenakan caj kerjanya.