RAG

RAG

執筆済 AIシステムRAG

外部から関連文書を検索し、それを文脈に入れて生成する。 Retrieval-Augmented Generation。

質問 → [検索] → 関連文書 k 件
                     ↓
質問 + 文書 → [LLM] → 回答

何を解決するのか#

問題 RAG での改善
知識が学習時点で止まる 最新の文書を渡せる
社内文書を知らない 独自データを検索対象にできる
幻覚 根拠を文脈に置ける
出典が示せない 検索した文書を引用できる

再学習せずに知識を更新できるのが実務上最大の利点。

構成#

  1. チャンク分割 — 文書を適当な長さに切る
  2. 埋め込み — 各チャンクをベクトル化
  3. 索引 — ベクトル DB に格納
  4. 検索 — 質問のベクトルに近いチャンクを取る
  5. 生成 — 取得したチャンクを文脈に入れて回答させる

難所#

チャンク分割が精度を大きく左右する。

  • 小さすぎる → 文脈が切れて意味が失われる
  • 大きすぎる → 無関係な部分がノイズになる

見出し構造に沿って切る、重複を持たせる、 親文書への参照を持たせる、といった工夫がある。

検索の質が上限を決める。 関連文書が取れなければ、どんなに良いモデルでも答えられない。 ベクトル検索とキーワード検索(BM25)を併用する ハイブリッド検索、および再ランキングが実務では有効。

限界#

参考文献#

ノート一覧を閉じる