搜尋
首頁科技週邊人工智慧代理抹布系統如何改變技術?

介紹

人工智能進入了一個新時代。模型將基於預定義的規則輸出信息的日子已經一去不復返了。當今AI中的尖端方法圍繞著抹布(檢索增強的生成)系統,更具體地說,是使用代理智能檢索,分析和驗證信息的使用。這是智能數據檢索的未來 - 機器學習模型不僅回答問題,而且以前所未有的精度和深度來回答問題。

在此博客中,我們將研究如何使用Crewai和Langchain建立自己的代理驅動的破布系統,這是兩種最有力的工具,這些工具徹底改變了我們與AI互動的方式。但是,在我們研究代碼之前,讓我們熟悉這些改變遊戲規則的技術。

學習成果

  • 通過實時數據檢索來了解抹布的基礎及其在提高AI準確性方面的作用。
  • 探索了CREWAI的功能及其專業代理如何促進AI系統中有效的任務自動化。
  • 了解Langchain如何實現任務鏈接,從而創建邏輯工作流,從而增強AI驅動的過程。
  • 發現瞭如何使用Llama 3,Groq API,Crewai和Langchain等工具來構建代理抹布系統,以獲取可靠且智能的信息檢索。

本文作為數據科學博客馬拉鬆的一部分發表

目錄

  • 介紹
  • 什麼是檢索的一代?
  • 什麼是克魯伊?
  • 什麼是蘭班?
  • Crewai Langchain:抹布的夢想團隊
  • 建立自己的代理抹布系統
    • 步驟1:設置環境
    • Step2:添加GROQ API密鑰
    • 步驟3:設置LLM
    • 步驟3:從PDF檢索數據
    • 步驟4:創建通過PDF的抹布工具
    • 步驟5:用tavily添加Web搜索
    • 步驟6:定義路由器工具
    • 步驟7:創建代理商
    • 步驟8:定義任務
    • 步驟9:建立船員
    • 步驟10:運行管道
  • 結論
  • 常見問題

什麼是檢索的一代?

抹布代表了現代AI中的一種混合方法。與僅依賴於培訓中易於存在的知識的傳統模型不同,RAG系統從外部數據源(例如數據庫,文檔或網絡)中汲取實時信息來增強其響應。

簡而言之,抹布系統不僅猜測或依賴它“知道”的內容,還可以積極檢索相關的,最新的信息,然後基於它產生連貫的響應。這樣可以確保AI的答案不僅準確,而且基於真實的,可驗證的事實。

為什麼抹布很重要?

  • 動態信息: RAG允許AI從外部來源獲取當前的實時數據,從而使其更加響應和最新。
  • 提高的準確性:通過檢索和引用外部文檔,RAG降低了模型產生幻覺或不准確答案的可能性。
  • 增強的理解:相關背景信息的檢索提高了AI提供詳細,知情回應的能力。

現在,您已經了解了抹布是什麼,請想像一下代理 - AI的AI實體處理特定任務,例如檢索數據,評估其相關性或驗證其準確性。這是Crewai和Langchain發揮作用的地方,使過程變得更加精簡和強大。

什麼是克魯伊?

將Crewai視為精心策劃代理團隊的智能經理。每個代理商都專門從事特定任務,無論是檢索信息,對其相關性進行評分還是過濾錯誤。當這些代理商合作時,魔術就會發生 - 一起工作以處理複雜的查詢並提供精確,準確的答案。

Crewai為什麼是革命性的?

  • 代理情報: Crewai將任務分解為專業的子任務,將每個任務分配給唯一的AI代理。
  • 協作AI:這些代理人互動,彼此之間的信息和任務,以確保最終結果是強大而值得信賴的。
  • 可定制和可擴展的: Crewai是高度模塊化的,使您可以構建可以適應各種任務的系統 - 無論是回答簡單的問題還是進行深入研究。

什麼是蘭班?

儘管Crewai帶來了代理商的智能,但Langchain使您能夠構建將AI任務融合在一起的工作流程。它確保代理商以正確的順序執行任務,從而創建無縫,精心策劃的AI流程。

為什麼Langchain至關重要?

LLM編排:Langchain與各種大型語言模型(LLMS)一起工作,從Openai到擁抱的臉,從而實現了複雜的自然語言處理。

  • 數據靈活性:您可以將Langchain連接到從PDF到數據庫和Web搜索的不同數據源,以確保AI可以訪問最相關的信息。
  • 可伸縮性:使用Langchain,您可以構建每個任務導致下一個任務的管道 - 完善的AI操作(如多步驟問題答案或研究)。

Crewai Langchain:抹布的夢想團隊

通過將CREWAI基於代理的框架與Langchain的任務編排相結合,您可以創建一個強大的代理抹布系統。在此系統中,每個代理都扮演角色 - 無論是獲取相關文檔,驗證檢索到的信息的質量還是為準確性的評分答案。這種分層方法可確保響應不僅準確,而且基於最相關和最新信息。

讓我們前進並建立一個由代理動力的抹布系統,該系統使用AI代理的管道回答複雜問題。

建立自己的代理抹布系統

現在,我們將開始在下面逐步構建自己的代理抹布系統:

潛入代碼之前,讓我們安裝必要的庫:

 !
!
!

步驟1:設置環境

我們首先導入必要的庫:

來自langchain_openai進口chatopenai
導入操作系統
從crewai_tools導入pdfsearchtool
來自langchain_community.tools.tavily_search導入tavilySearchResults
從Crewai_tools導入工具
來自Crewai進口工作人員
從Crewai進口任務
來自Crewai進口代理

在此步驟中,我們進口:

  • Chatopenai:與Llama等大型語言模型進行交互的界面。
  • PDFSearchTool:從PDF搜索和檢索信息的工具。
  • TavilySearchResults:用於檢索基於Web的搜索結果。
  • 機組人員,任務,代理: Crewai的核心組件,使我們能夠協調代理和任務。

Step2:添加GROQ API密鑰

要訪問GROQ API,通常需要通過生成API密鑰來驗證。您可以通過登錄GROQ控制台來生成此鍵。這是該過程的一般概述:

  • 使用您的憑據登錄到GROQ控制台。
  • 導航到API鍵:轉到可以管理API鍵的部分。
  • 生成一個新密鑰:選擇創建或生成新API密鑰的選項。
  • 保存API密鑰:生成後,請確保複製並安全地存儲密鑰,因為對API請求進行身份驗證需要。

此API鍵將在您的HTTP標頭中使用,以進行API請求,以與GROQ系統進行身份驗證和交互。

始終請參考官方GroQ文檔,以獲取與訪問API有關的具體詳細信息或其他步驟。

導入操作系統
os.environ ['groq_api_key'] ='添加groq api鍵'

步驟3:設置LLM

 llm = chatopenai(
      openai_api_base =“ https://api.groq.com/openai/v1”,
      openai_api_key = os.environ ['groq_api_key'],
      model_name =“ llama3-8b-8192”,
      溫度= 0.1,
      max_tokens = 1000,
)

在這裡,我們定義了系統將使用的語言模型:

  • Llama3-8B-8192:具有80億個參數的大型語言模型,使其足夠強大以處理複雜的查詢。
  • 溫度:設置為0.1,以確保模型的輸出是高度確定性和精確的。
  • 最大令牌:限制為1000個令牌,確保響應保持簡潔和相關。

步驟3:從PDF檢索數據

為了演示抹布的工作原理,我們下載了PDF並蒐索它:

導入請求

pdf_url ='https://proceedings.neurips.cc/paper_files/paper/paper/2017/file/3f5ee243547dee91fbd053c1c4a8445aaaaa paper.pdf'
響應= requests.get(pdf_url)

