Jadual Kandungan
Pengenalan
Objektif pembelajaran
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
Kesimpulan
Takeaways utama
Soalan yang sering ditanya
Rumah Peranti teknologi AI Memori dan carian hibrid dalam kain menggunakan llamaindex

Memori dan carian hibrid dalam kain menggunakan llamaindex

Apr 11, 2025 am 10:33 AM

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
Salin selepas log masuk

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 ()
Salin selepas log masuk

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)
Salin selepas log masuk

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
Salin selepas log masuk

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 ()
Salin selepas log masuk

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,
)
Salin selepas log masuk

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,
)
Salin selepas log masuk

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)
Salin selepas log masuk

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.
Salin selepas log masuk

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)
Salin selepas log masuk

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"
    ))
)
Salin selepas log masuk

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") 
Salin selepas log masuk

Memori dan carian hibrid dalam kain menggunakan llamaindex

Memori dan carian hibrid dalam kain menggunakan llamaindex

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1666
14
Tutorial PHP
1273
29
Tutorial C#
1253
24
10 Pelanjutan pengekodan AI generatif dalam kod vs yang mesti anda pelajari 10 Pelanjutan pengekodan AI generatif dalam kod vs yang mesti anda pelajari Apr 13, 2025 am 01:14 AM

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 &#8217

GPT-4O vs OpenAI O1: Adakah model Openai baru bernilai gembar-gembur? GPT-4O vs OpenAI O1: Adakah model Openai baru bernilai gembar-gembur? Apr 13, 2025 am 10:18 AM

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

Bagaimana untuk menambah lajur dalam SQL? - Analytics Vidhya Bagaimana untuk menambah lajur dalam SQL? - Analytics Vidhya Apr 17, 2025 am 11:43 AM

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

Pixtral -12b: Model Multimodal Pertama Mistral Ai ' Pixtral -12b: Model Multimodal Pertama Mistral Ai ' Apr 13, 2025 am 11:20 AM

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

Bagaimana Membina Ejen AI Multimodal Menggunakan Rangka Kerja AGNO? Bagaimana Membina Ejen AI Multimodal Menggunakan Rangka Kerja AGNO? Apr 23, 2025 am 11:30 AM

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-

Beyond the Llama Drama: 4 Benchmarks Baru Untuk Model Bahasa Besar Beyond the Llama Drama: 4 Benchmarks Baru Untuk Model Bahasa Besar Apr 14, 2025 am 11:09 AM

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

Bagaimana permainan ADHD, alat kesihatan & chatbots AI mengubah kesihatan global Bagaimana permainan ADHD, alat kesihatan & chatbots AI mengubah kesihatan global Apr 14, 2025 am 11:27 AM

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

Kursus Pendek Baru mengenai Model Embedding oleh Andrew Ng Kursus Pendek Baru mengenai Model Embedding oleh Andrew Ng Apr 15, 2025 am 11:32 AM

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

See all articles