当前位置: 首页 > 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) 

相关文章:

RAG 检索增强生成有效评估

我们将介绍RAG(检索增强生成)的评估工作流程 RAG工作流程的部分 数据集 这里是我们将要使用的LCEL (LangChain Expression Language)相关问题的数据集。 这个数据集是在LangSmith UI中使用csv上传创建的: https://smith.langchain.com/public/730d833b-74da-43e2-a614-4e2ca…...

Day38:LeedCode 1049. 最后一块石头的重量 II 494. 目标和 474.一和零

1049. 最后一块石头的重量 II 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能结果…...

sqlalchemy分页查询

sqlalchemy分页查询 在SQLAlchemy中,可以使用limit和offset方法实现分页查询 from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine from models import MyModel # 假设MyModel是你定义的模型# 连接数据库 engine = create_engine(sqlite:///myd…...

Java--常用类APl(复习总结)

前言: Java是一种强大而灵活的编程语言&#xff0c;具有广泛的应用范围&#xff0c;从桌面应用程序到企业级应用程序都能够使用Java进行开发。在Java的编程过程中&#xff0c;使用标准类库是非常重要的&#xff0c;因为标准类库提供了丰富的类和API&#xff0c;可以简化开发过…...

【股指期权投教】一手股指期权大概多少钱?

一手股指期权的权利金大概在几千人民币左右&#xff0c;如果是作为期权卖方还需要另外缴纳保证金的。国内的股指期权有三种&#xff0c;沪深300、上证50、中证1000股指期权&#xff0c;每点合约人民币100 元。 期权合约的价值计算可以通过此公式得出&#xff1a;权利金的支付或…...

mmap()函数和munmap()函数的例子

代码&#xff1a; #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/mman.h> #include <string.h> #include <stdio.h> #include <unistd.h>#define FILELENGTH 80 int main(void) {int fd-1;char …...

计算神经网络中梯度的核心机制 - 反向传播(backpropagation)算法(1)

计算神经网络中梯度的核心机制 - 反向传播&#xff08;backpropagation&#xff09;算法&#xff08;1&#xff09; flyfish 链式法则在深度学习中的主要应用是在反向传播&#xff08;backpropagation&#xff09;算法中。 从简单的开始 &#xff0c;文本说的就是链式法则 R …...

VUE实现简易购物车

主要是对基础的指令的使用&#xff0c;直接上代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">&l…...

混沌工程——从捣乱的视角看系统稳定性

概念 混沌工程是通过捣乱实验探究系统稳定性的实践过程&#xff0c;其作战武器是风险因子&#xff0c;即在健康的运行环境中引入风险变量来验证系统对风险的抵抗能力&#xff0c;它的作用是推动系统容错能力建设、验证监控告警及时性、提升研发问题排查能力。 混沌工程的工作…...

Windows宝塔面板部署ThinkPHP8.0创建Vue项目案例

安装ThinkPHP8.0 登录宝塔面板&#xff0c;创建一个站点。 输入composer代码&#xff0c;执行完成后自动创建TP目录 composer create-project topthink/think tp 网站目录设置为tp&#xff0c;运行目录设置为public 设置PHP版本为8.0以上&#xff0c;不然会出现下面的报错代…...

5G频段简介

5G频段 5G网络一共有29个频段&#xff0c;主要被分为两个频谱范围&#xff0c;其中6GHz以下的频段共有26个&#xff08;统称为Sub6GHz&#xff09;&#xff0c;毫米波频段有3个。目前国内主要使用的是Sub6GHz&#xff0c;包括n1/n3/n28/n41/n77/n78/n79共7个频段。具体介绍如下…...

【python学习】bytearray 数组

在Python中&#xff0c;bytearray 是一个可变序列&#xff0c;用于表示一个字节数组。与不可变的 bytes 类型相比&#xff0c;bytearray 允许你修改其内容。你可以通过索引来访问和修改 bytearray 中的元素&#xff0c;也可以添加或删除元素。 使用 bytearray 的一些示例&…...

Labview_Occurrencel(事件发生)

PS&#xff1a;这里遇到 一个很Low的事情&#xff1a; 在停止第二个while循环的时候出现了停止不了的情况。因为等待事件发生设置的超时时间为:-1。所以等事件发生后出现了条件接线端已经执行的情况&#xff0c;所以当下次事件发生时未能及时停止。初版的停止设置如下图&#x…...

天气网站爬虫及可视化

摘要&#xff1a;随着互联网的快速发展&#xff0c;人们对天气信息的需求也越来越高。本论文基于Python语言&#xff0c;设计并实现了一个天气网站爬虫及可视化系统。该系统通过网络爬虫技术从多个天气网站上获取实时的天气数据&#xff0c;并将数据进行清洗和存储。同时&#…...

【python - 数据】

一、序列 序列&#xff08;sequence&#xff09;是一组有顺序的值的集合&#xff0c;是计算机科学中的一个强大且基本的抽象概念。序列并不是特定内置类型或抽象数据表示的实例&#xff0c;而是一个包含不同类型数据间共享行为的集合。也就是说&#xff0c;序列有很多种类&…...

几种热管的构造

1、超薄热管构造形式 在实际应用中&#xff0c;超薄热管通常定义为厚度小于2.0mm的平板热管。超薄热管很薄&#xff0c;可紧贴电子元件表面散热&#xff0c;故被广泛应用于移动和可携带电子设备&#xff0c;如智能手机、笔记本电脑和智能手表。用于笔记本电脑和平板电脑的超薄…...

