#13179·rasa

用于 `rasa test nlu` 结果的 EvalPort 适配器 (intent_report.json / intent_errors.json)

作者: adhabnr-ux创建于 2026年8月23日更新于 2026年8月23日

EvalPort (https://GitHub.com/adhabnr-ux/evalport) 是一个开放的交换规范 + SDK,用于便携式 LLM/NLU 评估数据集和结果,因此 eval 输出不会锁定在一个框架的报告格式中。`rasa test nlu` 已经生成了真正的可移植格式的结果。在 `rasa/nlu/test.py` 中,`evaluate_intents()` 直接从 `IntentEvaluationResult` 命名元组构建其 `predictions` 列表(`intent_target`、`intent_prediction`、`message`、`confidence`),每个语句一个条目,基本上已经是一个测试案例级别的结果了。这就是与通过 `_get_intent_errors`/`write_intent_successes` 将数据写入磁盘的 `intent_errors.json`/`intent_successes.json` 相同的数据,而每个标签的 sklearn `classification_report`(按意图的精度/召回率/F1 值/支持)则通过 `_dump_report` 单独储存为 `intent_report.json`。同一个模块中的 `run_evaluation()` 返回所有三个部分 - `intent_evaluation`、`entity_evaluation`、`response_selection_evaluation` - 为一个字典,因此有一个自然的地方来连接转换器。