「AutoGenを使った戦略的AIチームビルディングが簡単になりました」
「AutoGenを活用した戦略的AIチームビルディングが簡単になりました!」
イントロダクション
デジタルフロンティアが無限の領域に達し、AutoGenは変革的なパラダイムの設計者として現れます。異なる領域でスキルを持つ個々のパーソナルAIチームがシームレスに協力し、円滑にコミュニケーションし、複雑なタスクに取り組み続けることを想像してみてください。それがAutoGenの本質であり、パーソナルAIチームの構築を可能にする先駆的なマルチエージェント対話フレームワークです。本記事では、AutoGenの魔法を解き明かし、独自のデジタルドリームチームを組み立て、非凡な成果を達成する方法を探ります。人間と機械の境界が薄れ、協力が無限になる未来へようこそ。
学習目標
詳細に入る前に、この記事の主な学習目標を概説しましょう。
- マルチエージェント対話フレームワークとしてのAutoGenについて包括的な理解を得る。
- エージェントがマルチエージェント対話フレームワークで自律的にコミュニケーションし、協力する方法を学ぶ。
- AutoGenの動作におけるconfig_listの重要な役割について学ぶ。APIキーの保護とエージェントの効率的なパフォーマンスのための設定の管理に関するベストプラクティスを理解する。
- AutoGenがサポートする完全自律から人間が関与する対話までのさまざまな対話スタイルを探索する。AutoGenがサポートする静的および動的な対話パターンについて学ぶ。
- 検証データ、評価関数、最適化メトリクスに基づいてLLMを調整するためにAutoGenを利用する方法を発見する。
- コラボレーションコンテンツ作成チームや文化的な文脈での言語翻訳などの例を探索し、AutoGenがさまざまなシナリオでどのように適用されるかを理解する。
この記事はData Science Blogathonの一部として公開されました。
- 科学者たちは、実験室で作られた皮膚にヘアフォリクルを3Dプリントしました
- 「あなたはiPhoneに1,000ドル支払いましたが、Appleがまだそれを管理しています」
- AppleはiPhoneとAndroid間でのテキストのやり取りを容易にする予定です
AutoGenとは何ですか?
AutoGenは、基盤モデルの使用のための高度な抽象化として機能する統合マルチエージェント対話フレームワークです。それは、能力のあるカスタマイズ可能なエージェントをLLM、ツール、および人間の参加者が自動化チャット経由で統合することにより、エージェントが自律的にコミュニケーションし、協力して作業することを可能にします。基本的には、複雑なタスクを効率的に進め、ワークフローを自動化することができます。
なぜAutoGenが重要ですか?
AutoGenは、効率的かつ柔軟なマルチエージェント通信の需要に応えます。その重要性は次の点にあります:
- 複雑なLLMワークフローのオーケストレーション、自動化、最適化を簡素化する。
- LLMモデルのパフォーマンスを最大化すると同時に、制限を克服する。
- 次世代のLLMアプリケーションを少ない努力でマルチエージェント対話に基づいて開発することを可能にする。
開発環境のセットアップ
仮想環境の作成
仮想環境はプロジェクト固有の依存関係を分離し、システム全体のパッケージとの競合を避けるための良い習慣です。Python環境を設定する方法は次のとおりです:
オプション1:Venv
python -m venv env_name
- 仮想環境をアクティベート:
\env_name\Scripts\activate
- macOSとLinuxの場合:
source env_name/bin/activate
次のコマンドで現在のvenv環境を非アクティブ化できます:
deactivate
オプション2:Conda
conda create -n pyautogen python=3.10conda activate pyautogen
次のコマンドで現在のconda環境を非アクティブ化できます:
conda deactivate
Python:AutoGenはPythonバージョン≥3.8が必要です
AutoGenのインストール:
pip install pyautogen
APIの設定
複数のモデルやAPIバージョンで作業する際には、APIの設定を効率的に管理することが重要です。OpenAIは、このプロセスを支援するためのユーティリティ関数を提供しています。APIキーと機密データを保護し、.txtや.envファイルに安全に格納するか、ローカル開発用の環境変数として設定することで、誤って公開されないようにする必要があります。
ステップ
1. OpenAIからAPIキーを取得し、必要に応じてAzure OpenAIまたは他のプロバイダーからも取得します。2. これらのキーを次のいずれかの方法で安全に保存します。
- 環境変数:シェルでexport OPENAI_API_KEY=’your-key’を使用します。
- テキストファイル:キーをkey_openai.txtファイルに保存します。
- Envファイル:キーを.envファイルに保存します。例:OPENAI_API_KEY=sk-
Config_listとは何ですか?
config_listはAutoGenの動作において重要な役割を果たし、インテリジェントアシスタントが適切なモデル構成を動的に選択することを可能にします。APIキー、エンドポイント、バージョンなどの重要な詳細を処理し、さまざまなタスクでアシスタントの円滑かつ信頼性のある機能を確保します。
手順:
1. 環境変数でOAI_CONFIG_LISTという名前の有効なJSON文字列として構成を保存します。
2. または、ローカルのJSONファイルOAI_CONFIG_LIST.jsonに構成を保存します。
3. OAI_CONFIG_LISTをローカルリポジトリの.gitignoreファイルに追加します。
assistant = AssistantAgent( name="assistant", llm_config={ "timeout": 400, "seed": 42, "config_list": config_list, "temperature": 0, },)
Config_listの生成方法
使用する場合に応じて、さまざまな方法でconfig_listを生成できます:
- get_config_list: 主に提供されたAPIキーからAPI呼び出しのための構成を生成します。
- config_list_openai_aoai: Azure OpenAIとOpenAIのエンドポイントの両方を使用して構成のリストを作成し、環境変数またはローカルファイルからAPIキーを取得します。
- config_list_from_json: JSON構造から構成をロードし、特定の基準に基づいて構成をフィルタリングすることができます。
- config_list_from_models: 提供されたモデルのリストに基づいて構成を作成し、手動での構成なしで特定のモデルを対象にできます。
- config_list_from_dotenv: .envファイルから構成リストを作成し、1つのファイルから複数のAPI構成とキーの管理を簡略化します。
それでは、config_listを生成するための2つの重要なメソッドを見てみましょう:
get_config_list
API呼び出しのための構成を生成するために使用されます。
api_keys = ["YOUR_OPENAI_API_KEY"]base_urls = None api_keys, base_urls = base_urls, api_type = api_type, api_version = api_version)print(config_list)
config_list_from_json
このメソッドは環境変数またはJSONファイルから構成をロードします。特定の基準に基づいて構成をフィルタリングすることで柔軟性を提供します。
JSON構造は次のようなものにする必要があります:
# OAI_CONFIG_LISTファイルの例[ { "model": "gpt-4", "api_key": "YOUR_OPENAI_API_KEY" }, { "model": "gpt-3.5-turbo", "api_key": "YOUR_OPENAI_API_KEY", "api_version": "2023-03-01-preview" }]
config_list = autogen.config_list_from_json( env_or_file = "OAI_CONFIG_LIST", # もしくはファイルの拡張子が追加された場合はOAI_CONFIG_LIST.jsonfilter_dict = {"model": { "gpt-4", "gpt-3.5-turbo", } })
主な特徴
- AutoGenはマルチエージェントの対話を含む高度なLLMアプリケーションの開発を簡素化し、手作業を最小限に抑えます。複雑なLLMワークフローのオーケストレーション、自動化、最適化を効率的に行い、全体的なパフォーマンスを向上させ、固有の制約に対処します。
- AutoGenは、複雑なワークフローに対して多様な対話パターンを容易に提供し、開発者がカスタマイズ可能でインタラクティブなエージェントを作成できるようにします。AutoGenを使用すると、会話の自律性、エージェント数、会話のトポロジなどの要素を考慮した幅広い会話パターンを構築することができます。
- このプラットフォームは、さまざまなドメインからの多くのアプリケーションに対して、異なる複雑さの操作システムを提供します。AutoGenは、さまざまな実装を通じてこれらの多様な会話パターンのサポート能力を具体化しています。
- AutoGenは、強化されたLLM推論を提供します。APIの統合とキャッシング、エラーハンドリング、マルチ設定推論、コンテキストプログラミングなどの高度な使用パターンを含めたユーティリティを提供し、全体的な推論能力を向上させます。
マルチエージェント会話フレームワーク
AutoGenは、基礎モデルを使用した高レベルの抽象化として統一されたマルチエージェント会話フレームワークを提供します。仮想アシスタントのグループがお互いに話し合い、大規模なイベントの整理や複雑なプロジェクトの管理など、複雑なタスクを共同で完了することができます。AutoGenは、彼らが効率的かつ効果的にこれを行うのを支援します。
エージェント
AutoGenエージェントはAutoGenフレームワークの一部です。これらのエージェントは、エージェント間の会話を通じてタスクを解決するために設計されています。AutoGenエージェントのいくつかの注目すべき特徴は次のとおりです:
- 会話可能:AutoGenのエージェントは会話ができます。つまり、人々がお互いに話すように、これらのデジタルヘルパーはメッセージの送受信を行い、議論を行うことができます。これにより、彼らは協力して作業することができます。
- カスタマイズ可能:AutoGenのエージェントは、LLM、人間、ツール、またはそれらの組み合わせを統合するためにカスタマイズすることができます。
AutoGenに組み込まれたエージェント
私たちは「Conversable Agent」という特別なクラスを作成しました。これはコンピュータプログラムがタスクを共同で作業するためにお互いに話し合うのを助けるエージェントです。これらのエージェントはメッセージを送信し、受け取ったメッセージに基づいてさまざまなアクションを実行することができます。
主なタイプのエージェントは2つあります:
- アシスタントエージェント:このエージェントは、役に立つAIアシスタントのようなものです。タスクを与えると、Pythonコードを書いて実行することができます。コードを書くためにGPT-4のようなスマートプログラムであるLLMを使用します。結果を確認し、修正案を提案することもできます。新しい指示を与えることで、エージェントの振る舞いを変更することもできます。code_execution_configやllm_configなどの設定を使用して、LLMとの連携方法も調整できます。
- ユーザープロキシエージェント:このエージェントは人々間の仲介役のような役割を果たします。必要な場合には人間からヘルプを求めたり、コードを実行したりすることができます。コードを実行しない場合には、LLMを使用して応答を生成することもできます。code_execution_configやllm_configなどの設定で、コードの実行とLLMの使用を制御することができます。
これらのエージェントは人間の助けなしで会話することができますが、必要に応じて人間が介入することもできます。register_reply()メソッドを使用して、これらのエージェントにさらに機能を追加することもできます。
ユースケース:AutoGenのマルチエージェントフレームワークを使用したユーザーへの回答
以下のコードスニペットでは、「エージェント1」と呼ばれるAssistantAgentを定義して一般的な質問のサポートを行い、「エージェント2」と呼ばれるAssistantAgentを定義して技術的な質問のサポートを行います。そして、UserProxyAgentという名前のユーザーの仲介役としてUserProxyAgentを定義します。これらのエージェントを後で特定のタスクを達成するために使用します。
import autogen# OpenAI APIキーコンフィグをインポートするconfig_list = config_list_from_json(env_or_file="OAI_CONFIG_LIST")# 2つのエージェントを作成するagent1 = autogen.AssistantAgent( name="エージェント1", llm_config={ "seed": 42, "config_list": config_list, "temperature": 0.7, "request_timeout": 1200, }, system_message="エージェント1。一般的な質問にお手伝いします。")agent2 = autogen.AssistantAgent( name="エージェント2", llm_config={ "seed": 42, "config_list": config_list, "temperature": 0.7, "request_timeout": 1200, }, system_message="エージェント2。技術的な質問のサポートをします。")# ユーザープロキシエージェントを作成するuser_proxy = autogen.UserProxyAgent( name="ユーザープロキシ", human_input_mode="ALWAYS", code_execution_config=False)# 会話のためのチャットグループを作成するchat_group = autogen.GroupChat( agents=[agent1, agent2, user_proxy], messages=[], max_round=10,)# グループチャットマネージャを作成するchat_manager = autogen.GroupChatManager(groupchat=chat_group, llm_config=agent_config)# ユーザーの質問で会話を開始するuser_proxy.initiate_chat( chat_manager, message="機械学習の概念を説明してもらえますか?")
この単純な例では、「エージェント1」と「エージェント2」という2つのエージェントが協力してユーザーの質問に回答します。ユーザープロキシエージェントは、ユーザーと他のエージェントとの間のコミュニケーションを仲介します。これは、AutoGenのマルチエージェント会話フレームワークを使用したユーザーのクエリに対する基本的なユースケースを示しています。
さまざまな会話パターンのサポート
AutoGenは、完全自動化された会話と人間が関与する会話の両方を受け入れるさまざまなスタイルの会話をサポートしています。
さまざまな会話スタイル
- 自律型の会話: 初期設定の後、エージェントが独立して作業する完全自動化された会話が可能です。
- 人間を介した会話: AutoGenは、会話プロセスに人間を関与させるように設定することもできます。「human_input_mode」を「ALWAYS」に設定することで、必要な場合に人間の入力を含めることができます。これは多くのアプリケーションで有用です。
静的対動的な会話
AutoGenは、静的および動的な会話パターンの両方に対応しています。
- 静的な会話: これらは事前に定義された会話の構造に従い、入力に関係なく一貫しています。
- 動的な会話: 動的な会話は会話の実際の流れに適応し、相互作用パターンが事前に決められない複雑なアプリケーションに適しています。
動的な会話のアプローチ
AutoGenでは、動的な会話を実現するための2つの方法があります:
登録された自動返信
自動返信機能を設定することにより、エージェントが現在のメッセージとコンテキストに基づいて次の話者を決定できるようになります。このアプローチは、グループチャットの例で示されており、LLMがチャットの次の話者を決定します。
「登録された自動返信」の新しいユースケースを、コンテンツと会話のコンテキストに基づいて次の話者を決定する動的なグループチャットシナリオの文脈で探ってみましょう。
ユースケース: 共同コンテンツ作成
このユースケースでは、3つのエージェント(ユーザーを表すUserProxyAgent、ライターエージェント、エディターエージェント)を含む動的なグループチャットが行われています。目標は、共同で文章を作成することです。Registered Auto-Reply機能により、LLMはコンテンツの品質と完成度に基づいてライターとエディターの役割を切り替えることができます。
# openaiのAPIキーをインポートconfig_list = config_list_from_json(env_or_file="OAI_CONFIG_LIST")# LLM設定でエージェントを作成llm_config = {"config_list": config_list, "seed": 42}user_proxy = autogen.UserProxyAgent( name="User_proxy", system_message="コンテンツ作成者", code_execution_config={"last_n_messages": 2, "work_dir": "content_creation"}, human_input_mode="TERMINATE")
エージェントの構築
writer = autogen.AssistantAgent( name="Writer", llm_config=llm_config,)editor = autogen.AssistantAgent( name="Editor", system_message="文章の編集者", llm_config=llm_config,)groupchat = autogen.GroupChat(agents=[user_proxy, writer, editor], messages=[], max_round=10)manager = autogen.GroupChatManager(groupchat=groupchat, llm_config=llm_config)
チャットの開始
# ユーザーをコンテンツ作成者としてチャットを開始するuser_proxy.initiate_chat( manager, message="医療の人工知能についての短い記事を書いてください。")# チャットを終了するには「exit」と入力してください
このシナリオでは、UserProxyAgentによって表されるユーザーが、会話を作成するためのチャットを開始します。最初はWriterAgentがコンテンツのドラフト作成の役割を担当します。一方、EditorAgentは編集と提案を行うために利用できます。重要なのは、Registered Auto-Reply機能で、LLMが書かれたコンテンツの品質を評価できるようになっています。コンテンツが編集のために準備ができていると認識すると、自動的にEditorAgentに切り替わり、記事を改善して洗練させます。
このダイナミックな会話は、執筆プロセスが協力的で効率的になるようにし、LLMが書かれたコンテンツの品質に基づいてエディタを巻き込むタイミングを決定します。
LLMベースの関数呼び出し
LLM(例:GPT-4)は、進行中の会話を基に特定の関数を呼び出すかどうかを判断できます。これらの関数には追加のエージェントを関与させることができ、ダイナミックなマルチエージェントの会話が可能です。
ユースケース:言語翻訳と文化的な文脈
このシナリオでは、2つのエージェントが登場します。言語翻訳に精通したアシスタントエージェントと、翻訳の支援が必要なユーザーを代表するユーザープロキシエージェントです。問題は単語の翻訳だけでなく、正確な文化的に敏感な翻訳を確保するために文化的な文脈を理解することです。
import autogen#エージェントの設定を定義config_list = autogen.config_list_from_json( "OAI_CONFIG_LIST", filter_dict={ "model": ["gpt-4", "gpt4", "gpt-4-32k", "gpt-4-32k-0314", "gpt-4-32k-v0314"], },)#ダイナミックな会話のための関数を定義d#翻訳のためのアシスタントエージェントを作成 assistant_translator = autogen.AssistantAgent( name="assistant_translator", llm_config={ "temperature": 0.7, "config_list": config_list, }, )#ユーザーを代表するユーザープロキシエージェントを作成 user = autogen.UserProxyAgent( name="user", human_input_mode="ALWAYS", code_execution_config={"work_dir": "user"}, )123456bash#翻訳のためにアシスタントとのチャットセッションを開始 user.initiate_chat(assistant_translator, message=message) user.stop_reply_at_receive(assistant_translator)123bash#アシスタントに翻訳を最終的に確定するようにシグナルを送信 user.send("文化的に敏感な翻訳を提供してください。", assistant_translator) # 最後にアシスタントから受け取ったメッセージを返す return user.last_message()["content"]12345bash#ユーザーやアシスタントのエージェントを作成assistant_for_user = autogen.AssistantAgent( name="assistant_for_user", system_message="あなたは言語アシスタントです。翻訳が完了したらTERMINATEと返信してください。", llm_config={ "timeout": 600, "seed": 42, "config_list": config_list, "temperature": 0.7, "functions": [ { "name": "translate_with_cultural_context", "description": "翻訳して文化的な感度を確保します。", "parameters": { "type": "object", "properties": { "message": { "type": "string", "description": "文化的な感度を考慮した翻訳するテキストです。" } }, "required": ["message"], } } ], })#ユーザーを代表するユーザープロキシエージェントを作成user = autogen.UserProxyAgent( name="user", human_input_mode="TERMINATE", max_consecutive_auto_reply=10, code_execution_config={"work_dir": "user"}, function_map={"translate_with_cultural_context": translate_with_cultural_context},)#文化的な感度を持つ文を翻訳するuser.initiate_chat( assistant_for_user, message="相手の文化で敬意を示す言葉 'Thank you' を翻訳してください。")
このユースケースでは、ユーザーが翻訳のリクエストで会話を開始します。アシスタントは翻訳を提供しようとしますが、文化的な感度が必要な場合は、「translate_with_cultural_context」関数を呼び出してユーザーと対話します。このダイナミックな会話により、翻訳が言語的に正確であるだけでなく、文化的に適切になります。
複数のアプリケーションでの汎用性
- コード生成、実行、デバッグ
- マルチエージェントの協力(>3エージェント)
- アプリケーション
- ツールの使用
- エージェントの教育と学習
高度な推論
AutoGenは、強化言語モデル(LLM)の推論機能を提供します。これには、openai>=1向けのautogen.OpenAIWrapperと、openai.Completionおよびopenai.ChatCompletionの代替として使用できるautogen.Completionが含まれます。AutoGenを推論に使用することには、パフォーマンスのチューニング、APIの統一、キャッシュ、エラーハンドリング、マルチ構成推論、結果フィルタリング、テンプレート処理などのさまざまな利点があります。
推論パラメータの調整(openai<1用)
テキスト生成のための基盤モデルを使用する際、コストの全体的な部分は入力と出力のトークン数に密接に関連しています。これらのモデルを利用するアプリケーション開発者の視点からは、生成されるテキストの有用性を最大限に引き出しながら、推論のために設定された予算内に収まることが目標です。この最適化を実現するには、生成されるテキストの品質とコストの両方に大きな影響を与える特定のハイパーパラメータを調整する必要があります。
- モデルの選択:使用するモデルIDを指定する必要があります。これは生成されるテキストの品質とスタイルに大きな影響を与えます。
- プロンプトまたはメッセージ:これらはテキスト生成の文脈を設定する初期の入力です。モデルがテキストを生成するための出発点となります。
- 最大トークン制限(Max_tokens):このパラメータは生成されるテキストの最大単語数または単語ピース数を決定します。出力の長さを管理するのに役立ちます。
- 温度制御:0から1までのスケールで表される温度は、生成されるテキストのランダム性のレベルに影響を与えます。値が高いほど多様性が増し、値が低いほどテキストは予測可能になります。
- トップ確率(Top_p):この値も0から1までの範囲であり、トークンの選択の確率に影響します。値が低いほど一般的なトークンが優先され、値が高いほどモデルはより広範な範囲を探索するようになります。
- 応答数(N):Nは与えられたプロンプトに対してモデルが生成する応答の数を示します。複数の応答を持つことで多様な出力が得られますが、コストが増えます。
- 停止条件:停止条件は生成されたテキストで遭遇した場合に生成プロセスを停止する特定の単語やフレーズです。出力の長さや内容を制御するのに役立ちます。
これらのハイパーパラメータは相互に関連しており、その組み合わせによって生成されるテキストのコストと品質に複雑な影響を与えることがあります。
チューニングのためのAutoGenの利用
AutoGenを使用して、以下の基準に基づいてLLMをチューニングすることができます:
- 検証データ:検証プロセスの有効性を評価するための多様なインスタンスを収集します。これらのインスタンスは通常、問題の説明と解決策を含む辞書として保存されます。
- 評価関数:検証データに基づいて応答の品質を評価するための評価関数を作成します。この関数は応答のリストと検証データからの他の入力を受け取り、成功などのメトリックを出力します。
- 最適化するメトリック:通常、検証データ全体の集計メトリックに基づいて最適化するメトリックを選択します。たとえば、「成功」を異なる最適化モードで最適化することができます。
- 探索空間:各ハイパーパラメータの探索空間を定義します。たとえば、モデル、プロンプト/メッセージ、max_tokens、およびその他のパラメータを定数または事前定義された探索範囲として指定できます。
- 予算:推論と最適化のための予算を設定します。推論予算はデータインスタンスごとの平均コストに関連し、最適化予算はチューニングプロセスに割り当てられた総予算を決定します。
チューニングを実行するには、autogen.Completion.tuneを使用し、最適化された設定を返し、すべての試行された設定と結果に関する洞察を提供します。
APIの統一
autogen.OpenAIWrapper.create() を使用して、チャットモデルと非チャットモデル、OpenAI APIとAzure OpenAI APIの両方を用いた補完を作成できます。これにより、異なるモデルやエンドポイントに対してのAPI使用が統一されます。
キャッシュ
API呼び出しの結果は再現性とコスト削減のためにローカルにキャッシュされます。シードを指定することでキャッシュの動作を制御することができます。
エラー処理
AutoGenでは、異なるモデル/エンドポイントの設定のリストを渡すことで、ランタイムエラーを軽減することができます。有効な結果が返されるまで異なる設定を試します。レート制限が懸念される場合に有益です。
テンプレート
プロンプトやメッセージのテンプレートには、コンテキストが自動的に埋め込まれ、動的コンテンツを扱いやすくなります。
ログ
API呼び出しのログ機能を提供するAutoGenによって、APIリクエストとレスポンスの履歴をトラッキングして分析することができます。コンパクトな形式と個別のAPI呼び出しログ形式の切り替えが可能です。
これらの機能により、AutoGenは特定の要件と制約に合わせてLLM推論を微調整し最適化するための貴重なツールとなります。
結論
AutoGenを通じて旅をする中で、人間とAIの共同作業には限りがない未来の設計図を明らかにしました。このマルチエージェントの会話フレームワークは、私たちが個別に設計したAIチームを組み立てる力を与え、人間と機械の間の境界線を消去します。AutoGenは無限の可能性の領域に私たちを導きます。複雑なタスクを簡素化し、LLMモデルの潜在力を最大限に引き出し、次世代のAIアプリケーションの開発を可能にします。結論として、自分自身のAutoGenを活用した旅にどのように乗り出し、協力が真に無限になる世界を受け入れるか、という問いです。建設を始め、革新を始め、今日からAutoGenの潜在能力を解き放ちましょう!
主なポイント
- AutoGenでは、さまざまなドメインに精通した会話可能なエージェントから構成される、個別のAIチームを作成できる新しい時代を提案しています。
- AutoGenは複雑なタスクを簡素化し、ワークフローを自動化するため、Large Language Models (LLMs)を使ったタスクのオーケストレーションや最適化に非常に強力なツールです。
- AutoGenを使用する際には、APIキーと機密データのセキュリティ管理が非常に重要です。情報を保護するためにベストプラクティスに従うことが必須です。
- config_listは重要なコンポーネントであり、OpenAI APIとのやり取りや複数の設定を効率的に処理することで、エージェントがさまざまなタスクに適応し優れた成果を出すことができます。
よくある質問
この記事に表示されているメディアはAnalytics Vidhyaの所有ではなく、著者の裁量によって使用されています。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles