ベクトルストア

ベクトル・ストアは、キーワードの完全一致ではなく、意味(セマンティック類似性)によってデータを索引付けおよび取得する特殊なデータ・ストアです。

ベクトルストアについて

ベクトル・ストア
  • 格納される内容:ベクトル(埋込みとも呼ばれる)は、ドキュメント、パス、チャット・メッセージ、コードまたはイメージなどのコンテンツの数値表現とメタデータ(ID、タイムスタンプ、ソースなど)です。
  • 機能:高速な類似性検索(および多くの場合ハイブリッド検索)をサポートしているため、提供されたデータから最も関連性の高い情報を取得できます。
生成AIのベクトル・ストア
  • 取得拡張生成(RAG)の強化: ナレッジ・ソースをベクトル・ストアに埋め込み、問合せ時に最も類似したチャンクを取得してから、アース・コンテキストとしてLLMに提供します。
  • レスポンスの根拠: 取得された情報の関連性を向上させ、取得されたエンタープライズ・コンテンツでレスポンスをアースすることで、幻覚された情報を使用する可能性を減らします。
ユースケースの例
  • ユーザーの質問に一致する関連ドキュメントの検索。
  • チャットボットでのコンテキスト検索を強化します。
サンプル・ワークフロー
  1. PDFを段落にチャンク化します。
  2. 各段落の埋込みベクトルを作成します。
  3. ベクトル+段落テキスト+メタデータをベクトル・ストアに格納します。
  4. ユーザーが質問をした場合は、質問を埋め込み、モデルのコンテキストとして含める最も近い段落を取得します。

クライアント設定

from oci_openai import OciOpenAI, OciSessionAuth

cp_client = OciOpenAI(
            base_url="https://generativeai.<region-code>.oci.oraclecloud.com/20231130/openai/v1",
            auth=OciSessionAuth(profile_name="DEFAULT"),
            compartment_id="ocid1.compartment.oc1..aaaaaaaaexample",
        )