Shikata Ga Nai

Private? There is no such things.

第42回:ragasで始めるRAGの可視化と分析

Hello there, ('ω')ノ

RAGが動いている「つもり」になっていませんか?

RAG(検索拡張型生成)をPoCや業務で活用していると、こんな悩みが出てきます:

  • 検索はちゃんと機能しているの?
  • 回答の精度って、どう評価すればいいの?
  • どの質問に弱いのか、改善ポイントがわからない…

そんなときに便利なのが、RAGの品質評価・可視化に特化したオープンソースツール
👉 ragas(RAG Assessment & Grading Suite) です!

この記事では、ragasを使ってRAGの「検索+生成」の実力を可視化・分析する方法をやさしく解説します。


💡 ragasとは?

ragasは、RAGシステムの出力に対して以下のような定量評価を自動で行ってくれるツールです:

評価項目 内容
Faithfulness(忠実性) 回答がソースに基づいているか
Answer Relevancy(回答の関連性) 質問に適切に答えているか
Context Recall(文脈の再現率) 検索された文書が、正しい回答に必要な情報を含んでいるか
Context Precision(文脈の適合率) 不要な情報が混ざっていないか
Conciseness(簡潔さ) 無駄のないわかりやすい回答になっているか

📊 → 「なんとなく使えてる」から、「どこを直すべきかが分かる」状態にしてくれるツールです!


🛠 ragasの仕組みと使い方(ざっくり概要)

✅ 使うもの

  • 質問と回答のセット(QAペア)
  • 使用したコンテキスト(検索された文書)
  • 回答を自動評価するためのLLM(GPT-3.5など)
  • Python(Jupyter Notebookなどで実行)

✅ 基本ステップ

  1. 質問&回答ログを収集
     →「質問」「RAGの回答」「使用された文書チャンク」のセットを準備

  2. ragasで自動評価
     → evaluate() 関数で各質問ごとにスコアが自動算出される

  3. 結果の可視化・分析
     → DataFrameやチャートで、質問ごとの品質傾向が見える!


✅ 出力されるスコア例(0~1で表示)

質問 Faithfulness Relevancy Recall Precision Conciseness
Q1 0.95 0.90 1.00 0.80 0.92
Q2 0.60 0.75 0.40 0.90 0.88
Q3 1.00 0.95 1.00 1.00 0.97

📌 低いスコアがあれば、「この質問は検索がズレているかも」「生成が正確じゃないかも」と改善ポイントを特定できます!


🎯 ragasを使うメリットまとめ

メリット 内容
✅ 客観的に評価できる 自分の主観に頼らずスコアで比較できる
✅ 改善ポイントが明確 検索精度 or 回答生成のどこが弱いか判別しやすい
✅ 開発チームと会話がしやすい 「Faithfulnessが低いからプロンプト見直そう」と具体的な議論が可能
✅ 検証作業を自動化 手作業で1つ1つ見る必要がない

📚 ragas導入におすすめのシーン

  • ✅ RAGのPoCをやっていて、検索精度や生成品質を評価したいとき
  • ✅ 回答の品質を定量的にレポートにまとめたいとき
  • ✅ プロンプト改善・データ整備の優先順位を決めたいとき
  • ✅ ハルシネーション対策として、忠実性スコアを見たいとき

✅ ragasを活用するためのTips

工夫 内容
質問パターンをバラして評価 簡単な質問・曖昧な質問・長文質問などを混ぜてスコア比較
チャンク数や長さを変えて再評価 コンテキスト設計の最適解を見つけやすくなる
複数バージョンでA/Bテスト プロンプトやDBの違いによる品質差を可視化
定期レポート化 「月1回の自動評価」で品質の変化を継続チェック!

まとめ:ragasでRAGの“見えない品質”を見える化しよう!

  • ragasは、RAGの出力を自動で評価・可視化するツール
  • 検索と生成それぞれの品質をスコアで分解できるのが大きな特長
  • 低スコアから改善点を特定すれば、RAGの精度と信頼性を段階的に向上できる
  • 導入は意外とシンプル。PoCや定期評価に最適!

Best regards, (^^ゞ