🌊

RAGとは

に公開

記事概要

RAGについて、まとめる。

説明

Retrieval-Augmented Generation(検索拡張生成)の略。
機械学習を検索補助として使用し、より精度の高い回答を動的に生成する考え方

メリット

  • 高精度な回答を受領できる
    • 最新情報や専門的な情報をもとにした回答を生成
    • 出典・参考情報を表示できる
    • 事実と異なる回答が生成されづらい(ハルシネーションが起こりにくい)
  • 秘匿性の高い情報を参照できる
    • 検索インデックス(情報ソース)に格納した、秘匿性の高い情報を参照できる
    • 検索インデックス内の情報漏洩リスクは低い

検索インデックス

ベクトル検索を使うのが主流。

ベクトル検索

データを数値のベクトルとして扱い、ベクトル同士の数値の距離を計算することで、関連性のある情報を見つける検索技術。
単語の意味や文脈を理解し、関連情報を効率的に見つけることができる

仕組み

事前準備と回答生成フェーズによって構成される

  • 事前準備フェーズ
    • 検索インデックスを用意する
    • ベクトル検索を使用する場合、ベクトル化(埋め込み)のこと
  • 回答生成フェーズ
    • 検索インデックスから、関連性の高い情報を取得する
    • 検索結果をもとに、回答を生成する

【ベクトル検索の場合】

  1. 文章(メタデータ)をチャンクという単位に分割し、チャンクをベクトル化
  2. メタデータとセットで、チャンクを検索インデックスに保存
  3. 検索用に入力された文字列をベクトル化
  4. 3.の情報をもとに、検索インデックスに格納されたチャンクを検索
  5. 関連性の高いチャンクを取得(数値の近いモノ)
  6. 検索結果であるチャンクと、それに紐づくメタデータを取得
  7. 6.をもとに、回答を生成

補足

  • ファインチューニング
    • 生成AIがデータを学習する方法のひとつ
    • 既存のAIモデルに対して独自データを再学習させ、専門性の高いAIモデルを構築する

参考記事

https://blog.cloudnative.co.jp/26709
https://qiita.com/skillup_ai/items/e4494f5c2409fd8b7bb4
https://qiita.com/shirochan/items/43cfd11c7bb7d11d160a
https://amie-ai.com/contents/vector-semantic-search-difference
https://metaversesouken.com/ai/generative_ai/fine-tuning-3

ヘッドウォータース

Discussion