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.rhkb.cn/news/294029.html

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

相关文章

互联网、因特网、万维网的区别

互联网 internet:凡是能彼此通信的设备组成的网络就叫互联网,即使只有两台计算机,无论以何种技术使其彼此通信,都叫互联网。所以,根据互联网的覆盖规模可以分为: 局域网(Local Area Network&am…

如何使用potplayer在公网环境访问内网群晖NAS中储存在webdav中的影视资源

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-D7WJh3JaNVrLcj2b {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

黑马鸿蒙笔记 3

目录 11.ArkUI组件-Column和Row 12.ArkUI组件-循环控制 13.ArkUI组件-List 14.ArkUI组件-自定义组件 15.ArkUI组件-状态管理State装饰器 16.ArkUI组件-状态管理-任务统计案例 17.ArkUI组件-状态管理-PropLinkProvideConsume 11.ArkUI组件-Column和Row Colum和Row的交叉…

第三天开始写了

现在的情况 写俩个接口信息 1. 一个修改 2. 一个 删除 发现了一个问题 只有这些参数无法完成修改的 因为这些关联到一个商品表和一个用户表,我们应该查询他们id信息,修改其中的内容,单独根据字符串查看效果可能不好 这里我们提交应该是用…

2024年抖音小店的保证金是多少?真的可以做0元保证金的店铺吗?

大家好,我是电商糖果 2024年想要入驻抖音小店的商家依旧很多,关于小店的保证金问题也有不少人前来咨询。 大家问的最多的是可以开通0元保证金的店铺吗?以及2024年抖音小店保证金是多少? 这里糖果给大家一个个解答。 可以开通0…

基于YOLOv8的绝缘子检测系统

💡💡💡本文摘要:基于YOLOv8的绝缘子小目标检测,阐述了整个数据制作和训练可视化过程 1.YOLOv8介绍 Ultralytics YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最先进的&a…

k8s入门到实战(七)—— 回顾:使用yaml文件配置pv、pvc、configmap部署mysql服务

实战:部署 mysql 服务 回顾加深 pv、pvc、configmap 删除所有 deployment、pv、pvc、configmap、StorageClass创建一个 nsf 挂载目录给 mysql mkdir -p /nfs/data/mysql创建 yaml 文件mysql-server.yaml # 创建pv apiVersion: v1 kind: PersistentVolume metadat…

针对 qt的sqlite加密数据库sqlitecipher插件QtCipherSqlitePlugin

💂 个人主页:pp不会算法^ v ^ 🤟 版权: 本文由【pp不会算法v】原创、在CSDN首发、需要转载请联系博主 💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 文章目录 简介编译安装使用可视化工具查看完结 简介 在客户端存储…

字符指针、字符串、字符数组、字符串数组等

参考&#xff1a;https://xiefor100.blog.csdn.net/article/details/52667734 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() {char s1[] "12345"; // "12345"在栈区&#xff0c;可以指针偏移读取和修改c…

stable diffusion如何下载预处理器?

如何下载预处理器&#xff1f; 具体位置:SD文件>extensions>sd-webui-controlnet>annotator” 把整个文件夹复制到SD的文件夹里面 里面有一个“downloads”文件夹 把这些模型复制到“downloads”文件夹里

【MATLAB第103期】#源码分享 | 基于MATLAB的LIME可解释性线性分类预测模型,2020b以上版本

【MATLAB第103期】#源码分享 | 基于MATLAB的LIME可解释性线性分类预测模型&#xff0c;2020b以上版本 一、模型介绍 LIME&#xff08;Local Interpretable Model-agnostic Explanations&#xff09;是一种用于解释复杂机器学习模型预测结果的算法。它由Marco Ribeiro、Sameer…

并发-开启新线程

目录 实现多线程的官方正确方法&#xff1a;2种 实现Runnable接口方式的实现原理 两种方法的对比 匿名内部类实现线程的两种方式 思考&#xff1a;同时用两种方法会怎么样 总结&#xff1a;最精准的描述 实现多线程的官方正确方法&#xff1a;2种 方法一&#xff1a;实现…

Git、TortoiseGit、SVN、TortoiseSVN 的关系和区别

Git、TortoiseGit、SVN、TortoiseSVN 的关系和区别 &#xff08;二&#xff09;Git&#xff08;分布式版本控制系统&#xff09;:&#xff08;二&#xff09;SVN&#xff08;集中式版本控制系统&#xff09;&#xff08;三&#xff09;TortoiseGit一、下载安装 git二、安装过程…

[Java基础揉碎]接口

目录 为什么有接口 基本介绍 接口的应用场景 注意事项和细节 接口和继承类的比较 总结 >接口和继承解决的问题不同 >接口比继承更加灵活 >接口在一定程度上实现代码解耦 接口的多态特性 多态参数 ​编辑 多态数组 多态传递 ​编辑 为什么有接口 usb插槽就是…

Educational Codeforces Round 163 (Rated for Div. 2) E. Clique Partition

题目 思路&#xff1a; #include <bits/stdc.h> using namespace std; #define int long long #define pb push_back #define fi first #define se second #define lson p << 1 #define rson p << 1 | 1 const int maxn 1e6 5, inf 1e9, maxm 4e4 5; co…

halcon图像腐蚀

1、原理 使用结构元素在图像上移动&#xff0c;只有结构元素上的所有像素点都属于图像中时&#xff0c;才保留结构元素中心点所在的像素&#xff0c;常用于分离连接的两个物体、消除噪声。 2、halcon代码 dev_open_file_dialog (read_image, default, default, Selection) r…

【Java八股面试系列】Arraylist和HashMap的底层原理

文章目录 ArrayList源码总&#xff1a;构造方法扩容机制remove HashMap总&#xff1a;构造方法细节问题putVal()方法resize()方法Hash值 HashMap常见问题 ConcurrentHashMap总&#xff1a;putVal()方法自己的测试 为什么重写HashCode和equals ArrayList源码 总&#xff1a; *…

C++template之类模版进一步了解

目录 一、类模板实例化 1.非类型模版参数 2.函数模板的特化 3.类模板特化 3.1全特化 3.2偏特化 3.2.1部分特化 3.2.2对参数进一步限制 二、注意事项 1.类模板的定义和声明要在同一个文件&#xff0c;不然容易出错 前言&#xff1a;这一篇是在我的上一篇文章的基础上&am…

网络安全接入认证-802.1X接入说明

介绍 802.1X是一个网络访问控制协议&#xff0c;它可以通过认证和授权来控制网络访问。它的基本原理是在网络交换机和认证服务器之间建立一个安全的通道&#xff0c;并要求客户端提供身份验证凭据。如果客户端提供的凭据是有效的&#xff0c;交换机将开启端口并允许访问。否则&…

“转行做程序员”很难?这里有4个建议

近几年来&#xff0c;传统行业多处于经济下行&#xff0c;加上互联网行业的赚钱效应&#xff0c;想要转行到这一行的人越来越多&#xff0c;其中程序员这个行业更是很多人梦寐以求的。 但另一方面&#xff0c;我们也发现&#xff0c;这些想要转行的同学们往往会遇到很多困扰。…