使用打開('attenstion_is_all_you_need.pdf','wb')作為文件:
    file.write(響應。

這將下載著名的“注意力是您需要的”紙,並在本地節省。我們將在以下步驟中使用此PDF進行搜索。

代理抹布系統如何改變技術?

步驟4:創建通過PDF的抹布工具

在本節中,我們創建了一個抹布工具,該工具使用語言模型和嵌入者來搜索PDF,以進行語義理解。

  • PDF集成: PDFSearchTool加載pdf(activate_is_all_you_need.pdf)進行查詢,從而允許系統從文檔中提取信息。
  • LLM配置:我們使用Llama3-8B(通過GROQ的API)作為語言模型來處理用戶查詢並根據PDF內容提供詳細的答案。
  • 嵌入式設置: HuggingFace的Baai/BGE-SMALL-EN-V1.5模型用於嵌入,使該工具能夠與PDF最相關的部分匹配查詢。

最後,rag_tool.run()函數是通過查詢執行的,例如“自我發揮機制在大語言模型中如何發展?”檢索信息。

 rag_tool = pdfsearchtool(pdf ='/content/attenstion_is_all_you_need.pdf',
    config = dict(
        llm = dict(
            提供者=“ groq”,#或Google,Openai,人類,Llama2,...
            config = dict(
                型號=“ Llama3-8b-8192”,
                #溫度= 0.5,
                #top_p = 1,
                #stream = true,
            ),
        ),
        嵌入= dict(dict)(
            提供者=“ Huggingface”,#或Openai,Ollama,...
            config = dict(
                型號=“ baai/bge-small-en-v1.5”,
                #task_type =“ retrieval_document”,
                #title =“嵌入”,
            ),
        ),
    )
)
rag_tool.run(“自我注意機制如何在大語言模型中發展?”)

代理抹布系統如何改變技術?

步驟5:用tavily添加Web搜索

設置您的Tavily API密鑰,以啟用Web搜索功能:

導入操作系統

#設置Tavily API密鑰
os.environ ['tavily_api_key'] =“添加您的Tavily API密鑰”

web_search_tool = tavilySearchResults(k = 3)
web_search_tool.run(“大語言模型中的自我發揮機制是什麼?”)

該工具允許我們執行網絡搜索,最多檢索3個結果。

代理抹布系統如何改變技術?

步驟6:定義路由器工具

@工具
def router_tool(問題):
  “”“路由器函數”“”
  如果有問題的“自我注意”:
    返回“矢量店”
  別的:
    返回'web_search'

路由器工具將查詢引導到矢量站(用於高技術問題)或Web搜索。它檢查查詢的內容並做出適當的決定。

步驟7:創建代理商

我們定義了一系列代理來處理查詢避開管道的不同部分:

路由器代理:

將問題路由到正確的檢索工具(PDF或Web搜索)。

 router_agent = agent(
  角色='路由器',
  目標='路由用戶問題與矢量店或Web搜索',
  backstory =((
    “您是將用戶問題路由到矢量店或Web搜索的專家。”
    “使用矢量店進行有關與檢索的一代有關的概念問題。”
    “您不必對與這些主題有關的問題中的關鍵字進行嚴格的態度。否則,請使用Web-Search。”
  ),
  詳細= true,
  laster_delegation = false,
  llm = llm,
)

獵犬代理:

從所選源(PDF或Web搜索)中檢索信息。

 retiever_agent =代理(
角色=“ retriever”,
目標=“使用從矢量店檢索到的信息來回答問題”,
backstory =((
    “您是提問任務的助手。”
    “使用檢索到上下文中存在的信息回答問題。”
    “您必須提供一個明確的簡潔答案。”
),
詳細= true,
laster_delegation = false,
llm = llm,
)

分級代理:

確保檢索到的信息相關。

 grader_agent =代理(
  角色='答案分級器',
  目標='過濾出錯誤的檢索',
  backstory =((
    “您是評估檢索文檔與用戶問題的相關性的分級人。”
    “如果文檔包含與用戶問題相關的關鍵字,請將其評為相關。”
    “這不必是一個嚴格的測試。您必須確保答案與問題有關。”
  ),
  詳細= true,
  laster_delegation = false,
  llm = llm,
)

幻覺分級機:

過濾幻覺(錯誤答案)。

幻覺_grader =代理(
    角色=“幻覺分級機”,
    目標=“過濾幻覺”,
    backstory =((
        “您是一個幻覺分級,評估答案是否基於一組事實來紮根 /支持。”
        “確保您精心查看答案,並檢查提供的響應是否與提出的問題相對立”
    ),
    詳細= true,
    laster_delegation = false,
    llm = llm,
)

答案分手:

評分最終答案並確保其有用。

 wonse_grader = agent(
    角色=“答案分級器”,
    目標=“從答案中濾除幻覺。”,,
    backstory =((
        “您是評估答案是否對解決問題有用的分級人。”
        “確保您精心查看答案,並檢查對提出的問題是否有意義”
        “如果答案是相關的,則會產生清晰簡潔的回應。”
        “如果答案不相關,請使用'web_search_tool'執行WebSearch
    ),
    詳細= true,
    laster_delegation = false,
    llm = llm,
)

步驟8:定義任務

每個任務都被定義以將特定角色分配給代理:

路由器任務:

確定查詢是否應轉到PDF搜索或Web搜索。

 router_task =任務(
    description =(“分析問題{問題}中的關鍵字””
    “基於關鍵字,決定它是否符合矢量店搜索或Web搜索。”
    “返回一個單詞'vectorstore',如果它符合矢量店搜索的條件。”
    “如果有資格進行Web搜索,請返回單個單詞'WebSearch'。”
    “不要提供任何其他有利的或解釋。”
    ),
    Expect_output =(“基於問題給出二進制選擇'WebSearch'或“向量店””
    “不要提供任何其他有利或解釋。”),,,
    agent = router_agent,
    工具= [router_tool],
)

檢索員任務:

檢索必要的信息。

 retiever_task =任務(
    description =(“基於路由器任務的響應,借助相應的工具,{Question}提取信息。”
    “如果路由器任務輸出為'WebSearch',請使用Web_serach_tool從Web檢索信息。”
    “如果路由器任務輸出為'vectorStore',請使用rag_tool從向量存儲中檢索信息。”
    ),
    Exceels_output =(“您應該分析'Router_task'的輸出
    “如果響應是'WebSearch',則使用Web_search_tool從網絡檢索信息。”
    “如果響應是'vectorstore',則使用rag_tool從矢量店檢索信息。”
    “返回劍術和共識文本作為響應。”),,,
    代理= retiever_agent,
    context = [router_task],
   #工具= [retiever_tool],
)

分級任務:

評分檢索的信息。

 grader_task =任務(
    description =(“基於Quetion {Quartion}的回收者任務的響應,評估檢索內容是否與問題相關。”
    ),
    Exceeld_output =(“二進制分數'是'或'否'分數,以指示文檔是否與問題相關”
    “如果“ retriever_task”的響應與提出的問題保持一致,則必須回答'是'。”
    “如果'retriever_task'的響應與提出的問題不符,則必須回答'no'。”
    “除了'是'或'否'之外,不要提供任何序言或解釋。”),
    代理= grader_agent,
    context = [retiever_task],
)

幻覺任務:

確保答案是基於事實的。

幻覺_task =任務(
    description =(“基於Quetion {Quartion}的Grader任務的響應,評估答案是否在一組事實中接地 /支持。”),),),,),,
    Exceels_output =(“二進制分數'是'或'否'分數,以指示答案是否與問的問題同步”
    “答复'是',如果答案有用並包含有關提出問題的事實。”
    “答案'no',如果答案沒有用,並且不包含有關提出問題的事實。”
    “除了'是'或'否'之外,不要提供任何序言或解釋。”),
    代理=幻覺_grader,
    context = [grader_task],
)

答案任務:

提供最終答案或在需要時執行Web搜索。

答案_task =任務(
    description =(“基於對Quetion {Quartion}的幻覺任務的響應,評估答案是否對解決問題很有用。”
    “如果答案是'是',請返回一個清晰簡潔的答案。”
    “如果答案是'no',則執行'WebSearch'並返迴響應”),),
    Expect_Output =(“如果'幻覺_task'是'yes'的響應,請返回明確而簡潔的響應。”
    “使用'Web_search_tool'執行Web搜索,並僅在'幻覺_task''is'no'的響應時才返回清晰而簡潔的響應。”
    “否則回應為'對不起!找不到有效的響應'。”),),
    context = [幻覺_task],
    agent = wonse_grader,
    #tools = [wonse_grader_tool],
)

步驟9:建立船員

我們將代理和任務分組為一個將管理整個管道的工作人員:

 rag_crew = crew(
    代理= [router_agent,retriever_agent,grader_agent,幻覺_grader,anding_grader],
    tasks = [router_task,retriever_task,grader_task,allucination_task,anding_task],
    詳細= true,
)

步驟10:運行管道

最後,我們提出一個問題並啟動抹布系統:

輸入= {“問題”:“自我發揮的機制如何幫助大型語言模型?”}
結果= rag_crew.kickoff(輸入=輸入)
打印(結果)

代理抹布系統如何改變技術?

該管道通過代理來處理問題,檢索相關信息,過濾幻覺,並提供簡潔而相關的答案。

結論

抹布,克魯伊和蘭班的結合是對AI的未來的瞥見。通過利用代理智能和任務鏈接,我們可以構建更智能,更快,更準確的系統。這些系統不僅會生成信息 - 它們會積極檢索,驗證和過濾它,以確保響應質量的最高質量。

借助Crewai和Langchain等工具,可以使用智能,由代理驅動的AI系統構建智能的可能性。無論您是從事AI研究,自動化客戶支持還是任何其他數據密集型領域,代理抹布系統都是釋放新效率和準確性水平的關鍵。

您可以單擊此處訪問鏈接。

關鍵要點

  • RAG系統將自然語言的生成與實時數據檢索相結合,確保AI可以從外部來源中獲取準確的,最新的信息,以獲得更可靠的響應。
  • Crewai僱用了一個專業的AI代理團隊,每個團隊都負責不同的任務,例如數據檢索,評估和驗證,從而產生了高效,高效的代理系統。
  • Langchain可以創建連接各種任務的多步驟工作流程,從而使AI系統可以通過大型語言模型(LLMS)的邏輯測序和編排更有效地處理信息。
  • 通過將Crewai的代理框架與Langchain的任務鏈接相結合,您可以構建智能的AI系統,以實時檢索和驗證信息,從而顯著提高響應的準確性和可靠性。
  • 該博客介紹了使用Llama 3,Groq API,Crewai和Langchain等高級工具創建自己的代理抹布系統的過程,這清楚了這些技術如何共同使用以自動化和增強AI-DRIENS解決方案。

常見問題

Q1。 Crewai如何為建築代理系統做出貢獻?

A. Crewai精心策劃了多個AI代理,每個人都專門從事諸如檢索信息,驗證相關性和確保准確性之類的任務。

Q2。 Langchain在抹布系統中使用了什麼?

答:Langchain創建了將AI任務鏈在一起的工作流程,以確保數據處理和檢索的每個步驟以正確的順序發生。

Q3。代理在抹布系統中的作用是什麼?

A.代理處理特定任務,例如檢索數據,驗證其準確性和評分響應,使系統更加可靠和精確。

Q4。為什麼我要在抹布系統中使用groq API?

答:GROQ API可訪問強大的語言模型,例如Llama 3,為複雜的任務提供了高性能的AI。

本文所示的媒體不由Analytics Vidhya擁有,並由作者酌情使用。

以上是代理抹布系統如何改變技術?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何使用Huggingface Smollm建立個人AI助手如何使用Huggingface Smollm建立個人AI助手Apr 18, 2025 am 11:52 AM

利用“設備” AI的力量:建立個人聊天機器人CLI 在最近的過去,個人AI助手的概念似乎是科幻小說。 想像一下科技愛好者亞歷克斯(Alex)夢見一個聰明的本地AI同伴 - 不依賴

通過斯坦福大學激動人心的新計劃,精神健康的AI專心分析通過斯坦福大學激動人心的新計劃,精神健康的AI專心分析Apr 18, 2025 am 11:49 AM

他們的首屆AI4MH發射於2025年4月15日舉行,著名的精神科醫生兼神經科學家湯姆·因斯爾(Tom Insel)博士曾擔任開幕式演講者。 Insel博士因其在心理健康研究和技術方面的傑出工作而聞名

2025年WNBA選秀課程進入聯盟成長並與在線騷擾作鬥爭2025年WNBA選秀課程進入聯盟成長並與在線騷擾作鬥爭Apr 18, 2025 am 11:44 AM

恩格伯特說:“我們要確保WNBA仍然是每個人,球員,粉絲和公司合作夥伴,感到安全,重視和授權的空間。” anno

Python內置數據結構的綜合指南 - 分析VidhyaPython內置數據結構的綜合指南 - 分析VidhyaApr 18, 2025 am 11:43 AM

介紹 Python擅長使用編程語言,尤其是在數據科學和生成AI中。 在處理大型數據集時,有效的數據操作(存儲,管理和訪問)至關重要。 我們以前涵蓋了數字和ST

與替代方案相比,Openai新型號的第一印象與替代方案相比,Openai新型號的第一印象Apr 18, 2025 am 11:41 AM

潛水之前,一個重要的警告:AI性能是非確定性的,並且特定於高度用法。簡而言之,您的里程可能會有所不同。不要將此文章(或任何其他)文章作為最後一句話 - 目的是在您自己的情況下測試這些模型

AI投資組合|如何為AI職業建立投資組合?AI投資組合|如何為AI職業建立投資組合?Apr 18, 2025 am 11:40 AM

建立杰出的AI/ML投資組合:初學者和專業人士指南 創建引人注目的投資組合對於確保在人工智能(AI)和機器學習(ML)中的角色至關重要。 本指南為建立投資組合提供了建議

代理AI對安全操作可能意味著什麼代理AI對安全操作可能意味著什麼Apr 18, 2025 am 11:36 AM

結果?倦怠,效率低下以及檢測和作用之間的差距擴大。這一切都不應該令任何從事網絡安全工作的人感到震驚。 不過,代理AI的承諾已成為一個潛在的轉折點。這個新課

Google與Openai:AI為學生打架Google與Openai:AI為學生打架Apr 18, 2025 am 11:31 AM

直接影響與長期夥伴關係? 兩週前,Openai提出了強大的短期優惠,在2025年5月底之前授予美國和加拿大大學生免費訪問Chatgpt Plus。此工具包括GPT-4O,A A A A A

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)