OCI Generative AIにおけるエンタープライズAIエージェント
OCI Generative AIは、エンタープライズ・グレードのエージェントを構築するための2つの主要なアプローチを提供し、ハイブリッド・アーキテクチャでそれらを組み合わせることもできます。
2つのアプローチは次のとおりです。
- OCI Responses APIを使用したエージェントの構築
- ホスト型エージェント・アプリケーションをOCI生成AIにデプロイ
これらのオプションにより、シンプルなAPIファーストのアプローチから開始したり、必要なときにホストされたデプロイメントに移行したり、同じアーキテクチャで両方を組み合せたりできます。
アプローチ1: OCI Responses APIを使用したエージェントの構築
OCI Responses APIは、インフラストラクチャを自分で管理することなく、柔軟でAPIファーストな方法でエージェントを構築する場合に使用します。
OCI Responses APIは、OCI Generative AIにおけるエージェント・ワークフローの主要APIです。OpenAI互換です。つまり、OpenAIレスポンスAPIと同じリクエスト構文およびリクエスト・パターンを使用します。ただし、ベースURLはOCI Generative AIを指し、認証はOCI Generative AI資格証明を使用し、リクエストはOCIリージョンのOCI Generative AIを介して処理されます。
このアプローチは、モデルの実行、ツールの使用、およびOCI管理サービスのサポートを維持しながら、エージェントを迅速に構築する場合に便利です。
レスポンスAPIのサポート内容
OCIレスポンスAPIを使用すると、次のことができます。
- サポートされているOCIリージョンでサポートされているOCI提供モデルから選択します。
- OCI認証およびOCI管理実行でOpenAI互換のAPI形式を使用します。
- 単一ステップまたは複数ステップのエージェント・ワークフローを構築します。
- マルチターン顧客対応の会話コンテキストを追加します。
- File Search、Code Interpreter、Function Calling、MCP CallingなどのResponses APIでサポートされているツールを使用します。
- ファイル、ベクトル・ストア、コンテナなどの基本APIを同じワークフローに統合します。
会話とメモリ
Responses APIは、Conversations APIと連携して動作するため、複数のターン会話でコンテキストを交互に保持できます。
OCI Generative AIは、projectsというリソースも提供します。プロジェクトは、レスポンス、会話、ファイル、コンテナ、メモリー設定などの関連するエージェント・リソースをグループ化します。
プロジェクト内で、次のようなメモリー動作を構成できます。
- 長期メモリ: 同じプロジェクト内の関連するインタラクションにわたって永続的なコンテキストを実現
- 進行中の会話内で繰り越されるコンテキストの短期メモリー
これにより、関連するエージェント・ワークフローを編成し、保持されたコンテキストを制御された方法で管理できます。
Responses APIを使用したツール
ツール・サポートはResponses APIの一部です。レスポンスAPIリクエストを送信するときに、サポートされているツール定義を直接リクエストに含めることができます。
OCI Generative AIは、次のResponses APIツールをサポートしています。
- ファイル検索
- コードインタプリタ
- 関数呼び出し
- MCPコール
これらのツールは、ワークフロー中にモデルが実行できる操作を拡張します。OCI Generative AIは、より多くのResponses APIツールのサポートを拡大するにつれて、このセットが拡大する可能性があります。
Responses APIを使用した基本的なAPI
ワークフローに下位レベルのビルディング・ブロックが必要な場合は、Responses APIとともに基本APIを使用できます。
これらの基本APIには、次のものがあります。
- ファイル
- ベクトルストア
- コンテナ
これらのAPIはOpenAI互換であり、Responses APIとシームレスに連携します。これらを使用して、取得、ドキュメント処理、サンドボックス化された実行およびその他のエージェント・ワークフロー・ニーズをサポートできます。
SQL検索(NL2SQL)
OCI Generative AIは、エンタープライズAIエージェント・ワークフローのSQL Search (NL2SQL)も提供します。NL2SQLは、基礎となるデータを移動またはコピーすることなく、自然言語リクエストをフェデレーテッド・エンタープライズ・データの検証済SQLに変換します。ソース・データは、Oracle Autonomous Databaseに格納する必要があります。NL2SQLでは、セマンティック・エンリッチメント・レイヤーを使用して、ビジネス用語をデータベース表、列および結合にマップします。
NL2SQLはSQLのみを生成し、問合せは実行しません。これを使用するには、構造化データ・ベクトル・ストアに支えられたセマンティック・ストアを作成し、必要な接続を構成してエンリッチメントを実行してから、GenerateSqlFromNl APIをコールします。問合せの実行は、既存の権限およびガードレールを使用してソース・データベースに対する問合せを認可および実行するDBTools MCPサーバーを介して個別に処理されます。
このアプローチを使用する理由
次の場合は、Responses APIアプローチを使用します。
- エージェント構築のクイック・スタート
- インフラストラクチャを管理せずにOCIで管理された実行
- OpenAI互換のリクエスト構文
- モデル、会話、ツール、基本APIの柔軟なサポート
- アプリケーションとともに拡張できるAPIファースト・アーキテクチャ
- エンタープライズ・データ・ワークフロー用のNL2SQLなど、他のOCIエージェント機能へのアクセス
つまり、このアプローチはエージェントを迅速かつ柔軟に構築する方法を提供し、OCI Generative AIは基盤となる実行環境を管理します。
アプローチ2: ホスティングされたエージェント・アプリケーションのデプロイ
OCI生成AIで独自のエージェント・ランタイムをパッケージ化およびデプロイする場合は、ホスト・アプリケーションを使用します。
このアプローチでは、OCI Generative AIは、次の2つのリソースに基づいて構築されたマネージド・ホスティング・モデルを提供します。
- アプリケーション
- デプロイメント
アプリケーションは、ホストされるアプリケーション構成を定義します。デプロイメントは、そのアプリケーションの特定のコンテナ・イメージを実行します。
このアプローチは、OCI管理インフラストラクチャでパッケージ化、デプロイおよび実行するエージェント・アプリケーションがすでに存在する場合に便利です。
アプリケーションでの設定
アプリケーションを作成するときに、エージェント・アプリケーションのコア・ホスティング構成を定義します。
これには、次のような設定が含まれます。
- 負荷を処理するデプロイメント・スケーリング動作
- アプリケーションが管理対象ストレージを使用するかどうか
- アプリケーションが使用するマネージド・ストレージ・サービス:
- OCI PostgreSQL
- OCIキャッシュ
- Oracle Autonomous Database
- アプリケーションのVCNおよびサブネット
- アプリケーションがパブリック・エンドポイントとプライベート・エンドポイントのどちらを使用するか
- アプリケーションのOCI IAMアイデンティティ・ドメイン構成
OCI IAMアプリケーション統合
ホストされたアプリケーション・モデルの一部として、OCIアイデンティティ・ドメインにアプリケーションを割り当てます。
このOCIアイデンティティ・ドメイン・アプリケーションは、Oracle Cloud Infrastructure Identity and Access Management (OCI IAM)に登録されたカスタム・アプリケーションです。ユーザー・アクセスを制御し、OAuthプロトコルを使用したセキュアな統合、シングル・サインオン(SSO)およびアイデンティティ伝播をサポートします。
デプロイメントの動作
アプリケーションを作成した後、そのアプリケーション内にデプロイメントを作成します。
デプロイメントでは、アプリケーションで定義された構成が使用され、構築してOCIコンテナ・レジストリにプッシュする特定のコンテナ・イメージがポイントされます。
一般的なフローは次のとおりです。
- コンテナ・イメージの構築
- イメージをOCIコンテナ・レジストリにプッシュします
- OCI生成AIでのアプリケーションの作成
- このアプリケーションでのデプロイメントの作成
- コンテナ・イメージへのデプロイメントのポイント
- デプロイメントを実行し、アクティブにします
アクティブなデプロイメントは、アプリケーション・エンドポイントを介してリクエストを処理します。
このアプローチを使用する理由
ホスト・アプリケーションは、次の場合に使用します。
- OCIで独自のパッケージ・エージェント・ランタイムを実行するには
- ホスティングとスケーリングのためのOCI管理インフラストラクチャ
- マネージド・ネットワーキング、ストレージおよびアイデンティティの統合
- コンテナ・イメージとOCI Container Registryを中心に構築されたデプロイメント・モデル
- エージェント・アプリケーションの本番ホスティング・オプション
このアプローチは、デプロイメントと自動スケーリングの組込みサポートにより、OCI管理インフラストラクチャでエージェント・アプリケーションをホスティングするように設計されています。
ハイブリッドアプローチ
両方のアプローチが使用可能なため、ハイブリッド・アプローチを使用することもできます。
ハイブリッド・アーキテクチャでは、モデル・オーケストレーション、会話、ツール、基本API、およびNL2SQLなどのサポート機能にResponses APIを使用し、OCIでパッケージ化および操作するカスタム・エージェント・ランタイムにホスト・デプロイメントも使用します。
次に例を示します。
- モデル・インタラクションおよびツール使用のためのOCI Responses APIのコール
- コンテキスト処理に会話APIおよびプロジェクトベースのメモリーを使用
- ワークフローの一部としてファイル、ベクトル・ストアおよびコンテナを使用する
- フェデレーテッド・エンタープライズ・データに対する自然言語からSQLへの生成にNL2SQLを使用
- ホスト・アプリケーションとしてのカスタム・エージェント・ランタイムのデプロイ
これにより、OCI管理エージェント機能を、OCIで実行するパッケージ・アプリケーション・コンポーネントと組み合せることができます。
ユース・ケースに適したアプローチの決定
OCI管理のモデル実行、会話、ツール、基本API、およびNL2SQLなどのサポート機能を使用してエージェントを構築する最も高速で柔軟な方法が必要な場合は、Responses APIアプローチを使用します。
独自のエージェント・ランタイムをパッケージ化してデプロイし、OCI管理インフラストラクチャで実行する場合は、ホスト・アプリケーションを使用します。
ハイブリッド・アプローチは、アーキテクチャが両方のモデルからメリットを得ている場合に使用します。
