生成AI

RAGの手法を比較してみる

生成AIを使って社内文書などの外部情報を参照する技術はRAGと呼ばれます。

RAG・・検索拡張生成

RAGは現在進行で発展中でいろんな手法があるので、生成AIも活用しつつそれぞれの内容やメリットデメリットを調べてみました。

VectorRAG

Difyでも扱われている一般的なベクトル検索になります。キーワードに関係する文書を検索するので、関連性の把握が難しい専門用語だと精度が落ちるようです。

特徴:

  • 文書をパラグラフレベルでチャンク化し、ベクトル検索を使用して関連情報を取得

メリット:

  • 実装が比較的簡単
  • 大規模なデータセットに対して効率的

デメリット:

  • 複雑な文脈や専門的な内容を十分にカバーできないことがある
  • 文脈の欠如や情報の不完全性が生じる可能性がある

GraphRAG

Difyでは今の所実装できませんが、知識グラフを使って情報抽出する方法もあります。

こちらはLangChainと、Neo4j(グラフデータベース)があれば実装できそうです。

(グラフデータベースについてまたリサーチせねば)

特徴:

  • 知識グラフを使用して情報を構造化し、関連性の高い情報を抽出

メリット:

  • 複雑な関係性を持つ情報の取り扱いに優れている
  • 文脈を考慮した情報抽出が可能

デメリット:

  • 知識グラフの構築と維持にコストがかかる
  • 新しい情報の追加が難しい場合がある

HybridRAG

VectorRAGとGraphRAGを統合したアプローチ

メリット:

  • 情報検索と生成の両方における強みを活かせる
  • より正確で文脈に沿った情報抽出が可能

デメリット:

  • 実装の複雑さが増す
  • 計算コストが高くなる可能性がある

Self-Route

Difyでも実装可能。RAGで関連文書を抽出した後に、この内容で正しく回答できるのかを言語モデルが考える

ユーザーの質問と抽出した文章を同時にプロンプトに入れれば実現できる。

正しく回答できないと判断した場合は、文章を抽出するのではなく、丸々全文をプロンプトに埋め込み回答する。

RAGで回答できない場合に全部の文書を使う。

Difyで実施する場合はLLM->IF/ELSE->テンプレートブロックなどを使い、全文を出力する

  • 特徴: Self-Routeは、情報取得と生成のプロセスを自己指導型で行う手法で、モデル自身が関連情報を探索し、選択して生成に活用します。
  • メリット:
    • 自律的な情報探索が可能で、特定のドメインに特化した情報生成ができる。
    • ユーザーの介入が少なくても動作する。
  • デメリット:
    • 自己指導型のため、誤った情報を取得するリスクがある。
    • 訓練データに依存するため、ドメイン外の情報に対して効果が薄い場合がある。

他の手法

他にもDR-RAG (Dynamic Relavance RAG)、Adaptive-RAG などの手法もあり、まだ論文段階のものもあるようです。

RAGの手法をまとめてみて

文書によってどの手法が最適なのかというのは異なリ、文書ごとに手法を変えて精度確認するというのもコストがかかり現実的ではないと思われます。

いくつかの手法を用意しておいて、自動的にどの手法が最適なのかを判断してくれると理想的なので、Difyにその機能が追加されたらいいなと期待しながらソースコードなど読んでいこうと思います。


関連記事一覧 (一部広告あり)

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


最近の記事

アーカイブ

  1. データベース

    MySQLの講座をリリースしました
  2. オンライン教材

    【AWS】【初心者向け】インフラの基礎からわかる講座をリリースしました【Udem…
  3. 生成AI

    Dify講座をリリースしました【非エンジニア向け】
  4. バックエンド

    【Laravel第4弾】Vue.js3(CompositionAPI+Scrip…
  5. オンライン教材

    【React】初心者向け講座をリリースしました【MUI】【Udemy】
PAGE TOP
Ads Blocker Image Powered by Code Help Pro

広告ブロックを摘出しました!!

ブラウザ拡張を使用して広告をブロックしていることが摘出されました。

ブラウザの広告ブロッカーの機能を無効にするか、
当サイトのドメインをホワイトリストに追加し、「更新」をクリックして下さい。

あなたが広告をブロックする権利があるように、
当方も広告をブロックしている人にコンテンツを提供しない権利と自由があります。

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock