Memori dan carian hibrid dalam kain menggunakan llamaindex
Pengenalan
Talian Paip Generasi Tambahan (RAG) Meningkatkan bagaimana sistem AI berinteraksi dengan data tersuai, tetapi dua komponen kritikal yang akan kami fokuskan di sini: memori dan carian hibrid. Dalam artikel ini, kami akan meneroka bagaimana mengintegrasikan ciri-ciri yang kuat ini dapat mengubah sistem RAG anda dari alat soal jawab yang mudah ke dalam ejen perbualan yang cerdas dan cerdas.
Memori dalam RAG membolehkan sistem anda mengekalkan dan memanfaatkan sejarah perbualan, mewujudkan interaksi yang lebih koheren dan kontekstual yang relevan. Sementara itu, carian hibrid menggabungkan pemahaman semantik carian vektor dengan ketepatan pendekatan berasaskan kata kunci, dengan ketara meningkatkan ketepatan pengambilan saluran paip RAG anda.
Dalam artikel ini, kami akan menggunakan Llamaindex untuk melaksanakan kedua -dua memori dan carian hibrid menggunakan QDrant sebagai kedai vektor dan Gemini Google sebagai model bahasa besar kami.
Objektif pembelajaran
- Dapatkan pemahaman pelaksanaan tentang peranan memori dalam sistem RAG dan impaknya untuk menjana tindak balas yang tepat secara kontekstual.
- Belajar untuk mengintegrasikan Gemini LLM Google dan embeddings cepat QDrant dalam rangka Llamaindex, ini berguna kerana OpenAI adalah lalai LLM dan model embed yang digunakan dalam Llamaindex.
- Membangunkan pelaksanaan teknik carian hibrid menggunakan kedai vektor qdrant, menggabungkan vektor dan carian kata kunci untuk meningkatkan ketepatan pengambilan semula dalam aplikasi RAG.
- Terokai keupayaan QDrant sebagai kedai vektor, yang memberi tumpuan kepada fungsi carian hibrid terbina dalam dan ciri-ciri penyembuhan yang cepat.
Artikel ini diterbitkan sebagai sebahagian daripada Blogathon Sains Data.
Jadual Kandungan
- Carian Hibrid di QDrant
- Memori dan carian hibrid menggunakan llamaindex
- Langkah 1: Keperluan Pemasangan
- Langkah 2: Tentukan model LLM dan membenamkan
- Langkah 3: Memuatkan data anda
- Langkah 4: Menyediakan QDrant dengan Carian Hibrid
- Langkah 5: Mengindeks dokumen anda
- Langkah 6: Menanyakan enjin pertanyaan indeks
- Langkah 7: Tentukan Memori
- Langkah 8: Membuat enjin sembang dengan memori
- Langkah 9: Menguji Memori
- Soalan yang sering ditanya
Carian Hibrid di QDrant
Bayangkan anda sedang membina chatbot untuk tapak e-dagang yang besar. Seorang pengguna bertanya, "Tunjukkan kepada saya model iPhone terkini." Dengan carian vektor tradisional, anda mungkin mendapat hasil yang sama semantik, tetapi anda boleh terlepas perlawanan yang tepat. Carian kata kunci, sebaliknya, mungkin terlalu tegar. Carian hibrid memberi anda yang terbaik dari kedua -dua dunia:
- Carian vektor menangkap makna dan konteks semantik
- Carian kata kunci memastikan ketepatan untuk istilah tertentu
QDrant adalah pilihan kedai vektor kami untuk artikel ini, dan alasan yang baik:
- QDrant membuat pelaksanaan carian hibrid dengan mudah dengan hanya membolehkan parameter hibrid apabila ditakrifkan.
- Ia dilengkapi dengan model embedding yang dioptimumkan menggunakan Fastembed di mana model dimuatkan dalam format ONNX.
- Pelaksanaan QDrant mengutamakan melindungi maklumat sensitif, menawarkan pilihan penempatan serba boleh, meminimumkan masa tindak balas, dan mengurangkan perbelanjaan operasi.
Memori dan carian hibrid menggunakan llamaindex
Kami akan menyelam ke dalam pelaksanaan praktikal memori dan carian hibrid dalam rangka kerja Llamaindex, mempamerkan bagaimana ciri -ciri ini meningkatkan keupayaan pengambilan semula sistem Generasi Tambahan (RAG). Dengan mengintegrasikan komponen-komponen ini, kita boleh mencipta ejen perbualan yang lebih pintar dan konteks yang berkesan menggunakan kedua-dua data sejarah dan teknik carian lanjutan.
Langkah 1: Keperluan Pemasangan
Baiklah, mari kita pecahkan langkah demi langkah ini. Kami akan menggunakan llamaindex, kedai vektor qdrant, fastembed dari QDrant, dan model Gemini dari Google. Pastikan anda memasang perpustakaan ini:
! Pip memasang llama-index llama-index-llms-gemini llama-index-vector-stores-qdrant fastembed ! Pip memasang llama-index-embeddings-fastembed
Langkah 2: Tentukan model LLM dan membenamkan
Pertama, mari kita mengimport kebergantungan kami dan menetapkan kunci API kami:
Import OS dari Getpass Import Getpass dari llama_index.llms.gemini import Gemini dari llama_index.embeddings.fastembed import fastembedembedding Google_API_KEY = getpass ("Masukkan API Gemini anda:") os.environ ["Google_API_KEY"] = Google_API_KEY LLM = Gemini () # Gemini 1.5 Flash embed_model = fastembedembedding ()
Sekarang mari kita menguji jika API kini ditakrifkan dengan menjalankan LLM pada pertanyaan pengguna sampel.
llm_response = llm.complete ("Bilakah satu bahagian bermula?"). Teks cetak (llm_response)
Di Llamaindex, OpenAI adalah model lalai LLM dan embedding, untuk mengatasi bahawa kita perlu menentukan tetapan dari Llamaindex Core. Di sini kita perlu mengatasi kedua -dua model LLM dan embed.
dari tetapan import llama_index.core Settings.llm = llm Settings.embed_model = Embed_model
Langkah 3: Memuatkan data anda
Untuk contoh ini, mari kita anggap kita mempunyai PDF dalam folder data, kita boleh memuatkan folder data menggunakan pembaca SimpleDirectory di Llamaindex.
dari llama_index.core import SimpleDirectoryReader Dokumen = SimpleDirectoryReader ("./ Data/"). LOAD_DATA ()
Langkah 4: Menyediakan QDrant dengan Carian Hibrid
Kita perlu menentukan contoh qdrantvectorstore dan menetapkannya dalam ingatan untuk contoh ini. Kami juga boleh menentukan klien QDrant dengan perkhidmatan awan atau localhostnya, tetapi dalam artikel kami dalam ingatan, definisi dengan nama koleksi harus dilakukan.
Pastikan enable_hybrid = benar kerana ini membolehkan kita menggunakan keupayaan carian hibrid QDrant. Nama koleksi kami ialah `Paper`, kerana folder data mengandungi PDF pada kertas penyelidikan mengenai ejen.
dari llama_index.core import vectorstoreIndex, storageContext dari llama_index.vector_stores.qdrant import qdrantvectorstore import qdrant_client pelanggan = qdrant_client.qdrantClient ( Lokasi = ": Memori:", ) vector_store = qdrantvectorstore ( koleksi_name = "kertas", pelanggan = pelanggan, enable_hybrid = benar, # carian hibrid akan berlangsung batch_size = 20, )
Langkah 5: Mengindeks dokumen anda
Dengan melaksanakan ingatan dan carian hibrid dalam sistem RAG kami, kami telah mencipta lebih pintar dan konteks-a
storage_context = storageContext.from_defaults (vector_store = vector_store) indeks = vectorstoreindex.from_documents ( dokumen, storage_context = storage_context, )
Langkah 6: Menanyakan enjin pertanyaan indeks
Pengindeksan adalah bahagian di mana kita menentukan rantaian retriever dan penjana di Llamaindex. Ia memproses setiap dokumen dalam koleksi dokumen kami dan menghasilkan embeddings untuk kandungan setiap dokumen. Kemudian ia menyimpan embeddings ini di kedai vektor qdrant kami. Ia mewujudkan struktur indeks yang membolehkan pengambilan semula yang cekap. Semasa menentukan enjin pertanyaan, pastikan mod pertanyaan dalam hibrid.
query_engine = index.as_query_engine ( vector_store_query_mode = "hibrid" ) respons1 = query_engine.query ("Apakah maksud kehidupan?") cetak (respons1) respons2 = query_engine.query ("Berikan abstrak dalam 2 ayat") cetak (respons2)
Dalam enjin pertanyaan di atas, kami menjalankan dua pertanyaan yang berada dalam konteks dan yang lain di luar konteks. Inilah output yang kami dapat:
Output #respons-1 Teks yang disediakan memberi tumpuan kepada penggunaan model bahasa besar (LLMS) untuk merancang ejen autonomi. Ia tidak membincangkan makna kehidupan. #respons-2 Dokumen ini meneroka penggunaan model bahasa besar (LLMS) sebagai agen untuk menyelesaikan tugas kompleks. Ia memberi tumpuan kepada dua pendekatan utama: kaedah penguraian-pertama, di mana tugas itu dipecah menjadi sub-tugas sebelum pelaksanaan, dan Kaedah penguraian interleaved, yang secara dinamik menyesuaikan penguraian berdasarkan maklum balas.
Langkah 7: Tentukan Memori
Walaupun chatbot kami berfungsi dengan baik dan memberikan respons yang lebih baik, ia masih tidak mempunyai kesedaran kontekstual dalam pelbagai interaksi. Di sinilah ingatan masuk ke dalam gambar.
dari llama_index.core.Memory import chatmemorybuffer Memori = chatmemoryBuffer.from_defaults (token_limit = 3000)
Langkah 8: Membuat enjin sembang dengan memori
Kami akan membuat enjin sembang yang menggunakan kedua -dua carian dan ingatan hibrid. Dalam Llamaindex untuk aplikasi berasaskan RAG apabila kami mempunyai data luar atau luaran pastikan mod sembang adalah konteks.
chat_engine = index.as_chat_engine ( chat_mode = "konteks", Memori = Memori, system_prompt = ( "Anda adalah pembantu AI yang menjawab soalan pengguna" )) )
Langkah 9: Menguji Memori
Mari kita jalankan beberapa pertanyaan dan periksa sama ada memori berfungsi seperti yang diharapkan atau tidak.
dari ipython.display import markdown, paparan check1 = chat_engine.chat ("Beri abstrak dalam 2 ayat") check2 = chat_engine.chat ("Teruskan abstrak, tambahkan satu lagi ayat pada dua ayat sebelumnya") check3 = chat_engine.chat ("Buat abstrak di atas ke dalam puisi")
Kesimpulan
Kami meneroka bagaimana mengintegrasikan memori dan carian hibrid ke dalam sistem Generasi Tambahan (RAG) pengambilan semula dengan ketara meningkatkan keupayaan mereka. Dengan menggunakan llamaindex dengan qdrant sebagai kedai vektor dan Gemini Google sebagai model bahasa yang besar, kami menunjukkan bagaimana carian hibrid dapat menggabungkan kekuatan vektor dan pengambilan berasaskan kata kunci untuk memberikan hasil yang lebih tepat. Penambahan memori terus meningkatkan pemahaman kontekstual, yang membolehkan chatbot memberikan respons yang koheren merentasi pelbagai interaksi. Bersama-sama, ciri-ciri ini mewujudkan sistem yang lebih pintar dan konteks, menjadikan saluran paip RAG lebih berkesan untuk aplikasi AI yang kompleks.
Takeaways utama
- Pelaksanaan komponen memori dalam saluran paip RAG dengan ketara meningkatkan kesedaran dan keupayaan kontekstual chatbot untuk mengekalkan perbualan yang koheren merentasi pelbagai interaksi.
- Integrasi carian hibrid menggunakan QDRant sebagai kedai vektor, menggabungkan kekuatan kedua -dua vektor dan carian kata kunci untuk meningkatkan ketepatan pengambilan semula dan kaitan dalam sistem RAG yang meminimumkan risiko halusinasi. Penafian, ia tidak sepenuhnya menghapuskan halusinasi dan bukannya mengurangkan risiko.
- Penggunaan chatmemorybuffer Llamaindex untuk pengurusan sejarah perbualan yang cekap, dengan had token yang boleh dikonfigurasikan untuk mengimbangi pengekalan konteks dan sumber pengiraan.
- Penggabungan model Gemini Google sebagai pembekal LLM dan penyembuhan dalam rangka Llamaindex mempamerkan fleksibiliti Llamaindex dalam menampung model AI yang berbeza dan teknik penyembuhan.
Soalan yang sering ditanya
Q 1. Apakah carian hibrid, dan mengapa penting dalam kain?A. Carian hibrid menggabungkan carian vektor untuk pemahaman semantik dan carian kata kunci untuk ketepatan. Ia meningkatkan ketepatan keputusan dengan membenarkan sistem mempertimbangkan kedua -dua konteks dan istilah yang tepat, yang membawa kepada hasil pengambilan yang lebih baik, terutamanya dalam dataset yang kompleks.
S2. Mengapa menggunakan qdrant untuk carian hibrid dalam kain?A. QDrant menyokong carian hibrid keluar dari kotak, dioptimumkan untuk embeddings cepat, dan berskala. Ini menjadikannya pilihan yang boleh dipercayai untuk melaksanakan kedua-dua vektor dan carian berasaskan kata kunci dalam sistem RAG, memastikan prestasi pada skala.
Q3. Bagaimanakah memori meningkatkan sistem RAG?A. Memori dalam sistem RAG membolehkan pengekalan sejarah perbualan, yang membolehkan chatbot memberikan respons yang lebih koheren dan kontekstual yang tepat merentasi interaksi, dengan ketara meningkatkan pengalaman pengguna.
Q 4. Bolehkah saya menggunakan model tempatan dan bukan API berasaskan awan untuk aplikasi RAG?A. Ya, anda boleh menjalankan LLM tempatan (seperti Ollama atau Huggingface) dan bukannya menggunakan API berasaskan awan seperti OpenAI. Ini membolehkan anda mengekalkan kawalan penuh data anda tanpa memuat naiknya ke pelayan luaran, yang merupakan kebimbangan umum untuk aplikasi sensitif privasi.
Media yang ditunjukkan dalam artikel ini tidak dimiliki oleh Analytics Vidhya dan digunakan atas budi bicara penulis.
Atas ialah kandungan terperinci Memori dan carian hibrid dalam kain menggunakan llamaindex. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Hei ada, pengekodan ninja! Apa tugas yang berkaitan dengan pengekodan yang anda telah merancang untuk hari itu? Sebelum anda menyelam lebih jauh ke dalam blog ini, saya ingin anda memikirkan semua kesengsaraan yang berkaitan dengan pengekodan anda-lebih jauh menyenaraikan mereka. Selesai? - Let ’

Pengenalan OpenAI telah mengeluarkan model barunya berdasarkan seni bina "strawberi" yang sangat dijangka. Model inovatif ini, yang dikenali sebagai O1, meningkatkan keupayaan penalaran, yang membolehkannya berfikir melalui masalah MOR

Pernyataan Jadual Alter SQL: Menambah lajur secara dinamik ke pangkalan data anda Dalam pengurusan data, kebolehsuaian SQL adalah penting. Perlu menyesuaikan struktur pangkalan data anda dengan cepat? Pernyataan Jadual ALTER adalah penyelesaian anda. Butiran panduan ini menambah colu

Pengenalan Mistral telah mengeluarkan model multimodal yang pertama, iaitu Pixtral-12B-2409. Model ini dibina atas parameter 12 bilion Mistral, NEMO 12B. Apa yang membezakan model ini? Ia kini boleh mengambil kedua -dua gambar dan Tex

Semasa bekerja pada AIS AI, pemaju sering mendapati diri mereka menavigasi perdagangan antara kelajuan, fleksibiliti, dan kecekapan sumber. Saya telah meneroka rangka kerja AI yang agentik dan menjumpai Agno (sebelum ini adalah Phi-

Penanda Aras Bermasalah: Kajian Kes Llama Pada awal April 2025, Meta melancarkan model Llama 4 suite, dengan metrik prestasi yang mengagumkan yang meletakkan mereka dengan baik terhadap pesaing seperti GPT-4O dan Claude 3.5 sonnet. Pusat ke LAUNC

Bolehkah permainan video meringankan kebimbangan, membina fokus, atau menyokong kanak -kanak dengan ADHD? Memandangkan cabaran penjagaan kesihatan melonjak di seluruh dunia - terutamanya di kalangan belia - inovator beralih kepada alat yang tidak mungkin: permainan video. Sekarang salah satu hiburan terbesar di dunia Indus

Buka kunci kekuatan model embedding: menyelam jauh ke kursus baru Andrew Ng Bayangkan masa depan di mana mesin memahami dan menjawab soalan anda dengan ketepatan yang sempurna. Ini bukan fiksyen sains; Terima kasih kepada kemajuan dalam AI, ia menjadi R
