当前位置: 首页 > news >正文

RAG 检索增强生成有效评估

我们将介绍RAG(检索增强生成)的评估工作流程

RAG工作流程的部分

数据集
这里是我们将要使用的LCEL (LangChain Expression Language)相关问题的数据集。

这个数据集是在LangSmith UI中使用csv上传创建的:

https://smith.langchain.com/public/730d833b-74da-43e2-a614-4e2ca2502606/d

在这里,我们确保设置了OpenAI和LangSmith的API密钥。

import getpass
import osdef _set_env(var: str):if not os.environ.get(var):os.environ[var] = getpass.getpass(f"{var}: ")_set_env("OPENAI_API_KEY")
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_ENDPOINT"] = "https://api.smith.langchain.com"
_set_env("LANGCHAIN_API_KEY")

 

任务
这里是一个将在LCEL (LangChain表达式语言)文档上执行RAG的链。

我们将严格使用LangChain来创建检索器和检索相关文档。

整个管道不使用LangChain;无论您的管道是否使用LangChain构建,LangSmith都可以工作。

这里,我们将检索到的文档作为最终答案的一部分返回。

然而,下面我们将说明这不是必需的(使用中间步骤的评估)。

有关这方面的更多信息,请参阅我们的RAG-From-Scratch repo和教程视频系列。

评估

用户通常会对至少4种类型的RAG eval感兴趣。

回应vs参考答案
        目标:衡量“相对于基本事实的答案,RAG链的答案有多相似/正确”
        模式:使用通过数据集提供的真实(参考)答案
        评委:用llm作为评委来评估答案的正确性。
响应vs输入
        目标:衡量“生成的响应如何处理初始用户输入”
        模式:无参考,因为它会将答案与输入问题进行比较
        评委:用法学硕士作为评委来评估答案的相关性、有用性等。
响应与检索文档
        目标:测量“生成的响应在多大程度上与检索的上下文一致”
        模式:无引用,因为它将把答案与检索到的上下文进行比较
        评委:用法学硕士作为评委来评估忠诚、幻觉等。
检索文档vs输入
        目标:衡量“这个查询的检索结果有多好”
        模式:无引用,因为它会将问题与检索到的上下文进行比较
        评委:用法LLM-as-judge评委来评估相关性

 

来源:

Tutorials | 🦜️🔗 LangChain

RAG Evaluations | 🦜️🛠️ LangSmith (langchain.com) 

http://www.lryc.cn/news/387317.html

相关文章:

  • Day38:LeedCode 1049. 最后一块石头的重量 II 494. 目标和 474.一和零
  • sqlalchemy分页查询
  • Java--常用类APl(复习总结)
  • 【股指期权投教】一手股指期权大概多少钱?
  • mmap()函数和munmap()函数的例子
  • 计算神经网络中梯度的核心机制 - 反向传播(backpropagation)算法(1)
  • VUE实现简易购物车
  • 混沌工程——从捣乱的视角看系统稳定性
  • Windows宝塔面板部署ThinkPHP8.0创建Vue项目案例
  • 5G频段简介
  • 【python学习】bytearray 数组
  • Labview_Occurrencel(事件发生)
  • 天气网站爬虫及可视化
  • 【python - 数据】
  • 几种热管的构造
  • 【GitOps】使用Google工具JIB实现本地无需安装容器推送镜像,加速SpringCloud项目开发
  • 【proteus经典实战】16X192点阵程序
  • 小白上手AIGC-基于FC部署stable-diffusion
  • 一些指标的学习
  • dledger原理源码分析系列(三)-选主
  • 如何修改PDF文档的作者名称?
  • 从笔灵到AI去痕:全方位提升内容创作与学术诚信
  • 考试如果出现汉诺塔问题怎么办?
  • 导出word模板开发记录
  • PHP爬虫类的并发与多线程处理技巧
  • 用Python将PowerPoint演示文稿转换到图片和SVG
  • 机电公司管理小程序的设计
  • SQL中的子查询和CTE(with ....as..)
  • Cesium 基本概念:创建实体和相机控制
  • vue使用scrollreveal和animejs实现页面滑动到指定位置后再开始执行动画效果