如何添加测试
如何添加测试
测试的类型
目前支持两种测试类型:
- 流程测试:用于在更换提示词之后,对大部分流程场景进行测试,以确保提示词在各种情况下都能妥善运行。
- 单元测试:对单个输入输出进行测试,通常用于模型训练之后,测试模型在多个场景下的表现。
添加到测试
首先在流程测试或者单元测试的页面,创建好需要的分类。建议仔细规划好分类,以便于后续使用的时候更加方便直观。
可以通过流程日志界面,查看详情,并根据需要添加流程测试或者单元测试。
添加到测试的时候,建议编辑好参考答案,以便于后续的测试使用。
单元测试的参考答案,可以通过添加界面右下角,选择大模型 - 生成参考输出,通过模型生成参考答案。
确认答案后,将 用例 设置为 已更正。
添加好的测试用例,可以再次编辑,如果确认没有问题后,设置为 已审核。
测试的步骤
无论是流程测试还是单元测试,都需要配置测试参数。配置测试参数的意义是,通过配置一个提示词,和一个大模型,对运行结果,进行自动化打分。
流程测试的配置参数
使用的流程:默认流程代表 该测试按照 原流程执行。指定流程后,按照人工指定的流程执行,注意参数要和原流程一致。
评测大模型:用来对输出结果进行打分的大模型,按照提示词对输出和标准答案进行对比打分。
单元测试的配置参数
配置参数和流程测试类似,但是只需要填写以下参数。
执行大模型:需要被测试的,查看模型能力的模型。通常是微调之后的模型,当然也可以是在线模型。
评测大模型:用来对输出结果进行打分的大模型,按照提示词对输出和标准答案进行对比打分。
提示词编写案例:
你是一个测评员,按照要求输出测评结果。
# 目标
给定题目、测试结果和评分准则,你的目标是:基于评测准则和任务输出结果。
## 题目
-------------------
{{sys.test.input}}
-------------------
## 参考答案
{{sys.test.right_answer}}
## 测试结果
{{sys.test.answer}}
## 评分准则
{{sys.test.standard}}
# 任务
判断目前的测试结果是不是犯了评分准则提到的错误。只要犯了其中一条错误,则accuracy='False',score='0'。如果测试结果都没有犯错,且回答的内容和参考答案相似,则accuracy='True',score='10'
# 请按照如下格式输出
command=|<|write_var(accuracy='结果',score='评分')|>|
字段 | 说明 |
---|---|
sys.test.input | 输入的内容,即单元测试界面的 问题 |
sys.test.right_answer | 单元测试界面的 参考答案 |
sys.test.answer | 本次模型输出的结果 (最终回答) |
sys.test.standard | 单元测试界面的评分准则 |
command=|<|write_var(accuracy='结果',score='评分')|>| | 此处为固定格式,请勿修改 |
运行测试
有两种方式可以运行测试:
- 单个测试:通过点击该用例右侧的 测试按钮,运行单个测试用例。测试的结果会显示在该条信息的 运行记录 页面。
- 批量测试:通过勾选需要测试的用例,点击 批量测试按钮,勾选的所有测试用例会被运行。测试的结果会显示在 测试报告 页面。
批量导入
单元测试可以批量导入,流程测试必须从日志手工添加。所以以下功能仅限于 单元测试。
点击 下载导入模板 ,可以编辑添加要批量导入的内容,完成后,点击 导入 即可批量导入。
同样,可以实现测试的批量修改,先选择一个分类,点击 导出,然后统一修改,再点击导入。
注意,不要修改导出数据中的ID,因为修改的内容是依靠ID来匹配的。
最佳实践
流程测试
通常我们会先建好以下几个测试分类:知识库补充、代表性问题等
在日常查看流程日志的时候,当发现知识库知识不足导致模型无法准确回答问题的时候,先将 该日志添加到 知识库补充, 知识库管理员看到后,添加相应知识,运行测试,确认结果无误之后,将该测试删除。
单元测试
人工添加单元测试的流程是:先将有问题的节点,添加单元测试,在添加界面编辑好答案和评判标准, 然后审核人员审核通过之后,标记为审核通过。
高级用法:自动化添加测试
How is this guide?
最后更新