使用RAG技术构建企业级文档问答系统之使用GPT4进行评估


上篇内容介绍了如何使用TruLens进行RAG效果评估,本文介绍如何使用GPT-4进行打分,这也是目前常用的一种RAG自动化评估方法,比较适合有参考答案的RAG系统构建项目

虽然标题是说使用GPT4进行评估,但其实下文介绍的方法可以使用千问、智谱、百川等提供的模型,甚至Ollama本地部署的模型。实际情况中,大家可以根据实际情况灵活选择,总的来说是要选择相对较强的模型,因为要靠这个指标指导后续迭代方向。本文实际会使用GPT-4o-mini进行打分,使用Deepbricks所提供的服务,它可以使用支付宝付款,而且价格会比官方便宜不少

本文代码已开源,地址在:https://github.com/Steven-Luo/MasteringRAG/blob/main/evaluation/02_gpt_evaluation.ipynb

1 环境准备

1.1 安装Python依赖

pip install langchain_openai

版本为:0.1.7

1.2 准备测试集和预测结果

本次使用下图所示的样例数据进行测试,总共100条

使用RAG技术构建企业级文档问答系统之使用GPT4进行评估


字段介绍:

  • uuid:所使用文档的UUID,便于评估检索效果

  • question:问题

  • qa_type:问题类型,共有两种,分别是detailed和long_context

    • detailed:用于模拟实际情况中的具体问题,例如具体的增长率,具体的数字

    • long_text:用于模拟实际情况中,需要较长上下文,甚至需要综合整篇文档的问题,例如“文本主要内容是什么”、多步骤的操作流程等

  • ref_answer:参考答案

  • gen_answer:RAG生成的答案,打分主要是对这个结果进行打分

测试集,是使用下文介绍的方法构建的,感兴趣的朋友可以查看

使用RAG技术构建企业级文档问答系统之QA抽取gen_answer是对之前介绍的基础流程效果的打分,感兴趣的朋友可以参考下文:

使用RAG技术构建企业级文档问答系统之基础流程

2 示例代码

需要换用千问、智谱等API,只需要替换base_url和相应的api_key即可,需要使用Ollama,可以使用注释部分的代码

   ChatOpenAI    judge_llm = ChatOpenAI(      api_key=os.environ[],      base_url=os.environ[],          model_name=  )                     (question, ref_answer, gen_answer):                    prompt =         {{question}}          {{ref_answer}}          {{gen_answer}}      .replace(, question).replace(, (ref_answer)).replace(, gen_answer).strip()      result = judge_llm.invoke(prompt).content   result

打分

 = {}     idx, row in tqdm(prediction_df.iterrows(), =len(prediction_df)):   = row[]   question in score_dict:     = answer_dict[question][]   = answer_dict[question][]      score_dict[question] = evaluate(question, ref_answer, gen_answer)    prediction_df.loc[:, ] = prediction_df[].apply(lambda q: score_dict[q])

检查一下模型响应,是不是按Prompt要求返回了

prediction_df[].unique()

array(['是', '否'], dtype=object)

计算最终得分

prediction_df.loc[:, ] = prediction_df[].replace({: , : })  _ = prediction_df.pop()  (prediction_df[].mean())

0.74

如果你觉得我的文章对你有用的话,欢迎点赞、关注?

RAG技术前沿技术新闻资讯

开源神器!向量、张量、全文搜索一网打尽,打造最强 RAG!

2025-3-29 23:01:48

RAG技术前沿技术新闻资讯

Speckly:基于Speckle文档的RAG智能问答机器人

2025-3-30 1:00:53

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
搜索