[ PROMPT_NODE_22526 ]
llm-evaluation
[ SKILL_DOCUMENTATION ]
# LLM 评估
掌握 LLM 应用的综合评估策略,从自动化指标到人工评估和 A/B 测试。
## 何时不使用此技能
- 任务与 LLM 评估无关
- 您需要此范围之外的其他领域或工具
## 指令
- 明确目标、约束和所需输入。
- 应用相关最佳实践并验证结果。
- 提供可操作的步骤和验证方法。
- 如果需要详细示例,请打开 `resources/implementation-playbook.md`。
## 何时使用此技能
- 系统地衡量 LLM 应用性能
- 比较不同的模型或提示词
- 在部署前检测性能回归
- 验证提示词变更带来的改进
- 建立生产系统的信心
- 建立基准并跟踪进度
- 调试意外的模型行为
## 核心评估类型
### 1. 自动化指标
使用计算得分进行快速、可重复、可扩展的评估。
**文本生成:**
- **BLEU**: N-gram 重叠(翻译)
- **ROUGE**: 召回率导向(摘要)
- **METEOR**: 语义相似度
- **BERTScore**: 基于嵌入的相似度
- **Perplexity**: 语言模型置信度
**分类:**
- **Accuracy**: 正确率
- **Precision/Recall/F1**: 类特定性能
- **Confusion Matrix**: 错误模式
- **AUC-ROC**: 排序质量
**检索 (RAG):**
- **MRR**: 平均倒数排名
- **NDCG**: 归一化折损累计增益
- **Precision@K**: Top K 中的相关性
- **Recall@K**: Top K 中的覆盖率
### 2. 人工评估
针对难以自动化的质量维度进行人工评估。
**维度:**
- **Accuracy**: 事实准确性
- **Coherence**: 逻辑连贯性
- **Relevance**: 回答相关性
- **Fluency**: 自然语言质量
- **Safety**: 无有害内容
- **Helpfulness**: 对用户是否有用
### 3. LLM 作为裁判 (LLM-as-Judge)
使用更强的 LLM 来评估较弱模型的输出。
**方法:**
- **点对点 (Pointwise)**: 对单个响应评分
- **成对比较 (Pairwise)**: 比较两个响应
- **基于参考 (Reference-based)**: 与标准答案对比
- **无参考 (Reference-free)**: 无需标准答案进行判断
## 快速开始
python
from llm_eval import EvaluationSuite, Metric
# 定义评估套件
suite = EvaluationSuite([
Metric.accuracy(),
Metric.bleu(),
Metric.bertscore(),
Metric.custom(name="groundedness", fn=check_groundedness)
])
# 准备测试用例
test_cases = [
{
"input": "What is the ca