AI

LLM評価比較:RAGAS vs DeepEval vs Promptfoo でAIシステムを評価する

オープンソースラボ編集部2026年6月14日

LLM評価比較:RAGAS vs DeepEval vs Promptfoo でAIシステムを評価する

🧪 RAGやエージェントのパイプラインはどうテストすればいい?RAGAS・DeepEval・Promptfooの3ツールを比較して、LLM評価の最適手法を解説します。

LLM評価ツールの必要性

LLMを使ったシステムの品質を測るには、通常のソフトウェアテストとは異なるアプローチが必要です。回答の正確性・有害性・忠実性・文脈精度などを定量的に評価するツールが登場しています。

主要ツール比較表

項目RAGASDeepEvalPromptfoo
ライセンスMITApache 2.0MIT
主な用途RAG評価汎用LLMテストPromptテスト・セキュリティ
言語PythonPythonTypeScript/Python
CI/CD統合
Red teaming×
UIダッシュボード
LLMモデル対応OpenAI/Anthropic等多数多数
セルフホスト

各ツールの特徴

RAGAS

RAG(Retrieval Augmented Generation)システムの評価に特化したフレームワーク。検索結果の品質と生成の品質を独立して評価できます。

主な特徴:

  • RAG特化の評価指標(Faithfulness/Answer Relevancy/Context Precision等)
  • 参照データ不要の「reference-free」評価
  • LangChainやLlamaIndexとの深い統合
  • Faithfulness(幻覚検出)が業界標準的に使われる
from ragas import evaluate
from ragas.metrics import (
    answer_relevancy,
    faithfulness,
    context_recall,
    context_precision,
)
from datasets import Dataset

# 評価データセット
data = {
    "question": ["Pythonとは何ですか?"],
    "answer": ["Pythonは1991年に開発されたプログラミング言語です。"],
    "contexts": [["Python(パイソン)は動的型付けの汎用プログラミング言語。"]],
    "ground_truth": ["Pythonはオランダ人のGuido van Rossum氏が開発した高水準プログラミング言語。"]
}

dataset = Dataset.from_dict(data)
result = evaluate(dataset, metrics=[faithfulness, answer_relevancy, context_precision])
print(result)

向いているケース: RAGパイプラインの品質評価

DeepEval

汎用LLMテストフレームワーク。G-Eval・ハルシネーション検出・毒性チェック等、多様なメトリクスを備えています。

主な特徴:

  • 14以上の評価メトリクス(G-Eval、Hallucination、Toxicity等)
  • pytest統合でCIに組み込み可能
  • Confident AI(クラウドUI)との連携
  • ファインチューニングモデルの評価にも対応
from deepeval import assert_test
from deepeval.metrics import AnswerRelevancyMetric, HallucinationMetric
from deepeval.test_case import LLMTestCase

def test_customer_support():
    test_case = LLMTestCase(
        input="返品ポリシーについて教えてください",
        actual_output="当社では30日以内であれば返品を受け付けています。",
        expected_output="30日返品保証があります",
        context=["当社の返品ポリシー: 購入から30日以内に限り返品可能"]
    )

    relevancy_metric = AnswerRelevancyMetric(threshold=0.7)
    hallucination_metric = HallucinationMetric(threshold=0.5)

    assert_test(test_case, [relevancy_metric, hallucination_metric])

向いているケース: プロダクション品質テスト・CI統合

Promptfoo

プロンプトのA/Bテストとセキュリティ評価(Red teaming)に強いツール。YAMLで設定してCLIから実行できます。

主な特徴:

  • プロンプトテンプレートのA/Bテスト
  • Red teaming(プロンプトインジェクション・越権等の自動テスト)
  • 複数モデルの出力を横並び比較
  • Web UI でビジュアル比較
# promptfooconfig.yaml
prompts:
  - "あなたはカスタマーサポートAIです。{{question}}に日本語で答えてください"
  - "カスタマーサポートとして{{question}}に答えてください。丁寧に。"

providers:
  - openai:gpt-4o
  - anthropic:claude-3-5-sonnet-20241022

tests:
  - vars:
      question: "返品ポリシーを教えてください"
    assert:
      - type: contains
        value: "返品"
      - type: llm-rubric
        value: "回答は丁寧で完結しているか?"
npx promptfoo eval
npx promptfoo view  # UIを起動

向いているケース: プロンプト最適化・セキュリティテスト

選択ガイド

RAGシステムの評価(検索+生成)
  → RAGAS

汎用LLMテスト・CI/CD統合
  → DeepEval

プロンプトA/Bテスト・Red teaming
  → Promptfoo

内部リンク

外部リソース

FAQ

Q. 評価自体にLLMを使う場合のコストはどのくらいですか?

RAGAS/DeepEvalは評価ステップでLLM APIを呼び出します。テストケースが100件あれば、数十〜数百円程度のAPI費用が発生します。

Q. 参照データ(ground truth)なしで評価できますか?

RAGASのfaithfulness/answer_relevancyは参照なし評価が可能です。DeepEvalのG-Evalも参照なし評価をサポートします。

Q. Red teamingとは何ですか?

意図的に悪意あるプロンプトを送ってAIシステムの脆弱性を発見するテスト手法です。Promptfooは自動Red teamingを備えています。

Q. ローカルLLM(Ollama等)でも評価できますか?

3ツールともカスタムプロバイダーを設定することでOllama等のローカルLLMを評価に使えます。コスト0で評価が可能です。

他の記事も読む

Let's Build Together

OSS導入、自社だけで悩まない。

ツール選定から構築・運用・AI活用まで、オープンソースラボ運営元のClasslessが伴走します。初回のご相談は無料です。