検索拡張生成について

Oracle AI Vector Searchは、エンタープライズ検索拡張生成(RAG)をサポートし、ベクトルをリレーショナル・データ、グラフ・データ、空間データおよびJSONコレクションと組み合せることができる高度な問合せを可能にします。

検索拡張生成は、LLMの制限に対処するために開発されたアプローチです。RAGは、事前トレーニング済言語モデルの長所と、応答の生成中にデータセットまたはデータベースから最新かつ正確な情報をリアルタイムで取得する機能を組み合せます。

RAGの実装を通じてLLMと通信することで、LLMの知識はAI Vector Searchを通じて見つかったビジネスデータで増加します。

GPT (Generative Pretrained Transformer)などのLLMの主な問題は、最終更新時点までにトレーニングされたパターンとデータのみに基づいて応答が生成されることです。つまり、トレーニングが中断された後に新しいリアルタイム情報にアクセスしたり、組み込む能力が本質的に欠けているため、応答が古い情報や不完全な情報に制限される可能性があります。LLMは、会社のプライベート・データについて知りません。その結果、LLMは、十分な関連性のある最新の事実がない場合に回答(幻覚)を作成する可能性があります。

LLMに会社の最新の事実を提供することで、LLMでハルシネーションが起こる可能性を最小限に抑えることができます。

図9-1 RAGワークフローの例



ここでは、従来のLLMの問題でRAGがどのように改善されるかを示します。

  • 外部およびプライベート情報へのアクセス: RAGは、応答生成プロセス中に外部およびプライベート・ソースからデータを取得できます。これにより、利用可能な最新の情報に基づいて最新の回答を提供できます。これは、現在の知識を必要とする問合せや、元のトレーニング・データに含まれない特定の詳細を必要とする問合せにとって重要です。
  • 事実上より正確で詳細な応答: 従来のLLMは古いデータに基づいてトレーニングされていますが、RAGにはリアルタイムで取得された情報が組み込まれています。つまり、生成された応答はコンテキストが豊富であるだけでなく、時間の経過とともに事実上より最新で正確になります。これは、科学的事実、履歴データ、特定の統計など、精度と詳細を必要とする問合せに特に役立ちます。
  • 幻覚の軽減: LLMは、情報を「幻覚」することがあり、概してもっともらしい偽または未検証のコンテンツを生成することがあります。RAGは、取得したドキュメントに応答をグラウンディングすることでこれを軽減し、提供される情報の信頼性を高めます。

Oracle AI Vector Searchでは、DBMS_VECTOR_CHAIN PL/SQLパッケージを使用してOracle Database内のRAGを使用できます。または、LangChainなどの一般的なフレームワークを使用して、RAGを外部で実装することもできます。

LangChainは、一般的なLLM、ベクトル・データベース、ドキュメント・ストアおよびモデルの埋込みをカプセル化する一般的なオープン・ソース・フレームワークです。DBMS_VECTOR_CHAINは、データベース内でRAGソリューションを作成する機能を提供するPL/SQLパッケージです。DBMS_VECTOR_CHAINを使用すると、データはOracle Databaseのセキュリティから離れる必要はありません。

関連項目: