LLM应用:Prompt flow vs LangChain

背景

Prompt flow和LangChain都是LLM时代,为高效地构建LLM应用而生。

Prompt flow是Microsoft开源的,其诞生时,LangChain已经很有名气了。

所以作为后生的Prompt flow会为我们带来哪些新的东西呢?

​​​​​​​

Prompt flow带来新的设计理念

概述:

Prompt flow提供了一套开发工具,并通过实验来构建高质量的LLM应用程序,而不是一套框架(LangChain)。

可见其重点是聚焦在LLM应用程序的效果(质量)。

而这正是因LLM的不确定的特点所引发的新的思考方式。

所有用到的Prompt都要显示出来

当前的LLM应用,最重要的一个特点是围绕“prompt”提示词。

任何为了构建LLM应用而提供的工具or框架,都应该优先专注于prompt设计以及prompt的调优。

Prompt特点

Prompt的特点是不稳定(不确定)。

同一套Prompt在不同的LLM里,其效果是不一样的。

甚至是对于同一个LLM的不同版本,其效果也是无法保证一致的。

Prompt显示

所以在实际构建LLM应用时,任何用到Prompt的地方,都要能方便的调优。

由此可以推导出,在实际构建LLM应用时,任何用到Prompt的地方都需要显示出来,可以被修改,可以被调优。

而那些将Prompt隐藏在框架里的方式,很大概率会导致LLM应用的效果不一致,这时候就只能去修改框架了。

以效果评估为中心的工作方式

因Prompt的不稳定性,所以在LLM应用构建时,需要重点关注效果。

类似算法的常见评估指标:准确率、召回率等。

LLM应用的质量(效果)也需要一套评估标准。

Prompt flow为评估任务提供了很多的工具:

  1. 将评估程序转化为评估流
  2. 基于SDK/CLI的实验及评估管理(会记录每次评估的过程)
  3. 可将评估集成到CICD中

增强可视化

LLM应用中使用到的ReAct、RAG等模式,本身并不是新发明的。

其更多的是表达与外部系统的交互,例如与Search Engine的交互,与知识库的交互,与本地数据的交互等。

交互可以认为就是API调用。

在LLM应用构建以效果评估为中心时,我们需要明确的知道每一个交互步骤具体是怎么样的,每一个步骤的效果如何。

因此交互步骤级别的可视化就很有必要,可极大的提升研发和评估效率。

以上便是Prompt flow和LangChain的区别。

显而易见,更多的是理念上区别。

Prompt flow更像是实战派,通过在实战中总结经验,通过第一性原理,找到本质的地方,然后对齐抽象和封装。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Echart饼状图标注太密集导致文字被遮盖的解决办法

数据过于密集显示标注信息会出现遮盖情况 minAngle属性加avoidLabelOverlap属性搭配使用, 分析:minAngle属性为最小角度值,avoidLabelOverlap为是否启动标注压盖自动优化。 type: pie, minAngle: 5,    //最小的扇区角度&#…

aws使用记录

数据传输(S3) 安装命令行 安装awscli: https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/getting-started-install.html#getting-started-install-instructions 直到 aws configure list 可以运行 身份验证: 运行: aws config…

JavaScript高架(二)-V8引擎下

书归上回 ECS(Execution Context Stack) V8引擎为了执行代码, V8引擎内部会有一个执行上下文栈Execution Context Stack(ESC函数调用栈),当首次加载JS的时候就会创建一个Execution Context Stack(ECS),它是用于执行代…

嵌入式和 Java 走哪条路?

最近看到一个物联网大三学生的疑问,原话如下: 本人普通本科物联网工程专业,开学大三,现在就很迷茫,不打算考研了,准备直接就业,平时一直在实验室参加飞思卡尔智能车比赛,本来是想走嵌…

Arcgis 导入经纬度坐标、导出经纬度坐标

目录 一、导入经纬度坐标 1、在excel中准备好经纬度坐标的数据表 2、将数据放入Acrgis的工作路径 3、在arcgis中添加数据 4、显示经纬度坐标点 5、导出为shp矢量文件 二、根据shp的经纬度坐标点导出成经纬度坐标 1、右键选择打开属性表 2、在属性表的菜单下拉栏里找到…

软考中级——软件设计师真题中的一些知识总结

2023年5月考过了软考中级——软件设计师,一次通过,两科成绩分别是入下。 做上午真题的时候积累了一些易错题,分享一下~~ 2014年5月 1、木马程序:是一种寻找计算机后门,伺机窃取被控计算机中的密码和重要文件等&#…

微服务(基础篇-006-Docker)

Docker是一个开源的应用容器引擎,它让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间没有任何接口(类似 iPhone 的 app&…

力扣热门算法题 135. 分发糖果,146. LRU 缓存,148. 排序链表

135. 分发糖果,146. LRU 缓存,148. 排序链表,每题做详细思路梳理,配套Python&Java双语代码, 2024.03.28 可通过leetcode所有测试用例。 目录 135. 分发糖果 解题思路 完整代码 Python Java 146. LRU 缓存 …

LabVIEW开发及系统集成--实验室科研篇

LabVIEW开发及系统集成--实验室科研篇 自2005年成立以来,北京瀚文网星科技有限责任公司致力于提供专业的LabVIEW开发及系统集成服务。公司凭借丰富的行业经验和深刻的客户洞察,为客户提供快速、高效且性价比极高的解决方案。 LabVIEW在实验室应用中提供…

【uniapp】uniapp实现免密登录

文章目录 一、概要二、整体架构流程三、技术名词解释四 、技术细节1.存取token有效期?2.使用setStorageSync而不使用setStorage?3.使用onLaunch而不使用全局路由? 一、概要 打开一个网页或小程序的时候,我们有时候会自动进入主页…

Python学习之-正则表达式

目录 前言:1.re.serach1.1例子: 2.re.match2.1示例1:2.2 示例2: 3.re.findall3.1 示例 4.re.fullmatch4.1 示例1:4.2 示例2: 5.re.split5.1 示例1:5.2 示例2:5.3 示例3: 6.re.sub6.1 示例&#…

【Java程序设计】【C00387】基于(JavaWeb)Springboot的校园食堂订餐系统(有论文)

基于(JavaWeb)Springboot的校园食堂订餐系统(有论文) 项目简介项目获取开发环境项目技术运行截图 博主介绍:java高级开发,从事互联网行业六年,已经做了六年的毕业设计程序开发,开发过…