Skip to content

LLM 应用的组件级评测

Component-level Evals for LLM Apps

大多数 LLM 评测都把整个应用当作一个黑盒来看待:喂入输入 → 得到输出 → 对整个端到端系统跑评测。

llm evaluation p348 2

但 LLM 应用其实需要组件级别的评测和追踪(tracing),因为问题可能出现在这个「黑盒」内部的任何一个环节——检索器、工具调用,或者 LLM 本身。在开源框架 DeepEval 中,只需三步就能做到这一点:用 @observe 装饰器追踪各个独立的 LLM 组件(工具、检索器、生成器);给每个部分分别挂载不同的评测指标;获得一份可视化拆解,看清楚在测试用例级别和组件级别,哪些部分表现良好。下面来看一个 RAG 应用的例子:

llm evaluation p349 1

简单解释一下:先从几行标准的 import 语句开始:

llm evaluation p350 1

把你的 LLM 应用定义在一个用 @observe 装饰器修饰的方法里:

llm evaluation p350 2

接下来,给每一个你想追踪的组件分别挂载组件级别的评测指标:

llm evaluation p350 3

完成!最后,我们定义一些测试用例,对这个 LLM 应用运行组件级别的评测:

llm evaluation p351 1

这会生成一份评测报告:

llm evaluation p351 2

你还可以查看每一个具体测试,了解它为什么失败或通过:

llm evaluation p352 1

正确性和可靠性只是故事的一部分。我们还需要测试系统在对抗性压力下的表现——这正是红队测试(red teaming)派上用场的地方。

本站内容仅供学习交流,版权归原作者所有。