微信扫码
与创始人交个朋友
我要投稿
今天我们要讨论的是以度量为驱动的代理开发,特别是如何通过度量来评估代理在检索信息和生成答案方面的表现。这个度量驱动的方法的核心理念是,通过在我们的pipline中添加评估,我们可以更快速地迭代代理和检索生成(RAG)性能。这正是我们将在这里重点讨论的内容:如何通过Langchain将RAG应用于对话代理。
首先,我们将介绍我们的代理。我们的代理将使用Claude 3 LLM(大型语言模型),这是由Anthropic开发的模型。这个代理将是一个XML代理,并且我们将使用Langchain进行实现。代理的一个关键工具是RAG工具,它将连接到一个存档数据集,我们称之为搜索工具。这个搜索工具将连接到我们的RAG管道。
在高层次来看,RAG管道将从搜索工具接收查询,将其转换为嵌入(embedding),使用Cohere V3模型生成查询向量(xq)。然后,这个向量将被发送到我们的向量数据库Pine Cone,它包含了所有预先嵌入的存档论文。数据库将返回一组相似或相关的上下文,这些上下文将被传回搜索工具,然后传给代理。代理将基于这些上下文和初始查询生成一个响应。
在这个过程中,RAGAS(用于评估RAG组件的工具)评估检索和生成组件的表现。我们将关注两种评估检索的度量和两种评估生成的度量。
这里我们使用RAGAS 0.1版库,并集成RAGAS以评估检索和生成组件的表现。这意味着我们需要提取检索组件的输出(即上下文)以进行评估。
为了获取这些中间步骤,我们需要在初始化代理执行器时设置return_intermediate_steps
参数为true
。这样我们就可以提取这些中间步骤,并且可以评估检索部分和生成部分的输出。
为了进行评估,我们需要一个特定格式的数据集。这个数据集包含原始问题、最相关的上下文、标准答案等。这些数据由RAGAS自动生成,但我们建议手动检查和调整数据,以确保准确性。
我们将遍历数据集中的所有问题,并将这些问题提交给代理。代理返回的上下文、生成的答案和实际的标准答案将被记录在一个数据框中。
我们将使用RAGAS提供的评估功能来评估生成的答案和上下文。评估度量包括:
上下文召回率(Context Recall):计算检索到的相关结果占总相关结果的比例。
上下文精确度(Context Precision):计算检索到的相关结果占总检索结果的比例。
忠实度(Faithfulness):评估生成答案与检索上下文的一致性。
答案相关性(Answer Relevancy):评估生成答案与原始问题的相关性。
检索度量主要关注上下文召回率和上下文精确度。
上下文召回率(Context Recall):衡量管道返回的所有相关记录占数据集中所有相关记录的比例。公式为:真阳性 / (真阳性 + 假阴性)
。
上下文精确度(Context Precision):衡量返回的相关结果占总返回结果的比例。公式为:真阳性 / (真阳性 + 假阳性)
。
生成度量主要关注忠实度和答案相关性。
忠实度(Faithfulness):衡量生成答案中的所有声明是否都能在检索上下文中找到。分数为1表示所有声明都能找到,分数为0表示没有声明能找到。
答案相关性(Answer Relevancy):通过生成多个基于生成答案的问题,并使用余弦相似度比较这些生成问题与原始问题的相似性来衡量。
通过这些度量,我们能够更全面地评估RAG管道的表现,并根据这些评估结果进行优化和迭代。
通过将评估集成到我们的开发过程中,我们可以更快速、可靠地迭代检索和生成组件的性能。这使得我们的对话代理能够提供更高质量的答案,并显著提升用户体验。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-25
RAG搭建中,如何选择最合适的向量索引?
2024-11-25
RAG的2024—随需而变,从狂热到理性(下)
2024-11-25
RAG的2024—随需而变,从狂热到理性(下)
2024-11-25
糟糕!LLM输出半截Json的答案,还有救吗!
2024-11-24
解读GraphRAG
2024-11-24
RAGChecker:显著超越RAGAS,一个精细化评估和诊断 RAG 系统的创新框架
2024-11-23
FastRAG半结构化RAG实现思路及OpenAI O1-long COT蒸馏路线思考
2024-11-23
检索增强生成(RAG):解密AI如何融合记忆与搜索
2024-07-18
2024-05-05
2024-07-09
2024-05-19
2024-07-09
2024-06-20
2024-07-07
2024-07-07
2024-07-08
2024-07-09
2024-11-25
2024-11-06
2024-11-06
2024-11-05
2024-11-04
2024-10-27
2024-10-25
2024-10-21