エージェントベースのシステムの最適化:パフォーマンスを向上させるための入力と出力の構造
エージェントベースのシステムのパフォーマンスを高めたいですか?重要な戦略は、エージェント間で交換される入力と中間出力の両方を細心の注意を払って構築することです。この記事では、入力を整理し、データ転送にプレースホルダーを利用し、構造の出力を使用して、各エージェントが期待される結果を確実に配信する方法を詳しく説明しています。これらの要素を最適化することにより、エージェントシステムからより一貫した信頼性の高い結果を達成できます。エージェントシステムは、個々のLLMの能力を上回る能力を協力、通信、および問題解決の複数のエージェントを活用します。このガイドでは、Crewai、Pydantic Models、およびJSONを使用して、マルチエージェントコンテキストで出力(および入力)を構成します。
Pydantic Libraryが提供するPydanticモデルは、データの解析と検証用に設計されたPythonオブジェクトです。インスタンス時にデータを自動的に検証するPythonクラス(モデル)の作成を可能にし、予想されるタイプと制約と一致する入力データを確保します。これにより、信頼できる構造化データ処理が保証されます。
主な機能:
特徴 | 説明 |
---|---|
データ検証 | 予想されるタイプ( int 、 str 、 list )およびカスタムルールに対する入力データを検証します。 |
自動タイプ変換 | 互換性のあるデータ型を自動的に変換します(例:「2024-10-27」はdatetime.date に)。 |
データシリアル化 | データをJSONなどの形式にシリアル化し、APIインタラクションを簡素化します。 |
デフォルト値 | 柔軟な入力処理のために、オプションのフィールドまたはデフォルト値が許可されます。 |
PydanticのBaseModel
から継承するUserModel
を作成しましょう。インスタンス化されたクラスには、整数id
、文字列name
、および電子メールアドレスが必要です。
Pydantic Import Basemodelから クラスUsermodel(BaseModel): ID:int 名前:str 電子メール:str #有効な入力 valid_user = usermodel(id = 1、name = "vidhya"、email = "vidhya@example.com") print(valid_user) #無効な入力(検証エラーが発生します) 試す: invalid_user = usermodel(id = "one"、name = "vidhya"、email = "vidhya@example.com") eとしてのvalueerrorを除く: 印刷(f "検証エラー:{e}")
これは、誤ったデータ型が提供された場合のPydanticのエラー処理を示しています。
オプション、日付、およびデフォルト値の機能を検討しましょう。
Pydantic Import Basemodelから インポートの入力オプションから DateTimeインポート日から クラスEventModel(BaseModel): event_name:optional [str] = none#optionalフィールド event_loc:str = "India"#デフォルト値 event_date:日付 #自動変換 event = eventModel(event_date = "2024-10-27") 印刷(イベント)
これにより、オプションのフィールドと自動型変換が紹介されます。
CREWAIをインストール:
ピップインストールCrewai
入力は、エージェントとタスクを定義するときに変数名を使用して、カーリーブレース{}
内でフォーマットされます。 human_input=True
は、ユーザーに出力フィードバックをプロンプトします。物理学の質問に答えるためのエージェントとタスクの例は次のとおりです。
クルワイ輸入エージェント、タスク、乗組員から OSをインポートします os.environ ['openai_api_key'] = ''#キーに置き換えます os.environ ['openai_model_name'] = 'gpt-4o-mini-2024-07-18'#または希望するモデル #...(元の例のようにエージェントとタスクの定義)...
入力はcrew.kickoff()
のinputs
パラメーターを介して渡されます。
エージェントを作成して、ユーザーの詳細(名前、電子メール、電話、ジョブ)を収集しましょう。 Pydantic ModelsまたはJSONとしての構造出力は、予想される出力形式を定義し、その後のエージェントが構造化されたデータを受け取るようにします。
Pydantic Import Basemodelから インポートリストの入力から #...(元の例のようなpydanticモデルの定義)... #...(元の例のように、output_pydantic and output_jsonを使用するエージェントとタスクの定義)...
最終エージェントはすべての詳細を組み合わせて、 output_file
を使用して出力をファイルに保存します。
この記事では、PydanticとCrewaiを使用して、マルチエージェントシステムの入力と出力を構築することの重要性を強調しました。適切に構造化されたデータは、パフォーマンス、信頼性を高め、エラーを防ぎます。これらの戦略は、複雑なタスクのためのより堅牢なエージェントシステムを構築します。
Q1。エージェントベースのシステムとは何ですか?エージェントベースのシステムは、単一のLLMの機能を超える問題を解決するために協力する複数のエージェントを使用します。
Q2。クルワイとは何ですか? Crewaiは、エージェントシステムの管理、エージェントのコラボレーション、およびデータ処理のためのフレームワークです。
Q3。 Crewaiで画像を入力する方法は? 1つの方法は、Image URLを入力変数として提供することです。
Q4。 Pydanticモデルとは何ですか? Pydantic Modelsはデータを検証およびシリアル化し、エージェントベースのシステムにデータの整合性を確保します。
Q5。 Pydanticを使用して出力を構築する方法は? Pydanticモデル内の予想される出力フィールドを定義して、後続のエージェントの一貫したデータフォーマットを確保します。
以上がCREWAIを使用したマルチエージェントシステムの入力と出力の構造の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。