纯干货!Prompt链式方法总结,灵活驾驭各种大模型!

news2024/10/7 16:16:57

当面对复杂任务的时,单一的Prompt是不够的,我们需要将Prompt链接在一起才能完成。今天这篇文章主要集中在Prompt链式方法介绍用于实现复杂任务生成,其中主要包括:顺序Prompt链、并行Prompt链、抽样Prompt链、树状Prompt链、循环Prompt链。

顺序Prompt方法

按顺序的方法是链接Prompt最常见的方法。其关键思想是:当单个提示中提供的任务变得太长或太复杂并且包含许多不同的指令,则响应可能无法捕获所需的细节和粒度。在这种情况下,可以将该任务分解为多个子任务。一个子任务的响应会成为另外一个子任务的Prompt,按照顺序走下去直到任务完成。如下图所示:

下面是一个关于故事生成的示例。在这里想要生成一个长故事,其中包含由一组信息(人物、故事节奏和地点)引导的对话。现在,可以将所有这些信息填充到一个提示中,但这可能会淡化我们希望对话框包含的关键细节。

此外,一开始的时候我们不想编写所有的细节,而是希望模型替我们生成。我们想要提供的只是我们想要的故事内容的简短摘要,这也是我们唯一的Prompt。下图总结了生成最终对话框所涉及的链。首先,人类输入故事摘要,该摘要将成为生成角色列表的提示,然后该列表将成为生成故事节拍的提示,依此类推,直到我们进入对话生成阶段。

相比单个Prompt,按照顺序进行链接Prompt的另外一个好处是:可以对各个链接Prompt节点进行人工检查。当响应结果不满足设想的标准,可以让模型重新生成。通过节点阶段分析,使得对复杂的生成人工智能任务进行评估和质量控制变得容易。

并行Prompt方法

当子任务相互依赖时,需要顺序Prompt链。但是当它们独立时,我们可以并行运行它们,然后将结果进行组合。如下图所示:

假设我们正在构建一个应用程序,该应用程序可以生成一周的创意食谱,然后生成供用户购买的食材购物清单。在这种情况下,给定用户输入,例如进餐次数或天数,我们可以并行运行食谱生成步骤。提示可能类似于以下内容:

代码语言:javascript

**复制

Prompt={“帮我生成一份快捷简单的7天菜谱,并以Json的形式输出,其中key为“食材成分”和“制作说明””}

接下来,将在所有菜谱中重复生成食谱。一旦完成,我们可以将每顿饭的食材合并成一个用户可以立即使用的购物清单。

代码语言:javascript

**复制

Prompt={“根据“食材成分”将食材合并成一个单一的购物清单,不要重复。”}

抽样Prompt方法

如果一项任务涉及逻辑推理,例如数学问答,则可能有不止一种方法来解决给定问题。在这种情况下,我们希望鼓励模型在探索不同的解决方案时更具创造性。但提高模型创造力(即提高“temperature”)也意味着模型得到错误答案的可能性也会提高。

解决方案是,可以重复多次向模型Prompt相同的问题,然后选择大多数人的回答。具体如下图所示:

