OCI Generative AIでのエージェントの構築
OCI Responses APIを使用してエージェントを構築する方法など、OCI生成AIでエージェントを使用する方法について学習します。
OCIレスポンスAPIを使用して、アプリケーションにエージェントを構築します。OCI Responses APIは、エージェント・ワークフロー用のOCIネイティブAPIであり、エージェントを管理対象アプリケーションとしてデプロイしなくても、オーケストレーション、ツールおよびメモリーをサポートします。
次の機能を組み合せることで、OCIレスポンスAPIを介してエージェントを直接構築できます:
エージェント・メモリー
これらのリソースは、OCIレスポンスAPIで直接使用できます。これにより、インフラストラクチャのデプロイや個別のホスト・ランタイムの管理を行わずに、高度なエージェントを構築できます。
エージェント・ツール
- ファイル検索では、モデルがベクトル・ストアから関連情報を取得し、正確で関連性の高いレスポンスを生成できます。ベクトル・ストアを作成し、それらにファイルを追加することで、データ全体でセマンティック検索とキーワードベース検索の両方を有効にします。
- SQL検索(NL2SQL)を使用すると、OCIレスポンスAPIは、顧客データを移動またはコピーすることなく、フェデレーテッド・エンタープライズ・データと対話できます。自然言語はSQL問合せに変換され、セマンティック・エンリッチメント・レイヤーはビジネス用語を基礎となるフィールドおよび結合にマップします。
- コード・インタプリタを使用すると、モデルは、データ分析、コーディング、数学などの複雑なタスクのために、サンドボックス化された環境でPythonコードを記述して実行できます。これには、420を超えるプリインストールされたPythonライブラリが含まれ、外部ネットワーク・アクセスなしで実行されます。
- ローカル・ファンクション・コールを使用すると、OCIレスポンスAPIは、アプリケーションで定義されているファンクションを呼び出すことができます。APIは、コールする関数と使用するパラメータを記述するJSONペイロードを使用してアプリケーションに制御を戻し、アプリケーションは関数出力を返した後、実行を再開します。
- リモートMCPコールを使用すると、OCIレスポンスAPIは、リモートMCPサーバーでホストされているツールをプラットフォームから直接呼び出すことができ、標準関数コールに必要な追加のクライアント側ラウンドトリップがなくなります。
エージェント・メモリー
- 短期メモリーでは、Responses APIおよびConversations APIを使用して、会話の複数のターンにわたる会話状態管理を簡素化します。
- 長期メモリーは、プロジェクト内の一意の
subject_idを介して、会話全体で永続メモリーを提供します。 - 短期的なメモリ最適化は、チャット履歴を保持メモリにまとめ、長い会話におけるレイテンシとトークン使用量を削減します。
低レベルのエージェント構成要素
- ベクトル・ストアAPIは、ドキュメントを検索可能な埋込みに変換し、管理対象索引に格納して、エージェントがユーザーの質問に最も関連性の高いパスを取得できるようにします。
- ファイルAPIでは、タスクの実行中にエージェントが使用できるドキュメントおよびその他のデータを安全にアップロードおよび管理できます。
- コネクタAPIでは、ベクトル・ストアでオブジェクト・ストレージ・バケットに格納されたデータを使用できます。ベクトル・ストア・コネクタは、オブジェクト・ストレージのデータを大規模に継続的にベクトル・ストアに同期できます。
- Containers APIは、分離されたコード実行およびデータ処理のためのセキュアでステートフルなサンドボックスを提供します。
- コンテナ・ファイルAPIを使用すると、エージェントは、タスクの複数のステップにわたってコンテナ実行環境内でデータを直接永続化および管理できます。
プロジェクト
プロジェクトは、レスポンス、会話、ファイル、コンテナなど、生成AIサービスによって作成されたエージェント固有のアーティファクトを編成するOCIリソースです。プロジェクトは相互に分離されているため、あるプロジェクトのアーティファクトには別のプロジェクトからアクセスできません。エージェント関連タスクに対してOCIレスポンスAPIをコールするには、プロジェクトが必要です。
プロジェクト設定には次のものがあります。
- レスポンスと会話のデータ保持
- 長期メモリ設定
- 会話履歴圧縮(短期メモリー圧縮)設定