Prompt本质解密及Evaluation实战(二)

news2025/1/21 15:23:12

一、LangChain基于evaluation的prompt使用解析

我们来看下LangChain中关于prompt的使用,下面是取自LangChain源码中的一个经典的示例,描述了AI模型被授予访问几种工具来帮助回答用户的问题,其中“tool_descriptions”是至关重要的,在前面文章谈plugin开发时提到这是可配置的,决定了模型要不要使用以及什么时候来使用第三方的工具。“agent_trajectory”部分涉及到很多步骤,在这些步骤中,模型会根据需要来使用工具。Evaluation的过程是step by step的,第1点准则对于回答问题来说是一个overall的评估,第2点提到使用工具是否遵循了logical flow(因为可能会使用多个工具,这就涉及到先后顺序),另外如果模型回答问题时使用的步骤太多也可能会有问题。

按照上面的模板给出的样例如下,提示模型在不同的场景下使用这4个工具:,

给模型的具体问题是:

The question the human asked the AI model was: If laid the Statue of Liberty end to end, how many times would it stretch across the United States?

针对这个问题,模型首先使用SerpAPI进行搜索:

Step 1:

Tool used: Search the Web (SerpAPI)

Tool input: If laid the Statue of Liberty end to end, how many times would it stretch across the United States?

Tool output: The Statue of Liberty was given to the United States by France, as a symbol of the two countries' friendship. It was erected atop an American-designed ...

       下面是模型根据调用工具产生的“tool output”进行处理后返回的答案,答案显然是错误的:

The AI language model's final answer to the question was: There are different ways to measure the length of the United States, but if we use the distance between the Statue of Liberty and the westernmost point of the contiguous United States (Cape Alava, Washington), which is approximately 2,857 miles (4,596 km), and assume that the Statue of Liberty is 305 feet (93 meters) tall, then the statue would stretch across the United States approximately 17.5 times if laid end to end.

接下来按照5点准则对模型的回答进行评估,概括来说模型能够根据关键信息进行推理,但是给出的答案有误,工具描述部分有Calculator,但是模型没有使用,模型没有正确使用工具来回答问题。

二、关于评估结果的启示及symbol/pattern/text的作用解析

       这样的评估结果其实对于开发大模型驱动的应用来说是有很大价值的,譬如基于大模型和LangChain来开发一个基于学生学习的评分工具,在评分时显示最后结果是错误的,但是实际情况可能是在推导结果的中间过程中存在reasoning steps,而只是最后一步算错了。

从上面回答问题的评估结果来看,之所以存在有效性,就是因为以下三点:

-prompt中的所谓“symbols”的具体形式基本不影响模型的表现,“symbols”和“patterns”的正确性与任务解决率无关

-patterns可以增强模型对任务的理解,以及提示模型去获得正确的输出

-最重要的是,输入文本text和patterns形成了一种类似生物界的“共生”的一种关系,对于CoT(Chain of Thought)的成功起到至关重要的作用

从输入的信息或者上下文中产生patterns,patterns提取的是一种结构,这种结构会形成一种理解,由于语言模型具有自身的灵活性,所以形成了一种“imitating process”,即通过patterns让模型产生的输出需要遵循这样的”patterns”。

关于“Symbols”的作用,在前面提到的论文中提到了用抽象的占位符来替代symbols的试验,结果表明也可以进行有效的推理。

关于“patterns”的作用,论文中进行了如下试验验证:patterns的存在对于模型的成功推理是必要的但不是全部因素,另外模型对于“wrong patterns”的使用具有一定的健壮性,使用“wrong patterns”是一把双刃剑,其结果取决于目标任务的特性。

关于“text”的作用,提供输入信息或者上下文对模型产生正确的结果是有必要的,对于CoT来说,在输入信息中使用协调一致的“entities”很重要,输入信息的变形(譬如使用措辞的不同)对于模型的表现会有影响。

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

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

相关文章

React生命周期(新-旧)

文章目录 前言1、生命周期介绍2、钩子函数介绍 生命周期的三个阶段一、生命周期(旧)1.初始化阶段(挂载阶段)① constructor② componentWillMount③ render④ componentDidMount 2.更新阶段① shouldComponentUpdate② componentWillUpdate③ render④ c…

Spring之Spring性能优化与监控

Spring性能优化与监控 Spring性能优化与监控 摘要引言词汇解释详细介绍什么是缓存?Spring框架中的缓存支持示例代码:注释: 注意事项 通过合理使用缓存,可以显著提升应用程序的响应速度,降低系统负载,提供更…

港联证券|市场生态全面优化 创新成长愈加鲜明

8月24日,创业板变革并试点注册制已高质量运行满三周年。坚持变革定力、坚守板块定位——行至2023年,变革后的创业板商场板块功用日益完备、立异生长特征愈加显着,一批又一批战略性新兴工业和高新技能企业继续出现,先进制作、数字经…

IO线程,文件IO(open),文件(stat)与目录(opendir)属性的读取

一、文件IO 1、文件io通过系统调用来操作文件 系统调用:系统提供给用户的一组API(接口函数) open/read/write/close/lseek... 用户空间进程访问内核的接口 把用户从底层的硬件编程中解放出来 极大的提高了系统的安全性 使用户程序具有可移植性(同一系统下) 是操作系统的一部分…

400电话系统如何进行数据分析和优化?

400电话系统可以通过以下方式进行数据分析和优化: 呼叫记录:400电话系统会记录每一次呼叫的相关信息,包括呼叫时间、呼叫持续时间、呼叫地点等。通过分析呼叫记录,企业可以了解客户的呼叫习惯和行为模式,如高峰时段、呼…

如何自己实现一个丝滑的流程图绘制工具(二) 自定义面板

前言 我需要的自定义面板不是固定在左侧,而是右上角,且只有新增节点的操作。采用css取定位更改。 如何自定义面板内容呢? paltte目录下的两个文件 CustomPalette.js export default class CustomPalette {constructor(bpmnFactory, creat…

开源项目-会议室预约管理系统

哈喽,大家好,今天给大家带来一个开源项目-会议室管理系统。项目基于SpringBoot+VUE开发。 会议室管理系统主要分为 前台会议室预约管理系统 和 会议室后台管理系统 两部分 前台会议室预约管理系统主要有申请会议室,预约进程,查看历史会议三部分 后台管理系统主要有会议室…

【Mybatis源码分析】Mybatis 是如何实现预编译的?

Mybatis 是如何实现预编译的? 一、前言二、源码分析三、总结 一、前言 在介绍 Mybatis 是如何实现预编译之前,需提前知道俩个预备知识: MySQL的运行流程(对应的 SQL 会成为一个文本-》查询缓存(8.0后没了&#xff09…

车联网技术介绍

上图是目前车联网架构图,基于“云-管-端”的车联网系统架构以支持车联网应用的实现, “云”是指 V2X 基础平台、高基于精度定位平台等基础能力,可实现车辆动态厘米级定位,这将满足现阶段以及未来车联网应用场景的定位精度需求。 “…

【Linux网络】Cookie和session的关系

目录 一、Cookie 和 session 共同之处 二、Cookie 和 session 区别 2.1、cookie 2.2、session 三、cookie的工作原理 四、session的工作原理 一、Cookie 和 session 共同之处 Cookie 和 Session 都是用来跟踪浏览器用户身份的会话方式。 二、Cookie 和 session 区别 2.…

【C语言】基础知识杂记(整理自用)

前言 之前一直在学新知识,最近打算复习一下之前学的,所以写了这篇文章,记录一下不熟练的知识点,自用,对大家帮助可能不是很大。 double类型与float类型 编译器默认7.0为double类型 在数据后加一个f,编译…

Springboot+mybatis-plus+dynamic-datasource+Druid 多数据源 分布式事务

Springbootmybatis-plusdynamic-datasourceDruid 多数据源事务,分布式事务 文章目录 Springbootmybatis-plusdynamic-datasourceDruid 多数据源事务,分布式事务0.前言1. 基础介绍ConnectionFactoryAbstractRoutingDataSource 动态路由数据源的抽象类 Dyn…

mac地址、ip地址、子网掩码、端口

1. mac地址 又称为网络适配器或者网络接口卡NIC,但是现在更多人原因使用更简单的名称"网卡",通过网卡能够是不同的计算机之间相互连接,从而完成数据通信的功能 每一个网卡在出厂的时候 都会给分配到一个编号,类似与身份…

信创测试:创意与创新的评估之路

在当今竞争激烈的商业环境中,创意和创新成为企业脱颖而出的关键。为了有效评估和提升创意与创新的水平,信创测试被引入作为一个重要的工具。本文将介绍信创测试的概念、意义以及应用,探讨它在推动企业创新发展中的重要作用。 一、什么是信创测…

DOS常见命令

DOS常见命令 DOS是什么如何打开DOScmd常见的命令集合 DOS是什么 DOC命令是我们浏览器中的终端 ,但不同的是我们打开软件的方式 使用的是点击文件图标,点击图标的同时 我们也相当于使用一个命令 只是我们看不见而已 在电脑上操作的时候 通常都是使用命令…

Docker微服务实战

文章目录 业务需求IDEA编写代码编写Dockerfile构建镜像运行容器网页端访问测试 业务需求 利用Docker部署应用服务,实现在网页端通过输入地址 ip:端口/hello/docker,页面显示hello docker ! IDEA编写代码 创建springboot项目 网上很多教程,此步骤省略……

Mybatis动态之灵活使用下

目录 ​编辑 前言: 1.mybatis的分页 1.1分页的应用场景 1.2分页的使用方式 2.mybatis中特殊字符处理 2.1mybatis中特殊字符介绍 2.2mybatis中特殊字符的使用方式 前言: 上篇我已经写了Mybatis动态之灵活使用,接着上篇写mybatis的分页…

QT6串口模块QSerialport的安装,主要是“编译器”版本问题

参考文档 https://blog.csdn.net/lidandan2016/article/details/85929069 https://blog.csdn.net/qq_42968012/article/details/126020554 https://blog.csdn.net/weixin_48467622/article/details/119982667 整体测试解决步骤总结 首先,QT6都不能进行离线安装&a…

Cocos独立游戏开发框架中的计时器管理器

引言 本系列是《8年主程手把手打造Cocos独立游戏开发框架》,欢迎大家关注分享收藏订阅。在独立游戏开发中,计时器是一个至关重要的组件,用于管理时间相关的操作,如动画效果、技能冷却、任务进度等。然而,随着游戏变得…

【王道-绪论-计算机系统概述】

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 操作系统的概念功能和定义一、操作系统的概念和定义二、操作系统的功能和目标1、资源的管理者2、向用户提供服务2.1图形化用户接口2.2联机命令接口2.3脱机命令接口2.4程序接口 3、对硬件机器的拓展 三、总结 No.2 操作系…