LangChain手记 Evalutation评估

news2024/12/25 9:32:17

整理并翻译自DeepLearning.AI×LangChain的官方课程:Evaluation(源代码可见)

基于LLM的应用如何做评估是一个难点,本节介绍了一些思路和工具。

“从传统开发转换到基于prompt的开发,开发使用LLM的应用,整个工作流的评估方式需要重新考虑,本节会介绍很多激动人心的概念。”

Evaluation 评估

构建一个上节课介绍过的QA chain:
在这里插入图片描述
不同之处仅在于加了一个参数:chain_type_kwargs,内部指定了一个doc的分隔符。

首先可以看一下数据示例:
在这里插入图片描述

Hard-Code example 手动编写的用例

最容易想到的评价方法是手动构建评价数据,然后观察LLM的输出是否和评价数据中已经给定的答案一致,手动构建评价数据永远逃不过成本问题。

在这里插入图片描述

LLM-Generated example LLM生成用例

可以考虑使用LLM生成代替人工编写用例,下面介绍了一个生成QA用例的QAGenerationChain
在这里插入图片描述
在这里插入图片描述
可以把人工编写的用例和生成的用例组合用来做评估,测试一下第一个query,得到如下回复:
在这里插入图片描述

Manual Evaluation 人工评估

LangChain提供了debug模式,可以像下面这样开启:
在这里插入图片描述
再次测试第一个query,LangChain会打印整个过程中的信息:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过设置debug标志位为False关闭debug模式:
在这里插入图片描述

LLM assisted evaluation LLM辅助评估

基于现阶段LLM已经具备比较强的能力,可以使用LLM来辅助做评估

在前面构建的所有用例生成结果:
在这里插入图片描述
一共有7条用例,所以跑了7次。

LangChain提供了QAEvalChain来进行QA场景的评估,使用方式如下:
在这里插入图片描述
在这里插入图片描述
下面我们来看一下模型输出和评估Chain评估的结果:
在这里插入图片描述

Example 0:
Question: Do the Cozy Comfort Pullover Set have side pockets?
Real Answer: Yes
Predicted Answer: The Cozy Comfort Pullover Set, Stripe does have side pockets.
Predicted Grade: CORRECT

Example 1:
Question: What collection is the Ultra-Lofty 850 Stretch Down Hooded Jacket from?
Real Answer: The DownTek collection
Predicted Answer: The Ultra-Lofty 850 Stretch Down Hooded Jacket is from the DownTek collection.
Predicted Grade: CORRECT

Example 2:
Question: What is the weight of each pair of Women's Campside Oxfords?
Real Answer: The approximate weight of each pair of Women's Campside Oxfords is 1 lb. 1 oz.
Predicted Answer: The weight of each pair of Women's Campside Oxfords is approximately 1 lb. 1 oz.
Predicted Grade: CORRECT

Example 3:
Question: What are the dimensions of the small and medium Recycled Waterhog Dog Mat?
Real Answer: The dimensions of the small Recycled Waterhog Dog Mat are 18" x 28" and the dimensions of the medium Recycled Waterhog Dog Mat are 22.5" x 34.5".
Predicted Answer: The small Recycled Waterhog Dog Mat has dimensions of 18" x 28" and the medium size has dimensions of 22.5" x 34.5".
Predicted Grade: CORRECT

Example 4:
Question: What are some features of the Infant and Toddler Girls' Coastal Chill Swimsuit?
Real Answer: The swimsuit features bright colors, ruffles, and exclusive whimsical prints. It is made of four-way-stretch and chlorine-resistant fabric, ensuring that it keeps its shape and resists snags. The swimsuit is also UPF 50+ rated, providing the highest rated sun protection possible by blocking 98% of the sun's harmful rays. The crossover no-slip straps and fully lined bottom ensure a secure fit and maximum coverage. Finally, it can be machine washed and line dried for best results.
Predicted Answer: The Infant and Toddler Girls' Coastal Chill Swimsuit is a two-piece swimsuit with bright colors, ruffles, and exclusive whimsical prints. It is made of four-way-stretch and chlorine-resistant fabric that keeps its shape and resists snags. The swimsuit has UPF 50+ rated fabric that provides the highest rated sun protection possible, blocking 98% of the sun's harmful rays. The crossover no-slip straps and fully lined bottom ensure a secure fit and maximum coverage. It is machine washable and should be line dried for best results.
Predicted Grade: CORRECT

Example 5:
Question: What is the fabric composition of the Refresh Swimwear V-Neck Tankini Contrasts?
Real Answer: The body of the Refresh Swimwear V-Neck Tankini Contrasts is made of 82% recycled nylon and 18% Lycra® spandex, while the lining is made of 90% recycled nylon and 10% Lycra® spandex.
Predicted Answer: The Refresh Swimwear V-Neck Tankini Contrasts is made of 82% recycled nylon with 18% Lycra® spandex for the body and 90% recycled nylon with 10% Lycra® spandex for the lining.
Predicted Grade: CORRECT

