首頁 > 科技週邊 > 人工智慧 > 使用Autogen建立多代理聊天機器人的動手指南

使用Autogen建立多代理聊天機器人的動手指南

Joseph Gordon-Levitt
發布: 2025-03-19 09:51:14
原創
481 人瀏覽過

Autogen賦予了精緻的多代理聊天機器人開發,超越了簡單的問答系統。本文詳細介紹了自動基因如何促進諸如順序和嵌套聊天等高級對話模式,從而為複雜的工作流提供了動態的多參與者相互作用。我們以前探索了兩個代理聊天機器人;這擴展了該基礎。

目錄

  • 什麼是多代理聊天機器人?
  • Autogen的對話模式
  • 了解順序聊天
  • 先決條件
  • 執行
    • 定義任務
    • 定義代理
    • 示例對話
    • 分析結果
  • 結論
  • 常見問題

什麼是多代理聊天機器人?

多代理聊天機器人利用多個專業的AI代理協作來處理複雜的任務或對話。每個代理在特定領域都有專業知識(例如,問題回答,建議生成,數據分析)。這種勞動分裂會產生更準確,更有效的反應。多個代理商的協調努力比單一代理系統提供了更豐富,更細微的互動,使其適合於客戶服務,電子商務和教育中的複雜方案。

Autogen的對話模式

Autogen提供了幾種用於管理多代理互動的對話模式:

  1. 順序聊天:一系列兩種代理對話,每個聊天的摘要都會告知下一個。
  2. 小組聊天:涉及多個代理的單一對話,需要戰略代理響應管理。
  3. 嵌套聊天:將工作流程封裝在單個代理中,以在較大的工作流程中重複使用。

本文著重於實施順序聊天。

了解順序聊天

順序聊天涉及一系列兩種代理對話。一個聊天的摘要成為後續聊天的上下文。

使用Autogen建立多代理聊天機器人的動手指南

該圖說明了一系列聊天的序列,有可能在聊天中與共同的代理或每種交互的不同代理。當任務可將任務分解為相互依存的子任務時,這種方法是有價值的,每個任務都是由專業代理人處理的。

先決條件

在構建Autogen代理之前,請獲取必要的LLM API鍵,並設置tavely以供網絡搜索。將API鍵加載到.env文件中。定義LLM配置:

 config_list = {
    “ config_list”:[{“模型”:“ GPT-4O-Mini”,“溫度”:0.2}]
}
登入後複製

安裝autogen-agentchat (版本0.2.37或更高版本)。

執行

此示例使用Nvidia和Apple創建了股票分析系統。

定義任務

financial_tasks = [
    ”““當前NVDA和AAPL的股票價格是多少?在過去一個月的變化方面,表現如何?
    “”“調查股票績效利用市場新聞的可能原因。
這是給出的

Writing_tasks = [“”“使用提供的任何信息開發引人入勝的博客文章。”“]
登入後複製

定義代理

進口汽車

financial_assistant = autogen.assistantagent(name =“ financial_assistant”,llm_config = config_list)
research_assistant = autogen.assistantagent(name =“研究人員”,llm_config = config_list)
writer = autogen.assistantagent(name =“ writer”,llm_config = config_list,system_message =“”“”
    您是一位專業作家,以您有見地和引人入勝的文章而聞名。
    您將復雜的概念轉變為引人入勝的敘述。
    當一切完成時,回复“終止”。
    ”“”)

user_proxy_auto = autogen.userproxyagent(name =“ user_proxy_auto”,human_input_mode =“始終”,
                                         is_termination_msg = lambda x:x.get(“ content”,“”).rstrip()。endswith(“ terminate”),
                                         code_execution_config = {“ work_dir”:“任務”,“ use_docker”:false})

user_proxy = autogen.userproxyagent(name =“ user_proxy”,human_input_mode =“始終”,
                                    is_termination_msg = lambda x:x.get(“ content”,“”).rstrip()。endswith(“ terminate”),
                                    code_execution_config = false)
登入後複製

user_proxy_auto處理代碼執行(設置human_input_mode="ALWAYS"以進行代碼審查)。 user_proxy與作者代理進行交互。

示例對話

chat_results = autogen.initiate_chats([
    {“ sender”:user_proxy_auto,“收件人”:financial_assistant,“ message”:financial_tasks [0],“ clear_history”:true,“ norde”:silent':silent':false,“ summary_method”:“ last_msg”},
    {“ sender”:user_proxy_auto,“收件人”:research_assistant,“消息”:financial_tasks [1],“ summary_method”:“ reflection_with_llm”},
    {“ sender”:user_proxy,“收件人”:作者,“消息”:writing_tasks [0]}
)))
登入後複製

分析結果

chat_results變量包含每個代理的對話歷史記錄。該示例顯示了作者代理的輸出:

使用Autogen建立多代理聊天機器人的動手指南

結論

Autogen的順序聊天模式可以創建能夠處理複雜任務和對話的複雜多代理聊天機器人。這種方法對於需要協作AI代理的各種應用程序非常有益。

常見問題

Q1。什麼是多代理聊天機器人,它們如何工作?多代理聊天機器人利用多個專業代理來通過分配任務來協作管理複雜的對話。

Q2。 Autogen支持哪些對話模式? Autogen支持順序,組和嵌套的聊天模式,以有效地協調。

Q3。順序聊天在Autogen中如何功能?順序聊天鏈雙手對話,使用每個聊天的摘要作為下一個上下文。

Q4。 Autogen多代理模式的實際應用是什麼?這些模式在客戶服務,金融,電子商務和其他需要復雜的自適應聊天機器人交互的領域中很有價值。

以上是使用Autogen建立多代理聊天機器人的動手指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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