让我们看一下Wang等人的论文中的一个例子。他们引入了自我一致性的概念。Wei等人提出的思想链提示的概念,其中模型的Prompt方法是鼓励模型在给出最终响应之前进行推理步骤(参考论文链接:https://arxiv.org/pdf/2203.11171.pdf)。然而,在这些设置中,通常鼓励模型进行“贪婪解码”,这意味着偏向正确且安全的路径。这可以通过调整“temperature”值等设置来完成。

凭借自我一致性,我们可以通过从多个路径进行采样来构建思想链方法。我们还通过将设置调整为更具“创意”,再次使用“temperature”等设置,使路径更加多样化,然后我们对所有答案进行多数投票。

下图说明了自我一致性的概念。它展示了一个比较使用贪婪解码方法的单个解决方案的结果和使用更多样化的解码方法的多代采样解决方案的结果的示例。前者没有得到正确的答案,而后者却得到了正确的答案。

树状Prompt链

树状Prompt链,其实就时思维树(ToT)。在之前的链式模式的基础上,当问题更加复杂并且需要更细粒度的推理步骤时,将步骤分解成多个部分会很有帮助。在每一步中,我们鼓励模型探索不同的解决方案,投票选出最佳解决方案,然后继续下一步。这在故事写作等创意应用中也很有用。相比将模型限制在单一路径,让模型探索不同的故事想法更有趣,从而提高最终输出的质量。

让我们用Yao等人的一个具体例子来介绍思想树的概念(参考论文链接:https://arxiv.org/pdf/2305.10601.pdf)。下图说明了这个概念与直接输入输出提示、思维链和思维链自我一致性的区别。在每一步,模型都会生成几个不同的解决方案。然后使用单独的提示来评估这些解决方案并投票选出最佳解决方案。重复该过程直到完成最后一步。

这是论文中展示的创意写作任务的示例之一。下图显示了初始输入,其中包含四个看似不相关的句子的列表 - 每个句子都讨论倒立、空间的气味、手语和人们的感知。任务是将它们编织成一个连贯的段落。它必须包含四个短段落,每个段落都以给定的句子结尾。

在此示例中,由于任务相当具有挑战性,因此将任务分为两部分是有意义的:编写计划和根据获胜计划编写实际段落。每一步,模型都会生成一些解决方案,然后使用另一个提示来评估和投票选出最佳解决方案,指导下一步的方向。上面屏幕截图中显示了几个写作计划选项,获胜的选项建议以自助为主题,将句子编织成连贯的段落。

循环Prompt链

在某些应用程序中,考虑到后续步骤中发生的情况,我们可能需要重新运行生成步骤。一个例子是,后续步骤用于检查生成的响应是否满足特定标准,例如质量和格式。这就是循环模式有用的地方。

让我们以改写任务为例。假设我们有一个应用程序接受粗鲁的用户评论并建议重新措辞以使其更加礼貌。在这里,我们希望LLM的回复是礼貌的,同时保留评论的原始含义。接受要重新表述的用户输入的Prompt可能如下所示:

接下来,我们创建另一个提示来检查改写的评论是否与原始评论足够相似。

Prompt链性能考虑

Prompt链是一个非常强大的概念,当单个Prompt设置不足时,它可以使复杂的用例成为可能。话虽如此,Prompt链只有在真正必要的场景时才应该考虑它的应用,因为它有性能的限制。

其中一项考虑因素是延迟。链条越长,完成任务从开始到结束所需的时间就越长。如果应用程序对延迟敏感,则尽可能减少链的数量是有意义的。在设计依赖于提示链的应用程序时,成本因素是另一个考虑因素。

总结

综上,本文介绍了几种Prompt链,其中包括:顺序Prompt链、并行Prompt链、抽样Prompt链、树状Prompt链、循环Prompt链,它们在实际应用中能够很大的发挥出LLMs的能力,为解决复杂问题提供了很大创造空间,尽管在性能方面需要做一定的权衡,但是做好功能和性能的调整也是一项很有意义的挑战。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

在这里插入图片描述

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取==🆓

在这里插入图片描述

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

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

相关文章

SpringBoot实现Config下自动关联.xml、.properties配置信息的实例教程

本篇文章主要讲解在SpringBoot实现Config下自动关联.xml、.properties配置信息的实例教程。 日期:2024年5月4日 作者:任聪聪 .properties文件调用方法 步骤一、打开我们的 .properties 创建一个demo参数如下图: 步骤二、创建一个config的包&…

代码随想录——双指针与滑动窗口(四)

一.1423. 可获得的最大点数 题目详情 解题思路 这里我们每次只能取最左或最右边的卡牌,第一反应其实是使用双指针,通过局部贪心来解决,但是如果两边相等的话用局部贪心无法来判断到底取哪一边,那我们不妨换一个思路: 我们首先任…

uniapp的app端推送功能,不使用unipush

1&#xff1a;推送功能使用htmlPlus实现&#xff1a;地址HTML5 API Reference (html5plus.org) 效果图&#xff1a; 代码实现&#xff1a; <template><view class"content"><view class"text-area"><button click"createMsg&q…

Echarts柱状图横坐标不显示

本人遇到的问题&#xff1a;折线图横坐标可以正常显示 柱状图接收一样的数据在横坐标却显示不了 1.在前端打印是否能够正常接收数据、数据类型是否有误以及数据是否有内容 console.log(typeof optionbar.xAxis.data)console.log(optionbar.xAxis.data) 2.如上确定能够接收到数…

1天搞定SpringBoot+Vue全栈开发 (6)组件化开发

1.NPM使用 2.Vue CLI使用 3.组件化开发 修改App.vue&#xff1a; <template><img alt"Vue logo" src"./assets/logo.png" /><Hello></Hello> </template><script> import Hello from "./components/Hello.vue&q…

2-5 任务:打印九九表

本次实战的目标是通过编写程序实现打印九九乘法表、字符矩形、字符平行四边形和字符菱形等图形&#xff0c;以及解决百钱买百鸡问题和输出素数等实际问题。在实战过程中&#xff0c;我们将学习并掌握以下知识点。 双重循环的使用&#xff1a;通过双重循环实现九九乘法表的打印&…

Vector Laboratories|用于生物偶联疗法BioDesign™ dPEG® Linker连接平台

术语dPEG代表“离散PEG&#xff08;discrete PEG&#xff09;”&#xff0c;这是一种均一的、单分子量&#xff08;MW&#xff09;、高纯度的新一代聚乙二醇聚合物。Vector Laboratorie采用其受专利保护的专有生产工艺&#xff0c;可生产提供适合于各种应用场景&#xff0c;具有…

3月PMP成绩已公布!(附查询流程)

2024年3月PMP考试成绩已出~宝子们抓紧时间查询&#xff0c;没查到的也不要着急&#xff0c;在一周内考试成绩都会以邮件的形式通知给大家~ 下面查询PMP成绩的流程给大家安排上~↓↓↓ 方式一&#xff1a;直接登陆官网查询 1、查询网址&#xff1a;PMI官网&#xff1a;www.pmi.…

【贪心算法】单源最短路径Python实现

文章目录 [toc]问题描述Dijkstra算法Dijkstra算法的正确性贪心选择性质最优子结构性质 Dijkstra算法应用示例Python实现时间复杂性 问题描述 给定一个带权有向图 G ( V , E ) G (V , E) G(V,E)&#xff0c;其中每条边的权是非负实数&#xff0c;给定 V V V中的一个顶点&…

Hive3.0新特性:Materialized Views 物化视图

Materialized Views 物化视图 在 Apache Hive 3.0 中引入了物化视图&#xff08;Materialized Views&#xff09;的支持&#xff0c;它们是预先计算并缓存了查询结果的数据结构&#xff0c;以提高查询性能和降低延迟。物化视图通过将查询的结果存储在物理表中来实现&#xff0…

LeetCode 142.环形链表Ⅱ

题目描述 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内…

解决本地启动项目,用IP地址访问失败问题

解决方法&#xff1a;看看index.html页面有没有 这个标签&#xff0c;将它注释掉

虚幻引擎笔记

虚幻引擎笔记 一、蓝图类二、创建自定义Character蓝图三、操作映射和轴映射 一、蓝图类 Actor&#xff1a;可以放置在关卡中的物体Pawn&#xff1a;相当于游戏角色&#xff0c;可以通过玩家控制器来控制角色&#xff1a;在Pawn的基础上增加了四处走动的功能。创建游戏角色时使用…

[华为OD]C卷 精准核算检测 100

题目&#xff1a; 为了达到新冠疫情精准防控的需要&#xff0c;为了避免全员核酸检测Q带来的浪费&#xff0c;需要精准圈定可 能被感染的人群。现在根据传染病流调以及大数据分析&#xff0c;得到了每个人之间在时间、空间上是 否存在轨迹的交叉现在给定一组确诊人员编号&…

C语言实战项目---通讯录

项目要实现的内容&#xff1a;能够存放100个人的通讯录程序&#xff0c;能够实现联系人数据的存储&#xff0c;删除&#xff0c;修改&#xff0c;查找&#xff0c;展示联系人的信息。 所需知识&#xff1a;结构体&#xff0c;指针&#xff0c;函数................. 废话不多…

代码随想录刷题随记30-贪心4

代码随想录刷题随记30-贪心4 860.柠檬水找零 leetcode链接 比较显然 class Solution {public boolean lemonadeChange(int[] bills) {int []accountnew int[3];for(int cur:bills){if(cur5)account[0];else if(cur10){account[0]--;if(account[0]<0)return false;account…

CTK库编译-01

地址 官网地址&#xff1a;Commontk github地址&#xff1a;https://github.com/commontk/CTK 编译环境 Qt套件&#xff1a; IDE&#xff1a;VS2022 使用vs2022 文件->打开->cmake 修改根目录下的CMakeLists.txt 默认只编译core模块&#xff0c;所以需要把部分模块…

VTK —— 三、简单操作 - 示例3 - 将点投影到平面上(附完整源码)

代码效果 本代码编译运行均在如下链接文章生成的库执行成功&#xff0c;若无VTK库则请先参考如下链接编译vtk源码&#xff1a; VTK —— 一、Windows10下编译VTK源码&#xff0c;并用Vs2017代码测试&#xff08;附编译流程、附编译好的库、vtk测试源码&#xff09; 教程描述 本…

分析师常用商业分析模型

一、背景 在用户调研中&#xff0c;我们发现分析师对商业分析模型的使用还是比较频繁。本文主要对用户调研结果中的分析师常用商业分析模型以及一些业界经典的商业分析模型进行分析&#xff0c;并梳理出执行落地流程&#xff0c;以此来指导分析师工具设计分析功能的引导性。 …

SRC公益漏洞挖掘思路分享

0x00 前言 第一次尝试挖SRC的小伙伴可能会觉得挖掘漏洞非常困难&#xff0c;没有思路&#xff0c;不知道从何下手&#xff0c;在这里我分享一下我的思路 0x01 挖掘思路 确定自己要挖的漏洞&#xff0c;以及该漏洞可能存在的功能点&#xff0c;然后针对性的进行信息收集 inurl…