検索
ホームページテクノロジー周辺機器AIAutogenを使用したマルチエージェントネストチャットを構築するための4つのステップ

オートゲンのネストされたチャット:より多くの応答性と動的なAIプロキシ相互作用を構築する

人工知能(AI)の進歩により、チャットボットが迅速に発展することができました。今日、AIエージェントの出現により、チャットボットは、従来の会話の制限をはるかに超えて、より複雑で階層化された相互作用を処理することができます。以前の記事「Autogenを使用したマルチエージェントチャットボットの構築」では、Autogenを使用したシーケンシャルチャットの概念を調査します。これにより、複数のエージェント間の構造化された回転通信が可能になります。これに基づいて、より複雑な機能、ネストされたチャットに移動します。 Autogenの強力なフレームワークを使用すると、ネストされた対話により、ロボットは固定順序に従うのではなく、スムーズな通信を維持できます。彼らは、単一の会話フローで他のツールを掘り下げ、中断を処理し、スムーズに回復することができます。この記事では、オートゲンにネストされたチャットを実装するように導き、レスポンシブで動的なプロキシインタラクションを作成する際の関連性を強調します。

目次

  • ネストされたチャットとは何ですか?
  • オートゲンにネストされたチャットを実装します
    • 前提条件
    • ステップ1:ツールを使用して、アウトラインプロキシを定義する
    • ステップ2:ライターおよびレビュアーエージェントを定義します
    • ステップ3:ネストされたチャットに登録します
    • ステップ4:ネストされたチャットを開始します
  • よくある質問

ネストされたチャットとは何ですか?

まず、ネストされたチャットとは何かを理解しましょう。

循環会話に繰り返し関与するために2つのプロキシ会話が必要な3パーティのプロキシチャットを検討してください。これら2つのエージェント間のチャットをネストされたチャットに追加できます。この別々の会話を完了した後、エージェントはコンテキストをメインの会話に戻すことができます。

次の図は、ネストされたチャットの変換プロセスを示しています。

Autogenを使用したマルチエージェントネストチャットを構築するための4つのステップ

着信メッセージが条件をトリガーすると、メッセージはネストされたチャットに入ります。ネストされたチャットは、デュアルプロキシチャット、シーケンシャルチャット、またはその他のチャットにすることができます。ネストされたチャットのチャット結果は、メインの会話に送り返されます。

オートゲンにネストされたチャットを実装します

この記事では、ネストされたチャットを使用して、記事執筆システムを構築します。これを行うために、3つのエージェントを作成します。1つは記事の概要を書くために、もう1つはこのアウトラインから記事を書くために、もう1つは記事をレビューするためです。ライターとレビュアーに何度もお互いに話しかけることを望んでいるので、これら2人のエージェントをネストされたチャットに入れます。

さらに、ネットワーククエリツールにアクセスする許可を得て、プロファイルプロキシを提供します。

それでは、コードでこれをしましょう。

前提条件

Autogen Proxyを構築する前に、必要なLLMに必要なAPIキーがあることを確認してください。この演習では、ネットワークを検索するためにTavilyも使用します。

必要なAPIキーに.ENVファイルをロードします。ここでは、OpenAIおよびTavily API Key()を使用します。

 <code>from dotenv import load_dotenv load_dotenv('/home/santhosh/Projects/courses/Pinnacle/.env')</code>

config_listとして使用するLLMを定義します

<code>config_list = { "config_list": [{"model": "gpt-4o-mini", "temperature": 0.2}] }</code>

必要なキーストア

Autogen-AgentChat - 0.2.37

Tavily-Python - 0.5.0

それでは、実装を始めましょう。

ステップ1:ツールを使用して、アウトラインプロキシを定義する

user_proxyプロキシを定義します。これは、ツールも実行されます。次に、LLMを使用してアウトラインを定義して、記事の概要を生成します。

 <code>from autogen import ConversableAgent user_proxy = ConversableAgent( name="User", llm_config=False, is_termination_msg=lambda msg: msg.get("content") is not None and "TERMINATE" in msg["content"], human_input_mode="TERMINATE") outline = ConversableAgent( name="Article_outline", system_message="""您是一位经验丰富的內容策略師,負責為指定主題的文章創建詳細的提綱。您的目標是將文章組織成邏輯部分,以便清晰有效地傳達主要思想。如有需要,請使用web_search工具。任務完成後返回“TERMINATE”。""", llm_config=config_list, silent=False, )</code>

