搜尋
首頁科技週邊人工智慧如何使用Crewai和Ollama建立多代理系統?

介紹

不想在API上花錢,還是您擔心隱私?還是您只想在本地運行LLMS?不用擔心;本指南將幫助您使用完全免費的本地LLM構建代理和多代理框架。我們將探討如何使用Crewai和Ollama構建多代理系統,並查看Ollama可用的多個LLM。

如何使用Crewai和Ollama建立多代理系統?

概述

  • 本指南重點介紹使用Crewai和Ollama的本地LLM構建代理框架和多代理系統,提供了無需成本和隱私的解決方案。
  • 它介紹了與Crewai和Ollama的代理商和多代理框架的關鍵概念,並強調了它們在各個行業的自主,協作問題解決的角色中的作用。
  • Crewai被強調為在代理之間進行任務的高級框架。它使用結構化的角色,目標和內存管理來改善任務執行。
  • Ollama在本地啟用了運行語言模型,例如Llama2,Llama3和Llava,允許用戶繞過AI任務的雲服務。
  • 本文包括一個實用的示例,該示例是建立用於使用Crewai和Ollama的圖像分類,描述和信息檢索的多代理系統。
  • 結論強調了使用不同的LLM進行專業任務的好處,並展示了將Crewai和Ollama組合在當地環境中的靈活性。

目錄

  • 介紹
  • 代理商,代理框架和CREWAI
    • 代理框架
    • Crewai框架
    • CREWAI的關鍵優勢
    • 霍拉馬
  • 構建多代理系統
    • 目標
    • 成分
  • 讓我們構建我們的多代理系統
    • 導入所需的庫
    • 定義代理
    • 為每個代理定義任務
    • 與機組人員一起管理代理商和任務
  • 結論
  • 常見問題

代理商,代理框架和CREWAI

生成的AI已從基本的大語言模型(LLM)轉變為高級多代理系統。從理論上講,代理是能夠計劃,推理和行動而無需人類投入的自主系統。這些試劑旨在減少人類參與的同時擴大功能。

如何使用Crewai和Ollama建立多代理系統?

另請閱讀:2024年建造AI代理的前5個框架

代理框架

這些框架利用多個代理商協同工作,允許超過一次性代理能力的協作,溝通和解決問題。在這些框架中,代理具有不同的角色和目標,並且可以執行複雜的任務。諸如Crewai和Ollama之類的多代理框架對於大規模,動態和分佈的問題解決至關重要,使它們在機器人,金融,醫療保健等行業中具有適應性。

代理框架的關鍵組成部分

  • 代理體系結構:定義代理的內部結構,包括計劃,推理和通信協議。
  • 通信協議:通過消息和數據交換的代理協作方法。
  • 代理交互設計:代理協作的機制,包括任務分配和衝突解決方案。
  • 環境:代理相互作用的設置,通常包括外部工具和資源。

這些框架可實現模塊化和可擴展系統,使修改或添加代理變得容易適應不斷發展的需求。

Crewai框架

Crewai是一個先進的多代理框架,使多個代理商(稱為“機組人員”)可以通過任務編排進行協作。該框架將代理劃分為三個屬性:正確,目標和背景故事 - 對每個代理的功能有透徹的理解。這種結構化方法減輕了規格不足的風險,改善了任務定義和執行。

CREWAI的關鍵優勢

  • 明確的任務定義:任務定義明確,可確保每個代理商所做的事情。
  • 工具使用:特定於任務的工具先於代理級工具,創建更精細和受控的工具集。
  • 代理交互過程:CREWAI支持順序和分層代理協作過程。
  • 高級內存管理:該框架提供了短期,長期,實體和上下文記憶,從而促進了複雜的推理和學習。

另請閱讀:與Crewai建立協作AI代理商

霍拉馬

Ollama是在本地機器上構建和運行語言模型的框架。它易於使用,因為我們可以直接在設備上運行模型而無需基於雲的服務。對隱私不擔心。

Ollama互動:

我們可以運行PIP安裝Ollama命令將Ollama與Python集成。

現在,我們可以使用Ollama Pull命令下載模型以下載模型。

讓我們運行這些:

 Ollama拉拉馬2

Ollama拉拉馬3

Ollama拉拉瓦

現在,我們本地有3種大型語言模型(LLM):

  1. Llama 2 :Meta的開源大語模型。
  2. Llama 3 :Meta的Llama系列的最新迭代,進一步提高了具有增加參數大小和效率的複雜語言生成任務的功能。
  3. LLAVA :一種旨在圖像和文本理解任務的視覺語言模型。

我們可以通過運行Ollama Run Model-Name在本地使用這些模型,這是一個示例:

如何使用Crewai和Ollama建立多代理系統?

您可以按CTRL D退出。

另請閱讀:如何與Ollama在本地運行LLM模型?

構建多代理系統

讓我們開始構建以圖像為輸入的代理系統,並提供有關係統中動物的一些有趣事實。

目標

  1. 構建用於使用Crewai的圖像分類,描述和信息檢索的多代理系統
  2. 自動決策:代理執行特定任務,例如在圖像中識別動物,描述它們並獲取相關事實。
  3. 任務測序:通過逐步代理系統中的任務進行協調代理。

成分

  1. 分類器代理:標識輸入圖像是否包含使用LLAVA:7B模型的動物。
  2. 描述代理:描述圖像中的動物,也由llava提供動力:7b。
  3. 信息檢索代理:使用Llama2獲取有關動物的其他事實。
  4. 任務定義:每個任務都與特定代理有關,指導其動作。
  5. 機組管理:機組人員協調代理操作,執行任務並根據輸入圖像匯總結果

如何使用Crewai和Ollama建立多代理系統?

默認情況下,任務在Crewai中依次執行。您可以添加任務管理器來控制執行順序。此外,允許_ -Delegation功能允許代理要求其先前的代理在需要時再生響應。將內存設置為TRUE使代理可以從過去的交互中學習,您可以選擇配置任務以詢問有關輸出的人類反饋。

另請閱讀:與Crewai建立協作AI代理商

讓我們構建我們的多代理系統

在開始之前,讓我們安裝所有必要的軟件包:

 PIP安裝CREWAI

PIP安裝“ CREWAI [工具]'

PIP安裝Ollama

導入所需的庫

來自Crewai進口代理,任務,機組人員

導入pkg_resources

#獲取Crewai的版本

crewai_version = pkg_resources.get_distribution(“ crewai”)。版本

打印(crewai_version)
0.61.0

定義代理

在這裡,我們定義了三個具有特定角色和目標的代理商。每個代理都負責與圖像分類和描述有關的任務。

  • 分類器劑:檢查圖像是否包含動物,使用Llava:7b模型對動物進行分類。
  • 描述代理:描述圖像中的動物。這也使用相同的llava:7b模型,例如前面的代理。
  • 信息檢索代理:該代理檢索有關動物的其他信息或有趣的事實。它使用Llama2提供此信息。
 #1。圖像分類器代理(檢查圖像是否是動物)

classifier_agent =代理(

角色=“圖像分類器代理”,

目標=“確定圖像是否是動物”,

backstory =“”“”

您有動物的目光!您的工作是確定輸入圖像是否是動物的

或其他。

”“”,

llm ='ollama/llava:7b'#與圖像相關的任務的模型

)

#2。動物描述代理(描述圖像中的動物)

description_agent =代理(

角色=“動物描述代理{image_path}”,

目標=“描述圖像中的動物”,

backstory =“”“”

你愛自然和動物。您的任務是根據圖像描述任何動物。

”“”,

llm ='ollama/llava:7b'#與圖像相關的任務的模型

)

#3。信息檢索代理(獲取有關動物的其他信息)

info_agent =代理(

角色=“信息代理”,

目標=“提供有關某種動物的引人入勝的信息”,

backstory =“”“”

您非常擅長講有趣的事實。

如果您不知道,您不會提供任何錯誤的信息。

”“”,

llm ='ollama/llama2'#通用知識檢索模型

)

另請閱讀:生成AI應用程序的代理框架

為每個代理定義任務

每個任務都與一位代理有關。任務描述輸入,預期輸出以及哪個代理應處理。

  • 任務1 :對圖像是否包含動物進行分類。
  • 任務2 :如果將圖像歸類為動物,請描述它。
  • 任務3 :根據描述提供有關動物的其他信息。
 #任務1:檢查圖像是否是動物

任務1 =任務(

description =“對圖像進行分類({image_path}),並告訴我是否是動物。”,,

Exceels_output =“如果是動物,請說'動物';否則,說'不是動物'。

代理= clastifier_agent

)

#任務2:如果是動物,請描述

任務2 =任務(

描述=“描述圖像中的動物。({image_path})”,

Exceels_output =“給動物的詳細描述。”,

代理= description_agent

)

#任務3:提供有關動物的更多信息

任務3 =任務(

描述=“提供有關描述動物的其他信息。”,

Exceels_output =“至少提供5個有趣的事實或有關動物的信息。”,,

代理= info_agent

)

與機組人員一起管理代理商和任務

設立了機組人員來管理代理和任務。它依次協調任務,並基於代理的思想鏈提供結果。

 #機組人員管理代理和任務

