>本文探索了代理抹布,這是一種強大的技術,可以通過將代理AI的決策能力與檢索功能增強生成(RAG)的適應性相結合來增強大型語言模型(LLM)。 與傳統模型受其培訓數據限制不同,Agentic rag允許LLMS獨立訪問和推理來自各種來源的信息。 該實用的指南重點是使用Langchain建立動手抹布管道。
>用langchain 構建代理抹布管道 以下步驟詳細介紹了抹布管道的創建,由下面的架構圖說明:
>
該過程以用戶的問題開頭,啟動管道。
系統確定是否可以使用現有知識來回答查詢。 積極的反應產生了立即的答案;否則,查詢將進行數據檢索。 >
管道訪問兩個潛在來源:
>
答案生成:設置環境
groq api鍵:
groq api console
pip install langchain-groq faiss-cpu crewai serper pypdf2 python-dotenv setuptools sentence-transformers huggingface distutils
>代碼利用各種庫進行:操作系統交互(os
),環境變量加載(dotenv
),矢量數據庫管理(FAISS
),PDF處理(PyPDFLoader
>),文本拆卸(RecursiveCharacterTextSplitter
),嵌入(HuggingFaceEmbeddings
),eNagending(ChatGroq
),LLM
),LLM Interaction(llm Interaction(LLM Interaction)(SerperDevTool
),ScrapeWebsiteTool,Agent
,Task
)。Crew
>
llm初始化和決策>
>初始化了兩個llms:(使用llm
)作為一般任務,而llama-3.3-70b-specdec
>(使用crew_llm
)進行Web刮擦。 Agemini/gemini-1.5-flash
函數充當路由器,確定基於提供的上下文是否足夠的本地答案。
check_local_knowledge()
> >使用
庫構建的Web刮擦代理,檢索並總結了相關的Web內容。>函數從PDF創建了FAISS矢量數據庫,從而實現了有效的相似性搜索。 crewai
>從數據庫中檢索最相關的5個最相關的塊。 setup_vector_db()
>
get_local_content()
>
函數使用LLM根據收集的上下文來創建最終響應。函數策劃了整個過程,處理查詢路由,上下文檢索和答案生成。 一個示例查詢(“什麼是代理抹布?”)演示了該系統的整合基於本地和Web的信息以進行全面響應的能力。 輸出展示了系統提供對代理抹布的詳細說明的能力,即使信息在本地PDF中不直接存在。
generate_final_answer()
>這種修訂後的響應提供了對代理抹布管道的更簡潔,更有條理的解釋,重點介紹了所涉及的關鍵步驟和功能。 它還闡明了每個代碼段和庫的目的和用法。 main()
>
以上是叉子的詳細內容。更多資訊請關注PHP中文網其他相關文章!