11 検索拡張生成(RAG)を使用したSelect AI

RAGを使用したSelect AIは、セマンティック類似検索を使用して、指定されたベクトル・ストアからコンテンツを取得することで、自然言語プロンプトを強化します。これにより、固有の最新のコンテンツを使用することでハルシネーションが軽減され、プロンプトに対してより適切な自然言語の応答が提供されます。

Select AIは、検索拡張生成(RAG)プロセスを自動化します。この手法では、AIベクトル検索を使用して企業のソースからデータを取得し、指定した大規模言語モデル(LLM)のユーザー・プロンプトを拡張します。企業のデータ・ストアからの情報を活用することで、RAGはハルシネーションを軽減し、根拠のある応答を生成します。

RAGは、ベクトル索引のAIベクトル検索を使用して、指定された質問のセマンティックに類似したデータを検索します。ベクトル・ストアは、テキスト、イメージ、オーディオなどの様々なデータ・ポイントの数学的表現であるベクトル埋込みを処理します。これらの埋込みによってデータの意味が取得され、効率的な処理および分析が可能になります。ベクトル埋込みおよびAIベクトル検索の詳細は、AIベクトル検索の概要を参照してください。

Select AIは、ベクトル埋込みを使用した類似検索のために、Oracle Autonomous AI Database 26aiで使用可能なAIベクトル検索と統合されます。

トピック

ベクトル・ストアの作成

Select AIは、オブジェクト・ストアの入力ドキュメント(PDF、DOC、JSON、XML、HTMLなど)をプレーン・テキストに変換することで、ベクトル・ストアの作成と移入を自動化します。Oracle Textでは、約150種類のファイル・タイプがサポートされています。サポートされているすべてのドキュメント形式の完全なリストは、サポートされているドキュメント形式を参照してください。

Select AIは、ドキュメントを自動的にチャンクに分割して、埋込みを生成し、指定されたベクトル・ストアに格納して、新しいデータが到着したらベクトル索引を更新します。

オブジェクト・ストレージからの入力をSelect AI RAGで使用する方法を次に示します:

  1. 入力: データは、最初はオブジェクト・ストレージに格納されます。
  2. Oracle Autonomous Databaseは、入力データまたはドキュメントを取得してチャンク化し、チャンクを埋込みモデルに送信します。
  3. 埋込みモデルは、チャンク・データを処理してベクトル埋込みを返します。
  4. ベクトル埋込みは、RAGで使用するためにベクトル・ストアに格納されます。コンテンツが追加されると、ベクトル索引が自動的に更新されます。

RAGは、企業のデータベースから関連する情報を取得し、ユーザーの質問に回答します。この情報は、ユーザー・プロンプトとともに、指定された大規模言語モデルに提供されます。Select AIは、この追加の企業情報を使用してプロンプトを強化し、LLMの応答を改善します。RAGは、ベクトル・ストアからの最新の企業情報により、応答品質を向上させることができます。



Select AIは、次のようにRAGを実装します:
  1. 入力: ユーザーが、Select AIのnarrateアクションを使用して質問します(プロンプトを指定)。

  2. Select AIは、AIプロファイルで指定された埋込みモデルを使用して、プロンプトのベクトル埋込みを生成します。

  3. ベクトル検索索引では、質問のベクトル埋込みを使用して、索引付けされた顧客の企業データ(ベクトル・ストアを検索)から一致するコンテンツを検索します。

  4. ベクトル検索では、Autonomous AI Databaseインスタンスへの入力に似た上位Kテキストが返されます。
  5. 次に、Autonomous AI Databaseは、これらの上位Kの問合せ結果をユーザーの質問とともにLLMに送信します。
  6. LLMは、Autonomous AI Databaseインスタンスに応答を返します。
  7. Autonomous AI DatabaseのSelect AIが、ユーザーに応答を提供します。

DBMS_CLOUD_AIを使用したベクトル索引の作成および管理

DBMS_CLOUD_AIパッケージを使用して、ベクトル索引を作成および管理し、ベクトル・データベースのJSONパラメータを構成します。

資格証明を作成し、ベクトル・データベースおよびAIプロバイダへのネットワーク・アクセスを提供すると、Autonomous AI DatabaseインスタンスはAIプロファイルを使用してLLMへのアクセスを構成します。Select AI文での設定および使用の完全な例は、「例: RAGを使用したSelect AIの設定および使用」を参照してください。

ノート:

表データまたはベクトル検索ドキュメントをLLMに送信しない場合、管理者権限を持つユーザーは、指定されたデータベースのすべてのユーザーに対してこのようなアクセスを無効にできます。これにより、RAGのnarrateアクションが無効になります。

「AIプロバイダとLLMの選択」にリストされているプロバイダのAIプロファイルは、DBMS_CLOUD_AIパッケージを使用して構成できます。

関連項目:

データベース内トランスフォーマ・モデルの使用

Select AI RAGを使用すると、Oracle AI Database 26aiインスタンスでデータベースにインポートされた事前トレーニング済ONNXトランスフォーマ・モデルを使用して、文書チャンクおよびユーザー・プロンプトから埋込みベクトルを生成できます。

ノート:

インポートされたデータベース内トランスフォーマ・モデルでSelect AI RAGを使用するには、事前トレーニング済のONNX形式のトランスフォーマ・モデルをOracle AI Database 26aiインスタンスにインポートする必要があります。サポートされるAIプロバイダの他のトランスフォーマ・モデルを使用することもできます。

機能の詳細は、「例: データベース内トランスフォーマ・モデルを使用したSelect AI」を参照してください。

Select AI RAGの利点

LLMによって使用されているソースを確認することで、問合せを簡素化し、現在のデータでの応答の精度を向上させ、透明性を確保します。

Select AI RAGには、次の利点があります:
  • データ問合せの簡素化と応答精度の向上: ユーザーが自然言語を使用してエンタープライズ・データを問い合せできるようにし、LLMに企業データからの詳細なコンテキストを提供して、より正確で関連性の高い応答を生成できるようにし、LLMでのハルシネーションの発生を減らします。

  • 最新の情報: LLMがベクトル・ストアを使用して現在の企業情報にアクセスできるようにすることで、静的データセットでLLMをトレーニングする場合のコストが高く時間のかかる微調整が不要になります。

  • シームレスな統合: Oracle AI Vector Searchとの統合により、データ処理の合理化とパフォーマンスの向上を実現します。

  • 自動化されたデータ・オーケストレーション: フルマネージドのベクトル索引パイプラインによりオーケストレーション・ステップを自動化し、新しいデータが効率的に処理されるようにします。

  • 理解できるコンテキストの結果: ベクトル・ストアからLLMが使用するソースにアクセスして取得し、結果の透明性と信頼性を確保します。統合とアプリケーション開発を容易にするために、自然言語テキストまたはJSON形式でデータを表示および抽出します。