Select AIとOracle APEXを使用した、エージェント的で忠実度の高い会話型AIフレームワークの構築
このAI主導のチャットボット・ソリューションは、データの可視化とレポート機能を組み込んだエージェント・フレームワークを活用しながら、幻覚を最小限に抑え、高精度を実現します。
自然言語(NL)問合せは、Oracle Databaseアクセスの実行可能SQL文に変換され、実行前にSQLを検証する人間的なループ・メカニズムを備えています。このソリューションはOCIでホストされており、Oracle APEX Application Developmentユーザー・インタフェース、OCI Compute上で動作するLangChainベースのAIエージェント、およびOCI Generative AIサービスおよびOracle Autonomous AI Databaseとの統合を備えています。このアーキテクチャにより、エンタープライズ・データとのシームレスな自然言語インタラクションが可能になり、応答性に優れた自然言語処理フロントエンドと動的ビジュアライゼーション、およびリアルタイム・データ探索のためのセキュアで高パフォーマンスのバック・エンドが組み合されます。
このAIチャットボット・ソリューションは、次の機能を提供します。
- データへのロールベースのアクセスを持つデータベースに対する自然言語問合せ
- 動的なデータ・ビジュアライゼーションおよびレポート
- ヒューマンインザループSQL検証
- ほぼゼロの幻覚
アーキテクチャ
エージェント・フレームワークには、ユーザー・インタラクション、APIアクセス、AI処理、およびデータ・ストレージをOracle Cloud Infrastructure (OCI)で処理する個別の機能レイヤーが含まれています。
次の図は、機能レイヤーとプロセス・フローを示しています。
select-ai-apex-architecture-oracle.zip
ワークフロー:
- ユーザーは、Oracle APEX Application Developmentフロントエンド・アプリケーションを使用してサインインし、自然言語問合せを送信します。
- リクエストは、Oracle Cloud Infrastructure API Gatewayを介してオーケストレーション・エンジンにルーティングされます。
- リクエストは、OCI APIゲートウェイから、OCI Container Instancesで実行されているLangChainなどのフレームワークで開発されたAIエージェントを含むOCI Computeにルーティングされます。
- エージェントは、問合せの正確性を確保し、不正確さ(ハルシネーション)を軽減するように設計されたワークフローを実行します。
- エージェントは、Oracle Autonomous AI Database Select AI機能を呼び出します。この機能は、OCI生成AIを利用して、自然言語問合せとそのメタデータを実行可能なSQL文に変換します。
- ソース・データは、Oracle Exadata Database ServiceなどのAutonomous Database以外の個別のデータに存在します。Oracle Autonomous AI Databaseはインテリジェントなサイドカーとして機能し、安全なデータベース・リンクを使用してこのデータにアクセスします。このアーキテクチャ・パターンにより、データ移行を必要とせずに、以前のデータベース・バージョンに格納されているデータに対してSelect AI機能を使用できます。
- 最終SQL問合せの結果は、アプリケーション・フロントエンドを介してユーザーに返されます。各レスポンスは、チャットのようなエクスペリエンスをエミュレートするために自然言語でフォーマットされ、特定の問合せ結果に合せたデータ・ビジュアライゼーションが付属しています。
- ロールベースのアクセス制御(RBAC)は、このプロセス中に適用されます。エージェントは、ユーザーの役割に対応する特定の Select AIプロファイルを選択します。各プロファイルは、ソース・データベースのスキーマの特定のサブセットに制限されるため、生成されたSQLは認可されたデータにのみアクセスします。
このアーキテクチャでは、次のコアOCIコンポーネントを使用します。
- Oracle Autonomous AI Database
次のようなAIデータ・レイヤーの中核を提供します。
- データ統合: データベース・リンク(サイドカー)を使用して、Autonomous Database以外のソースにアクセスします。
- Natural Language Interaction: 自然言語からSQLへの変換に、組込みのSelect AI機能を使用します。
- ベクトル検索: 取得拡張生成(RAG)フィードバック・ループにデータベースのAIベクトル検索機能を使用します。
- Oracle APEX Application Development
データドリブン・ユーザー・インタフェースを構築するためのローコード・プラットフォームを提供します。Autonomous Databaseと緊密に統合され、クエリ入力と結果の可視化のフロントエンドとして機能します。
- OCI Compute (Pythonランタイムあり)
AIワークフローのオーケストレーション・エンジンをホストします。REST APIを使用してAPEXサービス・アプリケーションからリクエストを受信し、データベースを問い合せて、OCI生成AIをコールします。このコンポーネントは、永続的で低レイテンシのランタイム環境を提供します。
- OCI生成AI
次の3つの主要な関数の大規模言語モデル(LLM)へのアクセスを提供します。
- Natural Language to SQL: Select AI機能の推論エンジンとして機能します。
- フィードバック・ベクトル化: AIベクトル・ストア内のストレージ用のテキストから埋込みを生成します。
- バックエンドLLMサービス: Pythonバックエンドによって、結果要約などの他の生成タスクのために直接コールできます。
- OCI APIゲートウェイ
バック・エンド・サービスの管理対象でセキュアなエンドポイントを提供し、APEXサービス・フロント・エンドからOCIコンテナ・インスタンスのオーケストレーション・エンジンにリクエストをルーティングします。
- Oracle Exadata Database Service
問合せ対象のソース・データを含む高パフォーマンス・データベース。
- Oracle Cloud Infrastructure Web Application Firewall(WAF)
OCI WAFは、クリティカルなセキュリティ・シールドとして機能し、APEXサービス・フロントエンドからのすべてのリクエストを検査して、APIゲートウェイおよびバック・エンド・サービスを悪意のあるWebベースの攻撃から保護します。
- OCI Identity and Access Management(IAM)
IAMポリシーは、検査、アクセス制御およびセキュアな実行に使用されます。
幻覚を最小化するためのエージェント・ワークフロー
次のワークフローでは、自然言語(NL)問合せ処理でほぼゼロの幻覚を実現するように設計されたエージェント・アプローチの概要を示します。
- ユーザー入力: ユーザーは、APEXサービス・フロント・エンドを介して自然言語問合せを送信します。
- RAGチェックポイント: 問合せは、セマンティック類似性検索を使用して、Oracle Autonomous AI DatabaseのAIベクトル・ストアに対して最初に評価されます。厳密に一致する事前検証済問合せが見つかった場合は、その対応するSQLが再利用され、一貫性と効率性が確保されます。
- 自然言語からSQL生成: 一致が識別されない場合、オーケストレーション・エンジンはAutonomous DatabaseのSelect AI機能をトリガーします。このコンポーネントは、OCI生成AIを利用して、ユーザーの入力を実行可能なSQL問合せに変換します。
- 問合せの検証: 生成されたSQLがレビューおよび承認のためにユーザーに提示され、実行前にヒューマン・イン・ザ・ループ保護が導入されます。
- 実行およびデータ取得: 検証後、SQL問合せはOracle Exadata Database Serviceに対して実行されます。結果のデータは、APEXサービス・フロントエンドでレンダリングされます。
- フィードバック・ループ: 検証された自然言語問合せとそれに対応するSQLは、OCI生成AIを使用してベクトルとして埋め込まれ、AIベクトル・ストアに格納されます。これにより、信頼できる問合せペアのリポジトリを拡張することで、将来のRAGベースの問合せ解決が強化されます。
この反復的なワークフローにより、システムはユーザーのフィードバックから継続的に学習し、時間の経過とともに幻覚の可能性を徐々に減らすことができます。
レガシー・データ・アクセスのサイドカー・パターン
Oracle Autonomous AI Databaseは、レガシー・データベースを備えたAIサイドカーとして機能し、SQL翻訳とベクトル検索への自然言語を処理しながら、安全なデータベース・リンクを使用してExadata Database Serviceにクエリをフェデレートします。
このアプローチにより、レガシー・データを移行する必要がなくなり、企業は既存のシステムを中断することなくクエリ・アクセスを最新化できます。
動的ビジュアライゼーション用のAPEXサービス埋込みOracle JETの活用
このアーキテクチャでは、動的でデータドリブンなビジュアライゼーションをサポートするために、APEXサービスの宣言的なチャート・コンポーネントではなく、Oracle JETとの直接統合を使用します。これにより、AIによって生成されたデータに基づいて必要なランタイム・レンダリングが可能になります。
Oracle JETのモデル・ビュー・モデル(MVVM)アーキテクチャは、Knockout.jsを利用して、モジュラ依存性管理、非同期データ・バインディングおよびランタイム・ユーザー・インタフェースの構成を可能にします。これにより、フロントエンドは、AIドリブンSQLクエリによって生成された構造化されたJSON出力に動的に応答できます。
チャート・レンダリングをAPEXサービスの宣言レイヤーから分離することで、ビジュアライゼーション・パイプラインに対するアーキテクチャ制御が可能になります。チャート・タイプとデータ・モデルは実行時に選択および導入されるため、最新の分析ワークフローに沿ったレスポンシブで拡張可能なユーザー・エクスペリエンスを実現できます。
レンダリング・パイプラインの概要:
- モデル生成: AIによって生成されたSQL結果は、AIエージェントを使用して構造化されたJSONに変換されます。
- JSONペイロード: フロントエンド・アクセス用のAPEXサービス・ページ・アイテムに格納されます。
- 構成の表示: 棒グラフ、折れ線グラフ、円グラフなどのチャート・タイプの推奨は、AIによって取得され、「APEXサービス」ラジオ・グループ・アイテムに格納されるため、ユーザーは様々なチャート・タイプを切り替えることができます。
- 実行時チャートの実行: JavaScript関数は、ビジュアライゼーションをリアルタイムでレンダリングする静的リージョン内のOracle JETチャート・コンポーネントにJSONモデルをバインドします。
レコメンデーション
- ヒューマンインザループ
この相互作用の明確なガイドラインとインタフェースを確立します。直感的なレビュー・インタフェースを設計し、明確なエスカレーション基準を定義して、人間の監視が効率的で効果的であることを確認します。これにより、システムの信頼性が向上し、フィードバック・ループによる継続的な改善が可能になります。
- フィードバック
システムによって生成されたフィードバック・ログに包括的な分析を実装します。これにより、システムがどのように学習および進化しているかについてのインサイトが提供されます。問合せの正確性、ユーザー満足度、応答時間などの主要業績評価指標(KPI)を監視することは、改善すべき分野を特定し、高品質のユーザー・エクスペリエンスを確保するのに役立ちます。
考慮事項
このリファレンス・アーキテクチャをOracle Cloud Infrastructure (OCI)にデプロイする場合は、次の点を考慮してください:
- 生成AI
- 予測可能なパフォーマンス、特に本番環境では、モデル推論用の専用AIクラスタをデプロイします。これらのクラスタは他のテナントと共有されないため、一貫したレスポンス時間が確保されます。埋込み生成などの重要度の低いタスクでは、オンデマンド・モードがよりコスト効率の高いオプションになる可能性があります。
- 埋込みの場合、事前トレーニング済モデルをOracle Autonomous AI Databaseにインポートするか、OCI生成AIを使用して外部で埋込みを生成できます。Oracle Autonomous AI Databaseには、組み込みのOpen Neural Network Exchange (ONNX)ランタイム・エンジンが含まれており、埋込みモデルをデータベース内で直接実行できます。
- 高可用性
- AIエージェント: 高可用性を確保するために、LangChainベースのAIエージェントは、異なるフォルト・ドメインまたは可用性ドメイン内の複数のコンピュート・インスタンスにデプロイする必要があります。スケーラビリティと管理を容易にするために、OCIインスタンス・プールを使用することをお薦めします。OCIロード・バランサは、これらのインスタンス間でトラフィックを分散し、ヘルス・チェックを実行します。
- マネージド・サービス: Autonomous Database、APEXサービス、OCI Generative AI、OCI API Gatewayなど、アーキテクチャ内のその他のコンポーネントは、フォルト・トレランスと高可用性が組み込まれたフルマネージド・サービスであり、冗長性のための追加構成は必要ありません。
- ディザスタ・リカバリ: サイト全体の停止に対する保護のために、Oracle Autonomous Data Guardがデータベースを別のOCIリージョンにレプリケートできるようにします。
- セキュリティおよびコンプライアンス
- 階層型セキュリティ・アプローチ: マルチレイヤ・セキュリティ戦略を実装します。これには、Oracle Cloud Infrastructure Web Application Firewallの使用などのネットワーク・セキュリティ対策や、すべてのサービス相互作用に対する最小権限の原則に従う必要があります。
- ファイングレイン・アクセス制御: AIプロファイルを介して実装されるロールベースのアクセス制御(RBAC)に加えて、データ・アクセスをより詳細に制御するために仮想プライベート・データベース(VPD)ポリシーを使用することを検討してください。
詳細の参照
このアーキテクチャの機能および関連するアーキテクチャについてさらに学習します。

