Rumah >Peranti teknologi >AI >Asfafasfasfasfasf
Artikel ini meneroka RAG Agentik, pendekatan yang kuat menggabungkan pengambilan keputusan Agentic AI dengan penyesuaian RAG untuk mendapatkan semula maklumat dan generasi dinamik. Tidak seperti model tradisional yang terhad oleh data latihan, Agentic RAG secara bebas mengakses dan alasan dengan maklumat dari pelbagai sumber. Panduan praktikal ini memberi tumpuan kepada membina saluran paip RAG berasaskan Langchain.
Projek RAG Agentik: Panduan Langkah demi Langkah
Projek ini membina saluran paip RAG berikutan seni bina ini:
pertanyaan pengguna: Proses bermula dengan soalan pengguna.
Routing pertanyaan: Sistem menentukan jika ia dapat menjawab menggunakan pengetahuan yang ada. Jika ya, ia bertindak balas secara langsung; Jika tidak, ia meneruskan pengambilan data.
Pengambilan data: Paip mengakses dua sumber yang berpotensi:
Bangunan konteks: Data yang diambil disusun menjadi konteks yang koheren.
Generasi Jawapan: Konteks ini diberi kepada model bahasa yang besar (LLM) untuk menghasilkan jawapan yang ringkas dan tepat.
Menyediakan persekitaran
Prasyarat:
Pasang pakej python yang diperlukan:
<code class="language-bash">pip install langchain-groq faiss-cpu crewai serper pypdf2 python-dotenv setuptools sentence-transformers huggingface distutils</code>Pengurusan Utama API:
Kekunci API Simpan dengan selamat dalam fail (contoh di bawah):
.env
<code class="language-python">import os from dotenv import load_dotenv # ... other imports ... load_dotenv() GROQ_API_KEY = os.getenv("GROQ_API_KEY") SERPER_API_KEY = os.getenv("SERPER_API_KEY") GEMINI = os.getenv("GEMINI")</code>Gambaran keseluruhan kod:
Kod ini menggunakan beberapa komponen Langchain:
untuk pangkalan data vektor, untuk pemprosesan PDF, FAISS
untuk chunking teks, PyPDFLoader
untuk penyembuhan generasi, RecursiveCharacterTextSplitter
dan HuggingFaceEmbeddings
untuk LLMS, ChatGroq
Dua LLMS dimulakan: llm
(Llama-3.3-70B-SPECDEC) untuk tugas umum dan crew_llm
(Gemini/Gemini-1.5-flash) untuk mengikis web. A check_local_knowledge()
fungsi laluan pertanyaan berdasarkan ketersediaan konteks setempat. Ejen mengikis web, dibina menggunakan crewai
, mengambil semula dan meringkaskan kandungan web. Pangkalan data vektor dibuat dari PDF menggunakan Faiss. Akhirnya, generate_final_answer()
menggabungkan konteks dan pertanyaan untuk menghasilkan tindak balas akhir.
Penggunaan dan output contoh:
Fungsi main()
menunjukkan pertanyaan sistem. Sebagai contoh, pertanyaan "Apa itu Rag Agentic?" mencetuskan mengikis web, mengakibatkan penjelasan komprehensif mengenai Rag Agentik, komponen, faedah, dan batasannya. Output mempamerkan keupayaan sistem untuk mengakses dan mensintesis maklumat secara dinamik dari pelbagai sumber. Output terperinci ditinggalkan di sini untuk keringkasan tetapi boleh didapati dalam input asal.
Atas ialah kandungan terperinci Asfafasfasfasfasf. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!