应用评测

更新时间:
复制为 MD 格式

在应用正式部署上线前,评估应用在自身业务场景上的效果至关重要。LangStudio提供了一站式应用评测能力,能从不同维度(评测模板)对应用评分。

简介

LangStudio提供了一站式应用评测能力。您只需要完成评测数据集、应用输入映射等配置,并按需选择评测模板,即可提交应用评测任务。整个评测流程包括:使用应用批量处理评测数据集中的每一行,得到相应的输出。然后结合评测数据集中的辅助字段,评价每条输出的优劣。最后汇总得分以展示应用在指定数据集上的精度。

image

准备工作

  • 已创建应用并完成调试。操作详情,请参见工作流应用开发

  • 将已准备好的评测数据集上传至OSS,文件格式为JSONL,示例内容如下:

    {"history":[],"query": "描述华山的险峻威严", "reference": "华岳独秀,挺拔云霄; \n峭壁削天,巉岩峻俏。 \n苍松翠竹,斗壁争娇; \n猿啼鹰飞,霜剑光照。 \n\n危峰如剪,嵯峨剑指; \n径细坡陡,无路藤绕。 \n风腥雾织,云出岫交; \n仙境幽深,天梯难绕。 \n\n岩稜交错,龙脉翻涌; \n险途更引,凌霄曲折。 \n寂寞松梢,鹰击长空; \n华山之巅,雄姿英发。", "contexts": ["华山是五岳之一", "华山以其险峻闻名"]}
    {"history":[],"query": "可以列出5样稀有金属吗?请按全球需求来排名", "reference": "稀有金属指的是地壳中含量较少、分布不均或开采困难的金属元素,它们在高科技领域和新兴工业中扮演着非常重要的角色。全球需求的排序可能因时间和技术进步而变化,但以下是通常被广泛需求的一些稀有金属(不一定按绝对的需求量排名,因为这在不同时间点可能不同):\n\n1. **钴(Cobalt, Co)** - 钴是锂离子电池的关键成分之一,尤其是在电动汽车和便携式电子产品中。此外,它也被应用于耐热合金、硬质合金以及催化剂的制造。\n\n2. **钕(Neodymium, Nd)** - 钕是一种稀土金属,主要用于强磁体的生产,比如高性能的永磁体,这些永磁体广泛用于计算机硬盘、风力涡轮机和电动汽车的驱动电机中。\n\n3. **锂(Lithium, Li)** - 锂主要用于锂电池的制造,随着电动车和便携式电子设备的需求增加,锂的需求量迅速上升。\n\n4. **银(Silver, Ag)** - 虽然银不像上述金属那样稀有,但其在工业中的需求量巨大,主要用于电子产品、太阳能面板、珠宝和货币制造等领域。\n\n5. **钌(Ruthenium, Ru)** - 钌是一种稀有贵金属,被广泛使用在硬盘驱动器的数据储存及大容量服务器中,同时也用在催化剂和电化学电池中。\n\n这些金属的需求量受到了全球经济、科技发展和政策支持等多方面因素的影响。而且随着时间的推移和市场的变化,其他稀有金属如钽、铟、铼以及其他的稀土金属,也可能出现在最受需求的稀有金属列表中。", "contexts": ["稀有金属是指地壳中含量较低、开采和提取较为复杂的金属", "锂 (Li):被用于电池制造", "钴 (Co):用于高性能合金和电池制造"]}

    文件示例:langstudio_eval_demo.jsonl

  • 创建评测所需的LLM连接。操作详情,请参见连接配置

    注:部分评测模板需要依赖裁判员模型,因此需要配置相关的LLM连接。

计费说明

应用评测功能会使用OSS存储评测数据集,并通过PAI-DLC执行离线评测任务,因此会产生相应的资源使用费用。详情请参见OSS计费概述分布式训练(DLC)计费说明

新建应用评测任务

在应用开发页面完成调试后,单击右上角评测,新建应用评测任务。

image

关键参数说明:

参数

说明

评测数据集

OSS文件

OSS上选择一个JSONL格式的评测数据集文件。该数据集应该要包含“问题”以及评测所需的其他字段,其中“问题”字段作为应用流的输入,其他必要字段用于计算指标得分,详情请参见附录:预置评测模板说明中关于“输入字段”的介绍。

应用输入映射

question/chat_history

选择应用运行的输入字段。

