Oracle AI Vector Searchのワークフロー

一般的なOracle AI Vector Searchのワークフローは、含まれている主なステップに従います。

次の図にこれを示します。

図2-2 Oracle AI Vector Searchのユース・ケース・フローチャート



ノート:

すべてのインタラクティブ・アーキテクチャ図をOracle Help Centerで参照できます。

Oracle AI Vector Searchは人工知能(AI)ワークロード向けに設計されています。これにより、単にキーワードではなく、セマンティクスおよびイメージの類似性に基づいてデータを問い合せることができます。前の図は、Oracle AI Vector Searchを使用してベクトル埋込みを管理するために実行する必要があると想定される手順を示しています。

主なワークフロー・ステップ:

  1. 非構造化データからのベクトル埋込みの生成

    このステップは、Oracle Databaseの外部または内部で実行できます。Oracle Database内でこのステップを実行するには、最初にONNX標準を使用してベクトル埋込みモデルをインポートする必要があります。非構造化データは、Oracle Database内または外部に配置できます。

    詳細は、「ベクトル埋込みの生成」を参照してください。

  2. ベクトル埋込み、非構造化データおよびリレーショナル・ビジネス・データのOracle Databaseへの格納

    ベクトル埋込みを生成した後、それらを対応する非構造化データおよびリレーショナル・ビジネス・データとともに格納できます。ベクトル埋込みがOracle Databaseの外部に格納されている場合、SQL*LoaderまたはData Pumpを使用して、Oracle Database内のリレーショナル表内にベクトル埋込みをロードできます。データベースの外部に格納されているベクトル埋込みに、外部表を介してアクセスすることもできます。

    詳細は、「ベクトル埋込みの格納」を参照してください。

  3. ベクトル索引およびハイブリッド・ベクトル索引の作成

    通常の表の列に索引を作成する方法と同様に、ベクトル埋込みにベクトル索引を作成し、非構造化データにハイブリッド・ベクトル索引(Oracle Text索引とベクトル索引の組合せ)を作成できます。これは、巨大なベクトル空間で類似検索を実行する場合に役に立ちます。

    詳細は、「ベクトル索引およびハイブリッド・ベクトル索引の作成」を参照してください。

  4. 類似度およびハイブリッド検索を使用したデータの問合せ

    その後、Oracle AI Vector SearchのネイティブなSQL操作を使用して、類似度と従来のリレーショナル・キー検索を組み合せることができます。さらに、類似検索とキーワード検索の両方を組み合せた高度な情報検索手法であるハイブリッド検索を実行して、関連性の高い検索結果を得ることができます。SQLおよびPL/SQLでは、各チャンクに対するベクトル埋込みを生成する前に、ドキュメントなどの非構造化データをチャンクに変換する強力なユーティリティが提供されます。

    詳細は、「類似検索およびハイブリッド検索を使用したデータの問合せ」および「サポートされているクライアントおよび言語」を参照してください。

  5. プロンプトの生成および完全なRAG推論のLLMへの送信

    ベクトル・ユーティリティのPL/SQL APIを使用すると、LLMを利用したインタフェースを使用して、大規模な言語モデル(LLM)のプロンプトにテキスト・プロンプトとイメージを指定できます。LLMには、トレーニングの停止後に新しい情報にアクセスしたり、組み込んだりする機能が本質的に欠けています。LLMに会社の最新の事実を提供することで、LLMが回答(幻覚)を構成する可能性を最小限に抑えることができます。検索拡張生成(RAG)は、LLMの制限に対処するために開発されたアプローチです。RAGでは、再ランク付けを含む事前トレーニング済言語モデルの長所と、応答の生成中にデータセットまたはデータベースから情報をリアルタイムで取得する機能が組み合されています。Oracle AI Vector Searchは、LangChain、Ollama、LlamaIndexなどの一般的なフレームワークを使用して、RAGとLLMの統合を可能にします。

    詳細は、「LLMを利用したAPIおよび検索拡張生成の操作」を参照してください。