Expand description
Evaluation 模块 - LLM 应用评测
提供 Evaluator / PairwiseEvaluator trait、内置评测器、数据集加载与批量运行器,
用于量化 prompt/模型改动的效果。
核心类型:
EvalError/Score/Example/Dataset/Evaluator/PredictorPairwiseEvaluator(成对比较,P1-1 与单点并列的一等公民)EvalRunner与报告Report(含原文 + 标准差 + 失败清单)- 内置评测器:
ExactMatch/StringDistance/EmbeddingSimilarity/LLMAsJudge - 其它评测器:
Bleu/Faithfulness/PairwiseJudge/ContainsKeyword/RegexMatch
§示例
ⓘ
use lc_evaluation::{EvalRunner, ExactMatch, StringDistance, Dataset, Example};
let dataset = Dataset::new(vec![Example::new("2+2?", "4")]);
let runner = EvalRunner::new(vec![Box::new(ExactMatch), Box::new(StringDistance)]);
// let report = runner.run(&dataset, &predictor).await?;Structs§
- Bleu
- BLEU 评测器(默认 BLEU-4)。
- Contains
Keyword - 关键词包含评测器:检查预测是否包含指定关键词。
- Dataset
- 数据集
- Embedding
Similarity - 嵌入相似度评测器:用预测与参考答案的嵌入向量余弦相似度打分。
- Eval
Runner - 批量运行器:同时收纳单点与成对评测器。
- Exact
Match - 精确匹配评测器:预测与参考答案 trim 后完全一致得 1.0,否则 0.0。
- Example
- 评测样例
- Faithfulness
- 忠实度评测器(幻觉检测):回答有多忠于参考上下文。
- LLMAs
Judge - LLM 裁判评测器:让 LLM 按评分标准对预测打分(0 到
max_score)。 - Length
Check - 长度检查评测器:预测长度(按字符)是否落在 [min, max] 范围。
- Pairwise
Judge - 成对比较评测器(用 LLM 当裁判,二选一)。
- Regex
Match - 正则匹配评测器:检查预测是否匹配正则。
- Report
- 评测报告(含原文、标准差、失败清单;可反序列化)。
- Score
- 评测分数(0.0–1.0,1.0 为最佳)
- String
Distance - 字符串距离评测器:基于 Levenshtein 编辑距离归一化打分。
Enums§
Traits§
- Evaluator
- 评测器 trait
- Pairwise
Evaluator - 成对比较评测器 trait(竞技场模式):对同一输入的 A/B 两个回答判优劣。
- Predictor
- 预测器 trait(待评测的对象:LLMChain / Agent 等)