【GitOps】使用Google工具JIB实现本地无需安装容器推送镜像,加速SpringCloud项目开发

文章目录 一、效果展示二、简介三、安装Jib插件1、区分环境2、安装插件一、效果展示 本地是window系统,无docker环境,没有任何runtime,使用jib工具打包镜像并推送完成,用时20秒 二、简介 Jib 是 Google 开发的一款开源工具,旨在帮助 Java 开发者更高效地将 Java 应用程…...

【proteus经典实战】16X192点阵程序

一、简介 6X192点阵程序通常用于表示高分辨率图像或文字&#xff0c;其中16X表示像素阵列的宽度&#xff0c;192表示每个像素阵列中的点阵数&#xff0c;16X192点阵程序需要一定的编程知识和技能才能编写和调试&#xff0c;同时还需要考虑硬件设备的兼容性和性能等因素。 初始…...

小白上手AIGC-基于FC部署stable-diffusion

AIGC AIGC&#xff08;人工智能创造内容&#xff09;作为一种基于人工智能技术生成内容的新型创作模式。打破了过去大家对于AI的理解都是说只能涉足部分领域而无法涉足艺术或者是其他的创作领域的定律&#xff0c;现在的AIGC也能够创作内容了&#xff0c;而不再只是单纯的返回…...

一些指标的学习

1.平均倒数排名&#xff08;MRR&#xff09; 1.定义 MRR 是衡量检索系统返回的结果列表中第一个相关结果位置的指标。具体来说&#xff0c;它是所有查询倒数排名的平均值。 2.计算步骤 对每个查询&#xff0c;找到第一个正确答案在结果列表中的排名 &#x1d445;&#x1d44…...

CoPaw:让AI代码助手深度适配个人项目与团队规范的工程化实践

1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目&#xff0c;叫CoPaw&#xff0c;作者是 alexgzx。光看名字可能有点摸不着头脑&#xff0c;但如果你对 AI 辅助编程、代码生成或者想提升自己的开发效率感兴趣&#xff0c;那这个项目绝对值得你花时间研究一下。简单来说…...

ViGEmBus终极指南:Windows游戏控制器模拟驱动完全解析

ViGEmBus终极指南&#xff1a;Windows游戏控制器模拟驱动完全解析 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus是一款运行在Windows内核模式的驱…...

Wand-Enhancer:零成本解锁WeMod高级功能的完整指南

Wand-Enhancer&#xff1a;零成本解锁WeMod高级功能的完整指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 还在为WeMod专业版的订阅费用而犹豫不决吗…...

多模态AI实战:基于OpenGVLab/Ask-Anything构建视觉问答系统

1. 项目概述&#xff1a;当视觉大模型学会“看图说话”最近在折腾多模态AI应用&#xff0c;发现了一个挺有意思的开源项目&#xff0c;叫OpenGVLab/Ask-Anything。简单来说&#xff0c;它就像一个给AI装上了“眼睛”和“嘴巴”的系统&#xff0c;你给它一张图片或一段视频&…...

实战指南:用UABEA高效解析Unity资源结构的5个关键要点

实战指南&#xff1a;用UABEA高效解析Unity资源结构的5个关键要点 【免费下载链接】UABEA c# uabe for newer versions of unity 项目地址: https://gitcode.com/gh_mirrors/ua/UABEA 在Unity开发的世界里&#xff0c;资源管理往往是项目优化中最棘手的一环。你是否曾经…...

3分钟上手RePKG:轻松提取Wallpaper Engine壁纸资源的终极指南

3分钟上手RePKG&#xff1a;轻松提取Wallpaper Engine壁纸资源的终极指南 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 你是否曾经遇到过这样的困扰&#xff1f;在Wallpaper Engi…...

终极指南:如何用BabelDOC彻底解决PDF翻译格式错乱问题

终极指南&#xff1a;如何用BabelDOC彻底解决PDF翻译格式错乱问题 【免费下载链接】BabelDOC Yet Another Document Translator 项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC 还在为学术论文翻译后排版全乱而烦恼吗&#xff1f;&#x1f62b; 技术文档翻…...

Iris API错误处理机制与嵌入式系统优化实践

1. Iris API错误处理机制解析在嵌入式系统开发中&#xff0c;API的健壮性直接影响整个系统的稳定性。Iris框架作为ARM架构下的核心组件&#xff0c;其错误处理机制基于JSON-RPC 2.0规范进行了深度定制&#xff0c;特别适合资源受限的嵌入式环境。与通用Web API不同&#xff0c;…...

模拟电路布局优化:多智能体强化学习实践

1. 模拟电路布局优化的挑战与机遇在集成电路设计领域&#xff0c;模拟电路布局一直是个令人头疼的问题。作为一名从业十余年的模拟电路设计师&#xff0c;我深刻体会到传统布局方法在面对现代工艺挑战时的局限性。每次手工调整晶体管位置时&#xff0c;那种"差之毫厘&…...

基于 Next.js 的无头电商架构实战:从 Vercel Commerce 看现代全栈开发

1. 项目概述&#xff1a;一个面向未来的全栈电商起点如果你最近在琢磨着用 Next.js 搞一个电商网站&#xff0c;或者想找一个现代、开箱即用的全栈电商模板来启动项目&#xff0c;那你大概率已经听说过vercel/commerce这个仓库了。它不是某个具体的电商平台&#xff0c;而是一个…...