Web_search関数を定義して、ネットワークを照会します。

 <code>def web_search(query: str) -> str: tavily_client = TavilyClient() response = tavily_client.search(query, max_results=3, days=10, include_raw_content=True) return response['results']</code>

executor user_proxyを使用して、web_search関数をアウトラインプロキシに登録します。

執行者をuser_proxyに設定して、作家のエージェントに送信されたアウトラインを確認できるようにします。

 <code>register_function( web_search, caller=outline, # 助手代理可以建议调用。 executor=user_proxy, # 用户代理可以执行调用。 name="web_search", # 默认情况下,函数名称用作工具名称。 description="搜索互联网以获取给定查询的结果", # 工具的描述。 )</code>

ステップ2:ライターおよびレビュアーエージェントを定義します

記事コンテンツを生成する1つのエージェントと、記事を確認し、改善の提案を提供する別のエージェントを定義します。

 <code>writer = ConversableAgent( name="Article_Writer", system_message="""您是一位熟练的作家,负责根据给定的提纲创作一篇全面、引人入胜的文章。您的目标是遵循提纲中提供的结构,用经过充分研究、清晰且内容翔实的內容扩展每个部分。保持文章长度约为500字。如有需要,請使用web_search工具。任務完成後返回“TERMINATE”。""", llm_config=config_list, silent=False, ) reviewer = ConversableAgent( name="Article_Reviewer", system_message="""您是一位熟练的技术文章审阅者。审阅给定的文章,并提供建议以使文章更具吸引力和趣味性。""", llm_config=config_list, silent=False, )</code>

ステップ3:ネストされたチャットに登録します

これで、両方のエージェントのネストされたチャットを登録できます。

 <code>writer.register_nested_chats( trigger=user_proxy, chat_queue=[ { "sender": reviewer, "recipient": writer, "summary_method": "last_msg", "max_turns": 2, } ], )</code>

上記のコードでは、user_proxyがWriter Proxyにメッセージを送信すると、ネストされたチャットがトリガーされます。その後、ライターエージェントが記事を書き、レビュアーエージェントはMAX_TURNS(この場合は2回)に基づいて記事を複数回レビューします。最後に、ネストされたチャットの結果はユーザーエージェントに送り返されます。

ステップ4:ネストされたチャットを開始します

すべてがセットアップされたので、チャットを始めましょう

<code>chat_results = user_proxy.initiate_chats( [{"recipient": outline, "message": "撰写一篇关于微软发布的Magentic-One代理系统的文章。", "summary_method": "last_msg", }, {"recipient": writer, "message": "这是文章提纲", "summary_method": "last_msg", }])</code>

ここでは、Magentic-One Agent Systemに関する記事を書きます。まず、user_proxyプロキシは、アウトラインプロキシとのチャットを開始し、Writer Proxyとのチャットを開始します。

これで、上記のコードの出力が次のようになります。

Autogenを使用したマルチエージェントネストチャットを構築するための4つのステップ

ご覧のとおり、user_proxyは最初に、記事の主題を説明するアウトラインプロキシにメッセージを送信します。これにより、ツールコールがトリガーされ、user_proxyがツールを実行します。これらの結果に基づいて、アウトラインエージェントはアウトラインを生成し、ライターエージェントに送信します。その後、上記のように、ライターエージェントとレビュアーエージェントの間のネストされたチャットは継続されます。

それでは、最終結果、つまりMagic-Oneに関する記事を印刷しましょう。

 <code>print(chat_results[1].chat_history[-2]['content'])</code>

Autogenを使用したマルチエージェントネストチャットを構築するための4つのステップ

結論は

Autogenのネストされたチャットは、単一の会話プロセスで複雑なマルチタスクインタラクションを有効にすることにより、チャットボットの機能を強化します。ネストされたチャットにより、ボットは専用のチャットを個別に開始し、出力をシームレスに統合できます。この機能は、eコマースからヘルスケアまで、さまざまなアプリケーションに対する動的なターゲットを絞った応答をサポートしています。ネストされたチャットにより、Autogenはより応答性の高いコンテキスト対応AIシステムへの道を開きます。これにより、開発者はさまざまなユーザーのニーズを効果的に満たすことができる複雑なチャットボットを構築できます。

AIエージェントの詳細については、独占エージェントAI Pioneerプログラムをご覧ください!

よくある質問

Q1。 A. Autogenでのネストされたチャットにより、チャットボットはチャットプロセスで複数のサブコンバージョンを管理できます。多くの場合、特定の情報を取得するために他のエージェントまたはツールが含まれます。構造化された回転アプローチに続くシーケンシャルチャットとは異なり、ネストされたチャットにより、ボットは割り込みと並列タスクを処理し、その出力をメインの会話に統合できます。

Q2。 A.ネストされたチャットは、ボットがプロのエージェントにタスクを委任できるようにすることにより、カスタマーサポートを改善します。たとえば、eコマースでは、チャットボットが別のエージェントを参照して注文ステータスまたは製品情報を確認し、情報をシームレスに転送し、より速くより正確な応答を確保することができます。

Q3。 A.ネストされたチャットは、さまざまな業界に適用できます。銀行業界では、人事部門での専門的なサポートを提供しています。この柔軟性により、ネストされたチャットは、マルチタスクと詳細な情報処理が必要なあらゆる分野に適しています。

Q4。 A.はい、Autogenにネストされたチャットを実装するには、言語モデルやTavilyなどのWeb検索ツールなどの特定のAPIキーを使用してプロキシを構成する必要があります。さらに、各エージェントは、ネストされた会話をスムーズに実行するための適切なタスクとツールを定義する必要があります。

Q5。 A.はい、Autogenは、ネストされたチャットで各エージェントが発生したコストを追跡できます。チャット結果のcost属性にアクセスすることにより、開発者はプロキシインタラクションに関連する支出を監視し、チャットボットのリソース利用と効率を最適化するのに役立ちます。

以上がAutogenを使用したマルチエージェントネストチャットを構築するための4つのステップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Huggingface smollmであなたの個人的なAIアシスタントを構築する方法Huggingface smollmであなたの個人的なAIアシスタントを構築する方法Apr 18, 2025 am 11:52 AM

オンデバイスAIの力を活用:個人的なチャットボットCLIの構築 最近では、個人的なAIアシスタントの概念はサイエンスフィクションのように見えました。 ハイテク愛好家のアレックスを想像して、賢くて地元のAI仲間を夢見ています。

メンタルヘルスのためのAIは、スタンフォード大学でのエキサイティングな新しいイニシアチブによって注意深く分析されますメンタルヘルスのためのAIは、スタンフォード大学でのエキサイティングな新しいイニシアチブによって注意深く分析されますApr 18, 2025 am 11:49 AM

AI4MHの最初の発売は2025年4月15日に開催され、有名な精神科医および神経科学者であるLuminary Dr. Tom Insel博士がキックオフスピーカーを務めました。 Insel博士は、メンタルヘルス研究とテクノでの彼の傑出した仕事で有名です

2025年のWNBAドラフトクラスは、成長し、オンラインハラスメントの成長と戦いに参加します2025年のWNBAドラフトクラスは、成長し、オンラインハラスメントの成長と戦いに参加しますApr 18, 2025 am 11:44 AM

「私たちは、WNBAが、すべての人、プレイヤー、ファン、企業パートナーが安全であり、大切になり、力を与えられたスペースであることを保証したいと考えています」とエンゲルバートは述べ、女性のスポーツの最も有害な課題の1つになったものに取り組んでいます。 アノ

Pythonビルトインデータ構造の包括的なガイド-AnalyticsVidhyaPythonビルトインデータ構造の包括的なガイド-AnalyticsVidhyaApr 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

即時の影響と長期パートナーシップ? 2週間前、Openaiは強力な短期オファーで前進し、2025年5月末までに米国およびカナダの大学生にChatGpt Plusに無料でアクセスできます。このツールにはGPT ‑ 4o、Aが含まれます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。