别再盲目调参!个核心指标帮你量化RAG系统,内附FastGPT最新评测数据
别再盲目调参!个核心指标帮你量化RAG系统,内附FastGPT最新评测数据
FastGPT() 系统目前缺乏一个直观的评估指标,无法有效衡量对 RAG 部分的修改或模型参数微调后的效果。因此,我们迫切需要一个评测机制来评估这些改动对系统整体性能的影响。
为了解决这个问题,我们引入了评价框架 Ragas[1]。该框架通过问题定义、信息检索、答案生成和标准答案四个核心要素,结合多种评估指标,提供了一套直观而全面的评估方法来衡量 RAG 模型的效果。我们已将 Ragas 评测方法整合到 FastGPT 应用中,使用户可以随时对其自定义的 FastGPT 应用进行效果评估。
- • FactualCorrectness:是一个评估语言模型生成的响应事实正确性的指标类。它通过断言分解和自然语言推理 (LI) 来验证响应中所提出的断言是否与参考文本相符。
- • SemanticSimilarity:采用交叉编码器得分评估真实答案与生成答案之间的语义相似度。
- • RougeScore:基于最长公共子序列的重叠度来计算的 F1-score。
详情可参考 Ragas 的指标解析文档:Ragas_metrics[2]
拉取阿里云镜像并创建容器
代码语言:javascript代码运行次数:0运行复制docker pull crpi-hsnc261q1dosroc-hangzhou.aliyuncs/fastgpt_ck/ragas_eval:v1
docker run -idt -p 7222:7222 --name fastgpt_eval crpi-hsnc261q1dosroc-hangzhou.aliyuncs/fastgpt_ck/ragas_eval:v1 /bin/bash
准备评测数据集
在开始评测之前,我们需要准备一个包含标准问题和标准答案的评测数据集。数据集需要按照以下 CSV 文件格式组织:
- • CSV 文件的第一行为表头,包含两列:
user_input
(问题) 和reference
(标准答案) - • 从第二行开始为实际的测试数据,每行包含一个问题及其对应的标准答案
示例格式如下:
user_input | reference |
---|---|
question1 | answer1 |
question2 | answer2 |
接口访问
测评接口
准备好评测数据集后,可以通过以下接口发起评测请求:
代码语言:javascript代码运行次数:0运行复制curl --location --request POST 'http://localhost:7222/v1/parse/eval_rag' \
--header 'Authorization: Bearer your_access_token' \
--form 'input_file=@"/Rag_FW/dataset/test_data_50_inference_"' \
--form 'api_url=";' \
--form 'api_key="fastgpt-xxxxxxxxx"'\
--form 'query_id="02899f89-1e77-4eed-aa74-24294461bdab"'
- • api_url:FastGPT 应用的 API 根地址,用于指定请求发送的目标地址
- • api_key:FastGPT 应用的 API Key,用于身份验证和授权访问
- • query_id:用于断点续传的标识符 (可选)。当评测过程因服务崩溃等意外中断时,可以使用相同的 query_id 重新发起请求,继续未完成的评测任务。
返回信息:接口会返回一个 query_id,可用于后续通过查询接口获取评测结果。
查询接口
评测完成后,可以通过以下接口查询评测结果:
代码语言:javascript代码运行次数:0运行复制curl --location --request POST 'http://localhost:7222/v1/parse/eval_rag_query' \
--header 'Authorization: Bearer your_access_token' \
--form 'query_id="1afb059-eeec-42e9-a90b-be4ad0f4b76a"'
- • query_id:评测任务的唯一标识符。可以通过评测接口获取,如果遗失可以在 docker logs 中查看
返回信息:接口会以 CSV 文件流的形式返回包含各项评价指标的评测结果。
评测过程中,可以通过 docker logs
命令实时查看任务的处理进度。
启动 Docker 容器后,利用测评接口来访问评测服务,可以得到下图的信息,其中的 file_id 就可以用在查询接口中:
可以通过 docker logs 命令实时查看评测任务的处理进度:
评测所需的输入文件格式如下:
评测完成后,输出文件将包含详细的评测指标:
输出文件的最后一行会显示所有评测指标的平均值,方便整体评估系统性能。
重点将 SemanticSimilarity 作为主要的评价指标。
FastGPT 评测结果
我们使用 50 条中英文混合的测试数据进行评测,主要测试了以下配置:
- • 启用结果重排时,设置 Rerank 最低相关度阈值为 0.
- • 不启用结果重排时,设置 Rerank 最低相关度阈值为 0.4
- • 单次引用上下文的上限为 5000
以下是各项评测指标的平均值统计结果:
参数 | FactualCorrectness | SemanticSimilarity | RougeScore | |
---|---|---|---|---|
语义检索 | 0.4812 | 0.8995 | 0.570 | |
语义检索+结果重排 | 0.4606 | 0.8992 | 0.5245 | |
全文检索+结果重排 | 0.562 | 0.8528 | 0.829 | |
混合检索+结果重排 | 0.4128 | 0.870 | 0.4505 |
输入文件:/czrn86r1-yyh/ragas_eval/test_data_50_inference_
知识库:/czrn86r1-yyh/ragas_eval/retrieved_
引用链接
[1]
Ragas:
[2]
Ragas_metrics: /
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
推荐阅读
留言与评论(共有 16 条评论) |
本站网友 林焱 | 13分钟前 发表 |
v1 /bin/bash准备评测数据集在开始评测之前 | |
本站网友 int占几个字节 | 27分钟前 发表 |
[2] Ragas_metrics | |
本站网友 肠道蛔虫 | 25分钟前 发表 |
可以通过以下接口发起评测请求:代码语言:javascript代码运行次数:0运行复制curl --location --request POST 'http | |
本站网友 看错了 | 7分钟前 发表 |
我们已将 Ragas 评测方法整合到 FastGPT 应用中 | |
本站网友 维多利亚美容 | 8分钟前 发表 |
可以使用相同的 query_id 重新发起请求 | |
本站网友 萝卜腿 | 13分钟前 发表 |
结合多种评估指标 | |
本站网友 一饮尽千钟 | 20分钟前 发表 |
提供了一套直观而全面的评估方法来衡量 RAG 模型的效果 | |
本站网友 洁面仪有用吗 | 13分钟前 发表 |
Bearer your_access_token' \ --form 'input_file=@"/Rag_FW/dataset/test_data_50_inference_"' \ --form 'api_url=";' \ --form 'api_key="fastgpt-xxxxxxxxx"'\ --form 'query_id="02899f89-1e77-4eed-aa74-24294461bdab"'• api_url:FastGPT 应用的 API 根地址 | |
本站网友 美国在线时代华纳 | 25分钟前 发表 |
如有侵权请联系 cloudcommunity@tencent 删除模型数据系统接口量化 | |
本站网友 win7桌面小工具 | 25分钟前 发表 |
该框架通过问题定义 | |
本站网友 中国光彩事业促进会 | 21分钟前 发表 |
我们迫切需要一个评测机制来评估这些改动对系统整体性能的影响 | |
本站网友 盛大纵横天下 | 9分钟前 发表 |
我们已将 Ragas 评测方法整合到 FastGPT 应用中 | |
本站网友 颈椎病的自我保健 | 22分钟前 发表 |
使用户可以随时对其自定义的 FastGPT 应用进行效果评估 | |
本站网友 1000度高度近视 | 10分钟前 发表 |
Bearer your_access_token' \ --form 'query_id="1afb059-eeec-42e9-a90b-be4ad0f4b76a"'• query_id:评测任务的唯一标识符 | |
本站网友 成都浅水半岛 | 1秒前 发表 |
效果演示启动 Docker 容器后 |