DeepEval

DeepEval 由 Confident AI 开发,是一个用于测试大型语言模型系统的开源框架。它类似于 Pytest,但专为 LLM 输出设计,评估 G-Eval、幻觉、答案相关性等指标。

DeepEval 可以与 Qdrant 集成,以评估 RAG 管道——确保您的 LLM 应用程序根据检索到的向量搜索上下文返回相关、有依据且忠实的响应。

工作原理

测试用例是 DeepEval 提供的用于对 LLM 输出进行单元测试的蓝图。DeepEval 中有两种类型的测试用例

LLMTestCase:用于评估单个输入-输出对,例如 RAG 响应或代理操作。

ConversationalTestCase:一系列LLMTestCase的轮次,代表与 LLM 系统的来回交互。这对于聊天机器人或助手测试特别有用。

指标概览

DeepEval 提供了一套指标来评估 LLM 输出的各个方面,包括

  • 答案相关性:衡量 LLM 的输出与给定输入查询的相关程度。
  • 忠实性:评估 LLM 的响应是否以所提供的上下文为基础,确保事实准确性。
  • 上下文精确度:确定最相关的上下文片段是否比不相关的片段排名更高。
  • G-Eval:一个多功能指标,使用 LLM 作为评估者,通过思维链推理根据自定义标准评估输出。
  • 幻觉:检测 LLM 生成源上下文中不存在的信息的实例。
  • 毒性:评估 LLM 输出中是否存在有害或冒犯性内容。
  • 偏见:评估输出中是否存在任何无意偏见。
  • 摘要:衡量生成摘要的质量和准确性。

有关所有可用指标的完整列表和详细解释,请参阅DeepEval 指标参考

将 Qdrant 与 DeepEval 结合使用

安装客户端库。

$ pip install deepeval qdrant-client

$ deepeval login

您可以使用 Qdrant 为您的 RAG 系统提供支持,方法是检索查询的相关文档,将其输入到您的提示中,并使用 DeepEval 评估生成的输出。

from deepeval.test_case import LLMTestCase, ConversationalTestCase
from deepeval.metrics import AnswerRelevancyMetric, FaithfulnessMetric, ...

# 1. Query context from Qdrant
context = qdrant_client.query_points(...)

# 2. Construct prompt using query + retrieved context
prompt = build_prompt(query, context)

# 3. Generate response from your LLM
response = llm.generate(prompt)

# 4. Create a test case for evaluation
test_case = LLMTestCase(
    input=query,
    actual_output=response,
    expected_output=ground_truth_answer,
    retrieval_context=context
)

# 5. Evaluate the output using DeepEval
evaluate(
    test_cases=[test_case],
    metrics=[
        AnswerRelevancyMetric(),
        FaithfulnessMetric(),
        ContextualPrecisionMetric(),
        ...
    ],
)

使用 DeepEval 执行的所有评估都可以在Confident AI 控制台上查看。

您可以使用数据集(例如来自 Hugging Face)扩展此过程,并通过循环遍历问答对、查询 Qdrant 以获取上下文以及使用 DeepEval 指标评分来一次评估多个测试用例。

延伸阅读

此页面有用吗?

感谢您的反馈!🙏

很抱歉听到这个消息。😔 您可以在 GitHub 上编辑此页面,或创建一个 GitHub 问题。