首頁 > 科技週邊 > 人工智慧 > 使用CREWAI在多代理系統中構建輸入和輸出

使用CREWAI在多代理系統中構建輸入和輸出

Christopher Nolan
發布: 2025-03-20 10:36:11
原創
788 人瀏覽過

優化基於代理的系統:結構輸入和輸出以提高性能

想提高基於代理的系統的性能嗎?一個關鍵策略是精心構建代理之間交換的輸入和中間輸出。本文詳細介紹瞭如何組織輸入,利用佔位持有人進行數據傳輸,並結構輸出以確保每個代理都能提供預期的結果。通過優化這些元素,您將獲得代理系統的更一致和可靠的結果。代理系統利用多個代理人協作,交流和解決問題的能力超過單個LLM的功能。本指南使用Crewai,Pydantic模型和JSON在多代理上下文中構建輸出(和輸入)。

使用CREWAI在多代理系統中構建輸入和輸出

主要考慮因素

  1. 結構良好的輸入和輸出對於基於代理的系統性能至關重要。
  2. Pydantic模型提供數據驗證和組織間通信的組織。
  3. Crewai促進代理集成,任務執行和輸入/輸出數據管理。
  4. 結構化數據可防止數據丟失和不一致,從而促進無縫協作。
  5. 使用模型或JSON定義預期輸出可以增強精度和可靠性。
  6. 有效的數據管理優化了用於復雜任務的多代理系統。

目錄

  • 主要考慮因素
  • 利用Pydantic模型
  • Pydantic模型示例
  • 安裝
  • 結構輸入
  • 結構輸出
  • 結論
  • 常見問題

利用Pydantic模型

Pydantic庫提供的Pydantic模型是設計用於數據解析和驗證的Python對象。它們可以創建Python類(模型),該類別在實例化時自動驗證數據,從而確保輸入數據匹配預期類型和約束。這樣可以確保可靠的結構化數據處理。

關鍵功能:

特徵 描述
數據驗證 驗證針對預期類型(例如, intstrlist )和自定義規則的輸入數據。
自動類型轉換 自動將兼容的數據類型轉換為datetime.date (例如,“ 2024-10-27”)。
數據序列化 將數據序列化為JSON等格式,簡化了API交互。
預設值 允許靈活輸入處理的可選字段或默認值。

Pydantic模型示例

讓我們創建一個從Pydantic的BaseModel繼承的UserModel 。實例化類需要一個整數id ,一個字符串name和電子郵件地址。

來自Pydantic Import Basemodel
類Usermodel(basemodel):
    id:int
    名稱:str
    電子郵件:str

#有效輸入
有效_user = usermodel(id = 1,name =“ vidhya”,email =“ vidhya@example.com”)
打印(有效_user)

#無效輸入(提出驗證錯誤)
嘗試:
    invalid_user = usermodel(id =“一個”,name =“ vidhya”,email =“ vidhya@example.com”)
除了e:e:
    打印(f“驗證錯誤:{e}”)
登入後複製

這證明了當提供錯誤的數據類型時,Pydantic的錯誤處理。

讓我們探索可選,日期和默認值功能:

來自Pydantic Import Basemodel
從輸入導入可選
從DateTime導入日期
類EventModel(basemodel):
    event_name:可選[str] =無#可選字段
    event_loc:str =“印度”#默認值
    event_date:日期

#自動轉換
event = eventmodel(event_date =“ 2024-10-27”)
打印(事件)
登入後複製

這顯示了可選字段和自動類型轉換。

安裝

安裝Crewai:

 PIP安裝CREWAI
登入後複製

結構輸入

在定義代理和任務時,使用變量名稱在捲曲括號{}中格式化。設置human_input=True提示用戶以獲取輸出反饋。以下是回答物理問題的代理和任務的示例:

來自Crewai進口代理,任務,機組人員
導入操作系統
os.environ ['openai_api_key'] =''#用鑰匙替換
os.environ ['OpenAi_Model_name'] ='GPT-4O-MINI-2024-07-18'#或您的首選模型

#...(原始示例中的代理和任務定義)...
登入後複製

輸入通過crew.kickoff()中的inputs參數傳遞。

結構輸出

讓我們創建代理來收集用戶詳細信息(名稱,電子郵件,電話,作業)。將輸出構建為Pydantic模型或JSON定義了預期的輸出格式,以確保後續代理接收結構化數據。

來自Pydantic Import Basemodel
從輸入導入列表

#...(pydantic模型定義如原始示例中)...

#...(如原始示例中的代理和任務定義,使用output_pydantic和output_json)...
登入後複製

最終代理結合了所有詳細信息,使用output_file將輸出保存到文件。

結論

本文強調了使用Pydantic和Crewai在多代理系統中結構輸入和輸出的重要性。結構良好的數據可增強性能,可靠性並防止錯誤。這些策略為複雜的任務建立了更強大的代理系統。

常見問題

Q1。什麼是基於代理的系統?基於代理的系統使用多種代理來解決問題,超過了單個LLM的功能。

Q2。什麼是克魯伊? Crewai是管理代理系統,簡化代理協作和數據處理的框架。

Q3。如何在Crewai中輸入圖像?一種方法是提供圖像URL作為輸入變量。

Q4。什麼是pydantic模型? Pydantic模型驗證數據并序列化數據,以確保基於代理的系統中的數據完整性。

Q5。如何使用Pydantic構建輸出?定義Pydantic模型中的預期輸出字段,以確保對後續代理的數據格式一致。

以上是使用CREWAI在多代理系統中構建輸入和輸出的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板