Example 6:
Question: What is the fabric composition of the EcoFlex 3L Storm Pants?
Real Answer: The EcoFlex 3L Storm Pants are made of 100% nylon, exclusive of trim.
Predicted Answer: The fabric composition of the EcoFlex 3L Storm Pants is 100% nylon, exclusive of trim.
Predicted Grade: CORRECT
​```

视频接下来介绍了为什么要使用LLM来做评估:
![在这里插入图片描述](https://img-blog.csdnimg.cn/73ac80581ea243d981b0db3ede2d5d8a.png)
在一个自然语言生成场景下(比如前面介绍的QA),模型的输出可以是任意字符,因而无法通过字符完全匹配(是否相等)、字符部分匹配(是否含有子串)、正则(更复杂的匹配方式)来判定输出是否正确。以上图为例,真实答案“Yes”和模型的输出“The Cozy Comfort Pullover Set, Stripe does have side pockets.”是完全不同的字符,无法通过字符匹配来判定相等,但是具备语义理解能力的LLM能够判定它们在语义上相等,这是传统字符匹配做不到的。
### LangChain 可视化评估工具
LangChain提供了可视化的评估工具`LangChainPlus`(可能需要额外安装和配置),该工具会自动记录在python notebook上的运行历史。
![在这里插入图片描述](https://img-blog.csdnimg.cn/89a584e6f74843a9af67e719ff185cbb.png)
可以点击可视化查看调用链,也可以点击节点查看当前节点chain的详细信息,包含输入、输出、时延、额外新信息(运行环境)等,如下图:
![在这里插入图片描述](https://img-blog.csdnimg.cn/1bc61a5378934a248155957d17724f73.png)
点击LLM Chain节点可以查看模型输入:包含SYSTREM、HUMAN、模型输出、模型输出元信息等内容。
![在这里插入图片描述](https://img-blog.csdnimg.cn/da19b50c29d740cab5c498f25e688722.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/a9034d980ba54ddbb6ae8a136b2fe937.png)
右上角提供了一个【to Dataset】按钮,点击可以将当前的输入输出作为一个pair构建数据集,操作方式如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/aac46bc18f6e4862bf6227e9ded7fb2c.png)
如果当前没有数据集,需要点击【Create dataset】创建一个:
![在这里插入图片描述](https://img-blog.csdnimg.cn/26e015fa2877407a90d03822d723bf7f.png)
创建数据集:
![在这里插入图片描述](https://img-blog.csdnimg.cn/96c7b5798c68423a8427cd1376d9cf57.png)
将当前QA Chain的输入输出加入到刚刚创建的数据集内:
![在这里插入图片描述](https://img-blog.csdnimg.cn/827cf6901a9640478cc0b9888fa5f00d.png)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/891422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云农场种植模式:数字化农业的崭新未来

在现代科技的映衬下,农业正在经历着前所未有的变革。云农场种植模式作为数字化农业的一个重要组成部分,为农业注入了新的活力和可能性。这种创新模式不仅提升了农业效率,还为农民、消费者以及环境带来了许多积极影响。 云农场种植模式玩法说明…

vue实现可缩放拖拽盒子(亲测可用)

特征 没有依赖 使用可拖动,可调整大小或两者兼备定义用于调整大小的句柄限制大小和移动到父元素或自定义选择器将元素捕捉到自定义网格将拖动限制为垂直或水平轴保持纵横比启用触控功能使用自己的样式为句柄提供自己的样式 安装和基本用法 npm install --save vue-d…

解决“warning: #223-D: function “xPortSysTickHandler“ declared implicitly“告警提示

继上篇文章发布已有时隔两个月之久,今天就把这两个月遇到的一些问题解决分享一下,首先,我们来看今天分享的这个关于我在学习freertos遇到的一个告警。如图所示: 告警提示原句为: warning: #223-D: function "xP…

DNDC模型建模方法及土壤碳储量、温室气体排放、农田减排、土地变化、气候变化应用

DNDC(Denitrification-Decomposition,反硝化-分解模型)是目前国际上最为成功的模拟生物地球化学循环的模型之一,自开发以来,经过不断完善和改进,从模拟简单的农田生态系统发展成为可以模拟几乎所有陆地生态…

BAT测试专家对web测试和APP测试的总结

单纯从功能测试的层面上来讲的话,App 测试、Web 测试在流程和功能测试上是没有区别的,但由于系统结构方面存在差异(web 项目,b/s 架构;app 项目,c/s 结构)在测试中还是有不同的侧重点内容&#…

SOLIDWORKS 弹簧扣特征-塑料制品的福音

很多从事塑料制品产业的工程师,每天都在面对如何提高配合精度的问题,特别是扣合的精度。通常情况下扣合类结构采用分开建立扣与槽的形式,该方式已经无法满足当前环境下设计的需要,当然在SOLIDWORKS中此类问题很早之前就已经被考虑…

扁线电机定子转子工艺及自动化装备

售:扁线电机 电驱对标样件 需要请联:shbinzer (拆车邦) 新能源车电机路线大趋势,自动化装配产线需求迫切永磁同步电机是新能源车驱动电机的主要技术路线。目前新能源车上最广泛应用的类型为永磁同步电机&#xff0c…

数组的详述(2)

2、二维数组的创建和初始化 可以把二维数组理解为一维数组的数组。 行 列 //行可省略&#xff0c;列不能省。 二维数组的使用&#xff08;<而不是<&#xff0c;因为数组下标第一个是0&#xff09; 二维数组在内存中的储存​​​​&#xf…

day4 驱动开发

【ioctl函数的使用】 1.概述 linux有意将对设备的功能选择和设置以及硬件数据的读写分成不同的函数来实现。让read/write函数专注于数据的读写&#xff0c;而硬件功能的设备和选择通过ioctl函数来选择 2.ioctl函数分析 int ioctl(int fd,unsigned long request) 通过&…

Spring-aop特点,专业术语及案例演示

一.aop简介 AOP&#xff08;Aspect-Oriented Programming&#xff09;是Spring框架的一个重要特性&#xff0c;它通过将横切关注点&#xff08;cross-cutting concerns&#xff09;从核心业务逻辑中分离出来&#xff0c;以模块化的方式在整个应用程序中重复使用。以下是关于AOP…

udp与can通信的选择与比较

UDP&#xff08;用户数据报协议&#xff09;和CAN&#xff08;控制器局域网&#xff09;是两种不同的通信协议&#xff0c;它们在实时传递性上有一些区别。 UDP是一种无连接的传输协议&#xff0c;它提供了简单的、不可靠的数据传输。UDP不提供可靠性保证、流控制或重传机制。…

图解二叉树,拿下拿下!

图文详解二叉树 一、树形结构概念特性二、树形结构基本概念术语三、树的存储结构四、二叉树 概念与特性五、特殊的二叉树六、二叉树的性质七、二叉树的存储结构八、二叉树的基本操作1、二叉树的遍历&#xff08;1&#xff09;前中后序遍历&#xff08;2&#xff09;经典找序列&…

R语言APSIM模型进阶应用与参数优化、批量模拟实践技术

随着数字农业和智慧农业的发展&#xff0c;基于过程的农业生产系统模型在模拟作物对气候变化的响应与适应、农田管理优化、作物品种和株型筛选、农田固碳和温室气体排放等领域扮演着越来越重要的作用。APSIM (Agricultural Production Systems sIMulator)模型是世界知名的作物生…

探索性测试及基本用例

1 测试决策5要素 测试目标&#xff1a;所有的重要任务都完成了&#xff0c;而剩下没做的事情是比较次要的&#xff0c;我们做到这一点就可以尽早尽可能地降低发布风险。 测试方法&#xff1a;测试是一个不断抉择的过程&#xff0c;测试人员必须理解运行测试用例时和分析现有信…

自定义表格组件:实现表格中有固定列的功能逻辑

目录 1&#xff0c;效果图2&#xff0c;实现思路3&#xff0c;实现方式 1&#xff0c;效果图 可以拖动纵向滑块&#xff0c;最左边一列固定住。 以同样的道理&#xff0c;可以在右面固定一列 2&#xff0c;实现思路 作为一个table组件&#xff0c;要接受父组件中的对table的…

鸿蒙3.1 设备管理DeviceManager

介绍 DeviceManager组件在OpenHarmony上提供账号无关的分布式设备的认证组网能力,并为开发者提供了一套用于分布式设备间监听、发现和认证的接口。 其组成及依赖如下所示: 总结 设备管理模块其实就是软总线的包皮服务。目前权限都是控制系统uid,但是根据官方介绍,后续可…

webservice请求数据时找不到类com/sun/tools/internal/xjc/api/XJC

错误信息描述&#xff1a; java.lang.IllegalStateException: Unable to create schema compilerat org.apache.cxf.common.jaxb.JAXBUtils.createSchemaCompilerWithDefaultAllocator(JAXBUtils.java:744)at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createSch…

Spring 自定义命名空间并解析 NameSpaceHandler

Spring 自定义命名空间解析器 1.主要步骤 主要有以下四步&#xff1a; 编写Schema文件自定义NameSpaceHandler 绑定命令空间自定义 BeanDefinitionParse 解析XML作为bd的配置元信息命名空间映射XML 2.代码实现 需要注意的时&#xff0c;把 spring.handlers 文件与 spring.s…

分类预测 | MATLAB实现WOA-CNN-BiLSTM-Attention数据分类预测

分类预测 | MATLAB实现WOA-CNN-BiLSTM-Attention数据分类预测 目录 分类预测 | MATLAB实现WOA-CNN-BiLSTM-Attention数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现WOA-CNN-BiLSTM-Attention数据分类预测&#xff0c;运行环境Matlab2023b及以上…

实例039 始终在最上面的窗体

实例说明 Windows桌面上允许多个窗体同时显示&#xff0c;但是只有一个窗体能够得到焦点&#xff0c;当一个窗体得到焦点后在其上面的窗体会被得到焦点的窗体遮挡&#xff0c;得到焦点的窗体会显示在最上层&#xff0c;这样被覆盖的窗体就不能完全的显示给用户&#xff0c;如果…