船員=船員(

代理= [classifier_agent,description_agent,info_agent],,

任務= [task1,task2,task3],

冗長= true

)

#用提供的圖像路徑執行任務

結果= crew.kickoff(inputs = {'image_path':'racoon.jpg'})

如何使用Crewai和Ollama建立多代理系統?

我已經為Crewai框架提供了浣熊的圖像,這是我得到的輸出:

注意:確保圖像在工作目錄中,或者您可以提供完整的路徑。

輸出

#代理:圖像分類器代理<br><br>##任務:對圖像進行分類(Racoon.jpg),並告訴我它是否是動物。<br><br> #代理:圖像分類器代理<br><br>##最終答案:<br><br>根據我的分析,圖像(racoon.jpg)包含浣熊,<br> 確實是動物。因此,最終答案是“動物”。<br><br> #代理:動物說明代理racoon.jpg<br><br> ##任務:描述圖像中的動物。 (Racoon.jpg)<br><br> #代理:動物說明代理racoon.jpg<br><br> ##最終答案:<br><br>圖像(Racoon.jpg)具有浣熊,這是一種哺乳動物<br> 對各種環境的敏捷性和適應性。浣熊是特徵的<br> 通過他們獨特的黑色“面具”的眼睛和耳朵以及<br> 灰色或褐色的外套,臉部和爪子上有白色的標記。他們有<br> 相對較短的尾巴和小的圓耳。浣熊是雜食和<br> 具有高度靈巧的前爪,它們用來操縱物體。他們<br> 還以其智慧和解決問題的能力而聞名<br> 打開容器或攀登樹。<br><br> #代理:信息代理<br><br>##任務:提供有關描述動物的其他信息。<br><br> #代理:信息代理<br><br>##最終答案:<br><br>這是關於浣熊的5個有趣的事實:<br><br> 1。浣熊的前爪具有出色的靈巧性,他們用來<br> 用非常精確地操縱對象。實際上,研究表明<br> 浣熊能夠打開容器並執行其他任務<br> 人類的技能水平與人類相抗衡!<br><br> 2。儘管它們的外觀可愛,但浣熊還是強大的獵人,可以<br> 捕獲各種各樣的獵物,包括魚,昆蟲和小型哺乳動物。<br> 他們敏感的鼻子有助於他們在黑水中找到食物或<br> 草叢。<br><br> 3。浣熊具有高度適應性,可以在一系列棲息地中找到,<br> 從森林到沼澤到城市地區。他們甚至知道爬樹<br> 和在水中游泳!<br><br> 4。除了他們的智慧和解決問題的技能外,浣熊<br> 具有出色的記憶力,能夠識別並與之互動<br> 人類和其他動物。他們還可以學會執行技巧<br> 和通過培訓的任務。<br><br> 5。與許多其他哺乳動物不同,浣熊​​在冬季不冬眠<br> 月份。相反,他們進入了一個被稱為Torpor的休眠狀態,<br> 使他們能夠節省能源並在惡劣的天氣條件下生存。期間<br> 這次,他們的心率大大減慢了,大約每次70-80次<br> 只有10-20分鐘!<br><br>我希望這些有趣的事實將對<br> 迷人的浣熊物種!

分類器確認它是一種動物,然後是Llava:7b模型的代理描述了動物和圖像,然後將其順序傳遞給信息劑。儘管使用了基於文本的模型Llama2的信息代理,但它可以使用以前的代理商的上下文並提供有關浣熊的信息。

另請閱讀:與Llama 3.1,Ollama和Langchain建立響應式聊天機器人

結論

根據其優勢使用多個LLM是很好的,因為不同的模型在不同的任務上都表現出色。我們已經使用Crewai和Ollama展示了多代理協作,並在Ollama本地使用了LLMS。是的,出於明顯的原因,Ollama模型可能比基於雲的模型要慢,但是都有優點和缺點。代理框架的有效性取決於工作流以及正確的工具和LLM的使用來優化結果。

常見問題

Q1。什麼是crewai中的允許delegation?

Ans。設置為true時,此crewai參數使代理可以將任務分配給他人,從而實現複雜的任務流和協作。

Q2。 Crewai如何使用Pydantic對象?

Ans。 Crewai使用Pydantic對象來定義和驗證任務輸入/輸出數據結構,以確保代理以預期格式接收和生成數據。

Q3。 Crewai如何管理任務流和代理協作?

Ans。 Crewai通過將代理和任務組織到“機組人員”對像中來管理此操作,從而根據用戶定義的依賴項順序協調任務。

Q4。我可以與Crewai和Ollama一起使用自定義LLM嗎?

Ans。是的,兩者都支持自定義LLM。對於Crewai,在創建代理時指定模型路徑/名稱。對於Ollama,請關注他們的文檔構建和運行自定義模型。

以上是如何使用Crewai和Ollama建立多代理系統?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
AI技能差距正在減慢供應鏈AI技能差距正在減慢供應鏈Apr 26, 2025 am 11:13 AM

經常使用“ AI-Ready勞動力”一詞,但是在供應鏈行業中確實意味著什麼? 供應鏈管理協會(ASCM)首席執行官安倍·埃什肯納齊(Abe Eshkenazi)表示,它表示能夠評論家的專業人員

一家公司如何悄悄地努力改變AI一家公司如何悄悄地努力改變AIApr 26, 2025 am 11:12 AM

分散的AI革命正在悄悄地獲得動力。 本週五在德克薩斯州奧斯汀,Bittensor最終遊戲峰會標誌著一個關鍵時刻,將分散的AI(DEAI)從理論轉變為實際應用。 與閃閃發光的廣告不同

NVIDIA釋放NEMO微服務以簡化AI代理開發NVIDIA釋放NEMO微服務以簡化AI代理開發Apr 26, 2025 am 11:11 AM

企業AI面臨數據集成挑戰 企業AI的應用面臨一項重大挑戰:構建能夠通過持續學習業務數據來保持準確性和實用性的系統。 NeMo微服務通過創建Nvidia所描述的“數據飛輪”來解決這個問題,允許AI系統通過持續接觸企業信息和用戶互動來保持相關性。 這個新推出的工具包包含五個關鍵微服務: NeMo Customizer 處理大型語言模型的微調,具有更高的訓練吞吐量。 NeMo Evaluator 提供針對自定義基準的AI模型簡化評估。 NeMo Guardrails 實施安全控制,以保持合規性和適當的

AI為藝術與設計的未來描繪了一幅新圖片AI為藝術與設計的未來描繪了一幅新圖片Apr 26, 2025 am 11:10 AM

AI:藝術與設計的未來畫卷 人工智能(AI)正以前所未有的方式改變藝術與設計領域,其影響已不僅限於業餘愛好者,更深刻地波及專業人士。 AI生成的藝術作品和設計方案正在迅速取代傳統的素材圖片和許多交易性設計活動中的設計師,例如廣告、社交媒體圖片生成和網頁設計。 然而,專業藝術家和設計師也發現AI的實用價值。他們將AI作為輔助工具,探索新的美學可能性,融合不同的風格,創造新穎的視覺效果。 AI幫助藝術家和設計師自動化重複性任務,提出不同的設計元素並提供創意輸入。 AI支持風格遷移,即將一種圖像的風格應用

Zoom如何徹底改變與Agent AI的合作:從會議到里程碑Zoom如何徹底改變與Agent AI的合作:從會議到里程碑Apr 26, 2025 am 11:09 AM

Zoom最初以其視頻會議平台而聞名,它通過創新使用Agentic AI來引領工作場所革命。 最近與Zoom的CTO XD黃的對話揭示了該公司雄心勃勃的願景。 定義代理AI 黃d

對大學的存在威脅對大學的存在威脅Apr 26, 2025 am 11:08 AM

AI會徹底改變教育嗎? 這個問題是促使教育者和利益相關者的認真反思。 AI融入教育既提出了機遇和挑戰。 正如科技Edvocate的馬修·林奇(Matthew Lynch)所指出的那樣

原型:美國科學家正在國外尋找工作原型:美國科學家正在國外尋找工作Apr 26, 2025 am 11:07 AM

美國科學研究和技術發展或將面臨挑戰,這或許是由於預算削減導致的。據《自然》雜誌報導,2025年1月至3月期間,美國科學家申請海外工作的數量比2024年同期增加了32%。此前一項民意調查顯示,75%的受訪研究人員正在考慮前往歐洲和加拿大尋找工作。 過去幾個月,數百項NIH和NSF的撥款被終止,NIH今年的新撥款減少了約23億美元,下降幅度接近三分之一。洩露的預算提案顯示,特朗普政府正在考慮大幅削減科學機構的預算,削減幅度可能高達50%。 基礎研究領域的動盪也影響了美國的一大優勢:吸引海外人才。 35

所有有關打開AI最新的GPT 4.1家庭的信息 - 分析Vidhya所有有關打開AI最新的GPT 4.1家庭的信息 - 分析VidhyaApr 26, 2025 am 10:19 AM

Openai推出了強大的GPT-4.1系列:一個專為現實世界應用設計的三種高級語言模型家族。 這種巨大的飛躍提供了更快的響應時間,增強的理解和大幅降低了成本

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脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。