RAGFlow端到端精准度测试
- 进入“accuracy-test”目录。
cd KunpengRAG/test-utils/accuracy-test
- 导入数据准备步骤中下载的知识库数据。

- 配置RAGFlow工作流。

- “开始”节点必须设置输入变量,命名为“question”:
- “知识检索”节点选择用户需要的知识库。
- LLM prompt中建议使用如下配置:
你是一个乐于助人的聊天助手,能够根据你拥有的知识回答用户的问题。 在<context></context>XML标签中,使用以下上下文作为您学习的知识。 <context> {#context#} #此处为工作流中上下文参数 </context> 回答用户时: -如果你不知道,就说你不知道。 -如果你不知道什么时候你不确定,要求澄清。 避免提及您从上下文中获取的信息。 并根据用户提问的语言回答。 不要输出分析,直接给出答案并且提供你的答案时,必须以如下的JSON格式给出回复: {"answer": "你的答案"} 问题: {开始/(x) question}#此处为工作流中问题参数
- 配置RAG LLM答案生成脚本run_rag_workflow.sh中的参数,输出ragas精准度测试工具所需要的数据文本格式。脚本路径为“KunpengRAG/test-utils/accuracy-test/run_rag_workflow.sh”。
# 指定rag workflow的endpoint # rag_url="http://{dify部署IP}/v1/workflows/run" for dify # rag_url="http://{ragflow部署IP}/api/v1/agents/{agent_id}/sessions" for ragflow rag_url="" # 指定测试组名称,根据用户需求自行定义,无强制要求 title="test1" # 指定模型类型(dify_workflow/ragflow_workflow) rag_type="ragflow_workflow" # 指定api key api_key="ragflow-xxx" # 指定精准度测试集文件路径 dataset_path="/xxx/test.json" # 指定运行过程(generate/evaluate) process="generate" # 指定结果保存路径 save_dir=""- 进入RAGFlow前端页面,单击,Agent页面URL中flow后缀即为rag_url中agent_id。

- 进入RAGFlow前端页面,依此单击获取api_key。

- 进入RAGFlow前端页面,单击,Agent页面URL中flow后缀即为rag_url中agent_id。
- 运行“KunpengRAG/test-utils/accuracy-test/run_rag_workflow.sh”脚本。
- 配置RAG LLM精准度测评脚本eval_rag_metrics.sh中的参数,输出ragas精准度测试工具所需要的数据文本格式。脚本路径为“KunpengRAG/test-utils/accuracy-test/eval_rag_metrics.sh”。
# 指定测试组名称和对应测试集路径,可包含一个或多个evalset脚本, 该测试集为步骤5生成的evalset.json文件 declare -A evalset_dict=( ["test1"]="/xxx/evalset1.json" ["test2"]="/xxx/evalset2.json" ) # 指定测试指标组,精准度测评指标"ff" "ss" "rr" "cr" "fc",可以对单个或多个指标同时测评 metrics=("rr" "ss") # 指定评测器LLM名称 eval_llm_model="" # 指定评测器LLM endpoint, LLM问答访问url eval_llm_url="http://LLM模型部署机器IP:PORT/v1/chat/completions" # 指定评测器embedding endpoint,embedding模型问答访问url eval_embed_url="http://embedding模型部署机器IP:PORT/v1/embeddings" # 指定结果保存路径 save_dir=""测评指标选项如表2所示。模型涉及到的参数:
- LLM:需要eval_llm_url和eval_llm_model。
- Embedding:需要eval_embed_url。
- 运行“KunpengRAG/test-utils/accuracy-test/eval_rag_metrics.sh”脚本。
./eval_rag_metrics.sh
进入“save_dir”目录查看结果:
- summary目录:包含各评测组的各个指标的总分。
- log目录:包含各评测组的各个指标的评测日志。
- “<评测组标识名>_<指标名>”目录:该目录下的scores.json文件记录了单个数据的评测分数。
父主题: 准确度测试