注:在应用评测前需要先完成应用的推理,然后基于推理结果运行后续的评测任务,因此需要先选择应用运行需要的输入字段。

  • 工作流模式下,输入字段由开始节点定义,一般是 question 和 chat_history两个字段;

  • 代码模式下,输入字段只有 question。

评测配置

预置模板评测

系统预置了多种评测模板,您可根据实际需求进行选择。当选择多个模板时,评测结果会聚合展示在评测任务详情页。本文以回答正确性模板举例,在选择该模板时需要完成以下配置:

image

关键参数说明:

  • model_configuration:裁判员LLM。需要选择一个LLM作为裁判员,评价当前评测的应用流的questionanswer是否相匹配。建议选择能力较强的模型,如qwen3-max。

  • reference:参考答案列,来自评测数据集。在本例中,回答正确性模板接收一个问题(question),指定应用回答(answer),以及参考答案(reference),之后模板会根据问题以及参考答案,给出一个正确性得分。其中应用的问题和答案自动获取,仅需要页面上指定参考答案列。注:仅部分评测模板需要这类配置,大部分模板仅需要配置 裁判员LLM。

更多模板详情,请参见附录:预置评测模板说明

自定义评测

系统预置了一个特殊模板:自定义评估。可以根据需要定制评价 prompt。

image

image

  • 可以设置多个自定义评测,不可以同名;

  • judge_template 中配置评测模板。提供了多个样例,可以在样例基础上微调,但需要保证:

    • 不能调整 prompt 中关于输出格式的描述;

    • 内置三个占位符:{query}表示问题,{messages}表示 Agent 执行过程,{response}表示 Agent 回答;

    • 支持通过{data.***}引用数据集中某个字段,例如{data.judge}可以引用数据集中judge 字段。具体见`动态规则评估`样例;

    • {}属于特殊字符,表示引用,如果 prompt 中需要,请使用{{}}

资源配置:此处资源仅用于评测任务的调度,建议根据任务的复杂程度选择合适的CPU资源

查看评测结果

提交评测任务后,会跳转到任务概览页。每个评测运行包含了批量运行+评测两个阶段批量运行批量处理数据集的每一行,生成输出结果。评测过程使用评测数据集中的辅助字段,计算批量运行任务中每条输出的得分。待运行结束后,您可以查看子任务的链路、指标和输出详情。

image

指标页可以查看全部评测指标结果。其中,指标名请参见附录:预置评测模板说明

image

附录:预置评测模板说明

LangStudio内置了多种评测模板,可从多角度根据指标得分(指标值)评估应用的性能:

模板名称

描述

需要模型服务类型

输入字段

完全一致率

用于对Agent输出和参考答案进行精确匹配。评分范围为0-1,0表示不匹配,1表示匹配。

不需要

  • reference:参考答案,数据类型为字符串

相关性

评估应用输出与输入的相关性。该评估方法依赖一个LLM模型,LLM根据输入和应用流回答给出一个评分。Score 范围为 1 到 5,分数越高表示回答与用户需求越相关、越切题。

LLM

  • model_configuration:裁判员模型

正确性

用于评估Agent回答与标准答案在事实准确性、信息覆盖度和格式匹配度等方面的一致性。Score 范围为 1 到 5,分数越高表示输出与标准答案的匹配程度越高。

LLM

  • model_configuration:裁判员模型

  • reference:参考答案(可选),数据类型为字符串

指令遵从度

用于评估Agent回答在内容、格式和约束条件等方面对给定指令的遵循程度。Score 范围为 1 到 5,分数越高表示模型对指令的遵循越精准、完整。

LLM

  • model_configuration:裁判员模型

虚构性

用于检测Agent回答中是否存在无上下文依据或与上下文矛盾的虚构信息。Score 范围为 1 到 5,分数越高表示输出内容的虚构程度越低,真实性越强。

LLM

  • model_configuration:裁判员模型

  • context: 上下文,数据类型为List[String]

有害性

用于检测Agent回答中的有害、冒犯或不适当内容,以确保AI安全性。Score 范围为 1 到 5,分数越高表示输出内容越安全、恰当。

LLM

  • model_configuration:裁判员模型

Trajectory 综合评估

用于对Agent执行轨迹进行综合评估。评分范围为1-5,分数越高表示轨迹整体表现越优秀。

LLM

  • model_configuration:裁判员模型