Artikel ini meneroka Agentic Rag, teknik yang kuat yang meningkatkan model bahasa yang besar (LLMS) dengan menggabungkan keupayaan membuat keputusan AIS AI dengan penyesuaian generasi pengambilan semula (RAG). Tidak seperti model tradisional yang terhad oleh data latihan mereka, Agentic Rag membolehkan LLMs untuk mengakses dan alasan secara bebas dengan maklumat dari pelbagai sumber. Panduan praktikal ini memberi tumpuan kepada membina saluran paip kain tangan menggunakan Langchain.
Membina saluran paip rag yang agentik dengan Langchain
Langkah -langkah berikut memperincikan penciptaan saluran paip RAG, digambarkan oleh rajah seni bina di bawah:
Pertanyaan Pengguna: Proses ini bermula dengan soalan pengguna, memulakan saluran paip.
Routing pertanyaan: Sistem menentukan jika ia dapat menjawab pertanyaan menggunakan pengetahuan yang ada. Tindak balas positif menghasilkan jawapan segera; Jika tidak, pertanyaan diteruskan ke pengambilan data.
Pengambilan data: Paip mengakses dua sumber yang berpotensi:
Bangunan Konteks: Data yang diambil (dari PDF atau Web) disusun menjadi konteks yang koheren, memasang maklumat yang relevan.
Generasi Jawapan: Konteks yang disusun ini diberi kepada model bahasa yang besar (LLM) untuk menghasilkan jawapan yang tepat dan bermaklumat.
Menyediakan persekitaran
Sebelum memulakan, pastikan anda mempunyai yang berikut:
simpan kekunci API dengan selamat dalam fail
(contoh):pip install langchain-groq faiss-cpu crewai serper pypdf2 python-dotenv setuptools sentence-transformers huggingface distutils
pip install langchain-groq faiss-cpu crewai serper pypdf2 python-dotenv setuptools sentence-transformers huggingface distutils
Kod ini menggunakan pelbagai perpustakaan untuk: interaksi sistem operasi (os
), pemuatan pembolehubah persekitaran (dotenv
), pengurusan pangkalan data vektor (FAISS
), pemprosesan pdf (PyPDFLoader
), Orchestration Agent (RecursiveCharacterTextSplitter
, HuggingFaceEmbeddings
). ChatGroq
LLM
SerperDevTool
llm inisialisasi dan membuat keputusan ScrapeWebsiteTool
Agent
Task
Dua LLMS diasaskan: Crew
(menggunakan
(menggunakan ) untuk mengikis web. Fungsi bertindak sebagai penghala, menentukan jika jawapan tempatan mencukupi berdasarkan konteks yang disediakan.
llm
ejen pengikis web dan pangkalan data vektor llama-3.3-70b-specdec
crew_llm
gemini/gemini-1.5-flash
Ejen mengikis web, dibina menggunakan perpustakaan check_local_knowledge()
, mengambil semula dan meringkaskan kandungan web yang relevan. Fungsi
mengambil semula 5 ketulan yang paling relevan dari pangkalan data.
Generasi Jawapan dan Fungsi Utama crewai
setup_vector_db()
Fungsi get_local_content()
menggunakan LLM untuk mewujudkan tindak balas akhir berdasarkan konteks yang dikumpulkan. Fungsi
Sambutan yang disemak ini memberikan penjelasan yang lebih ringkas dan teratur mengenai saluran paip RAG yang agensi, yang memberi tumpuan kepada langkah -langkah utama dan fungsi yang terlibat. Ia juga menjelaskan tujuan dan penggunaan setiap segmen dan perpustakaan kod.
Atas ialah kandungan terperinci garpu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!