Prompt 提示词强大方法论和框架2

自从ChatGPT

Chat Generative Pre-trained Transformer于2022年11月30日发布以来,一个新兴的行业突然兴起,
那就是提示工程Prompt engineering,可谓如日冲天。

从简单的文章扩写到RAG,ChatGPT展现了前所未有的惊人能力。

在上一篇文章中

我们介绍了5个提示工程方法论和框架

今天,我们将继续向大家介绍

其它的

5个提示工程方法论和框架

1、提示工程总览

提示工程技术大概可以分成四类:

  1. 基于样本提示技术
  2. 思维链技术
  3. 自动增强技术
  4. 交互与推理技术

在上一篇文章中

我们介绍了(下图中标有的部分):

零样本提示(Zero-shot)

少样本提示(Few-shot)

思维链(Chain-of-Thought / CoT)

自动思维链(Automatic CoT)

自洽(Self-consistency)

这篇文章将继续介绍其它的 方法论框架

包括:

自动提示工程师

Automatic Prompt Engineer

生产知识提示

Generated Knowledge Prompting

思维树

Tree of Thought / ToT

思维图

Graph of Thoughts / GoT

自动增强检索

Retrieval Augmented Generation / RAG

请看下方标有✅的部分(标有的部分将在下一篇文章介绍)。

在这里插入图片描述

以下是它们各自的发布时间线:

在这里插入图片描述

2、自动增强技术

Automatic Prompt Engineer (APE)

自动提示工程师

APE

是一种用于自动生成(而不是依赖人工编写)和选择指令的框架。它的目标是通过为特定任务自动生成和选择最合适的指令来提高大型语言模型(LLMs)的性能。

APE由一个推理模型和一个目标模型组成

推理模型生成指令候选

目标模型评估这些指令候选的性能

推理模型使用一个额外的提示,通过提供输出示例来生成指令候选。这个提示被称为指令模板(instruction template)。指令模板是一个预先定义的指令结构,它指导推理模型生成指令候选。目标模型使用指令候选执行任务,并计算它们的性能。

推理模型和目标模型通过一个评估函数(evaluation function)进行交互。评估函数接收指令候选和任务结果作为输入,并计算它们的性能。性能可以是任何指标,例如准确率、召回率或F1分数。

举个例子,考虑一个任务,AI需要生成一个用于计算数字阶乘的Python函数。APE会生成多个指令候选,例如“编写一个Python函数来计算数字阶乘”、“创建一个计算给定数字阶乘的Python函数”等等。然后,目标模型执行这些指令,并选择生成最准确和高效的Python函数的指令。

APE在许多情况下表现出优于人工设计的提示的性能。例如,APE发现了一个比“让我们逐步思考”更好的零样本的CoT(Chain-of-Thought)提示

它生成的提示“**让我们以逐步的方式解决这个问题,以确保我们得到了正确的答案”**提高了MultiArith和GSM8K基准测试的性能。

它的主要步骤如下:

  • 给定输出预测输入(逆向生成)
  • 计算输入的分数
  • 根据分数决定输入(可能重复直到分数收敛)

在这里插入图片描述

Generated Knowledge Prompting

生成知识提示法

GKP

依托于大型语言模型(LLM)的强大功能,旨在创造出能够解决特定问题的知识。

这个方法的核心思想是,通过LLM生成有价值的知识信息,然后把这些信息作为提示内容,和一个相关问题结合起来,用于解决具体的任务。

**知识通常指的是可以被算法或模型利用来执行任务或做出决策的信息。**它可以采取多种形式,包括数据,事实,规则,关系,模式,概念和经验。以下是几个例子:

  • 事实知识:

    例如,“巴黎是法国的首都。”这是一个明确的事实,可以被用来回答关于地理或政治的问题。

  • 程序性知识:

    如编程语言的语法规则或者骑自行车的步骤。这些知识说明了如何执行特定的任务。

  • 启发式知识:

    在解决问题时,经验法则或简单规则可以指导决策过程。例如,在棋类游戏中,“控制棋盘中心”通常是一个有用的策略。

  • 关系知识:

    诸如“所有的猫都是哺乳动物”这样的陈述,表明了猫和哺乳动物之间的分类关系。

  • 模式知识:

    通过数据分析发现的趋势,例如股市历史数据中的交易模式。

  • 概念知识:

    对一类事物的一般理解,例如“民主”或“可持续发展”的定义。

  • 经验知识:

    个人或集体的经验,如医生对疾病症状的识别。

这些知识形式可以通过不同方式获取和应用,例如通过训练数据集学习,通过知识库直接编码,或者通过模型的推理能力来生成和应用。知识是智能系统的核心组成部分,它使得这些系统能够理解复杂的概念,解决问题,并做出有根据的决策。

以下是生成知识提示方法的简明解析:

  • 生成知识:

    这一过程开始于向大型语言模型(LLM)提供指令,为每项任务准备几个具体示例以及一个待提问的空白处。这些示例由人工编写,不仅包含了与任务相符的问题,还附带了有益的知识说明。

  • 知识整合:

    生成知识之后,这一步骤通过运用另一个大型语言模型(LLM),以每条知识声明作为依据进行预测,从中挑选出最具有信服力的预测结果,并将其融合进模型的判断过程中。

  • 评估表现:

    评估标准围绕三个核心要素:知识的数量与质量(表现随着更多知识声明的添加而提升),以及在推断时采取的知识整合策略。

这种技术已成功提高了大型语言模型(LLM)在处理多种常识性推理任务上的性能,为大部分测试数据集创下了新的行业领先成果,并且无论是在未见过的数据上还是经过微调的场景中都显示出了有效性。

在《Generated Knowledge Prompting for Commonsense Reasoning》论文中,通过图示展示了这一过程:利用少量示例从一个LLM中生成与问题相关的知识声明,然后使用另一个LLM根据每条知识声明进行预测,并最终选出最有把握的预测结果。

举个例子,可以向模型提出这样的命题:“鱼能思考。知识:鱼的智慧超出外表所显示的。”模型应当根据所给的知识做出反应。

总之,生成知识提示技术通过生成作为提问部分的知识,引用知识或规律而非实例来提问,它不仅确保了模型在面对不同输入时能够保持内部状态或行为的一致性,而且在多种场合下都有应用,比如在 LangChain 中,特别是处理 CSV 格式数据时尤为有效。

在这里插入图片描述

3、思维链技术

Tree of Thought (ToT)

在这里插入图片描述

思维树

ToT

框架被用于BabyAGI的任务生成代理中,其目的是提升如GPT-4等大型语言模型(LLM)的解题能力

它的主要构成和功能:

  • 树状结构及推理路径:

    ToT采用树状结构,支持多条推理路径,以探索性方式识别下一步动作。这种结构也便于实现深度优先和广度优先等搜索算法。

  • 预读与回溯功能:

    ToT的特色之一是其能够预先阅读并在必要时回溯推理步骤,同时可以在所有方向上选择全局推理步骤。

  • 维护思维树:

    该框架保持一个树状结构,每个节点的思维代表一个连贯的语言序列,是解题过程中的中间步骤。这样做使得语言模型能够通过有目的的推理自我评估中间思维在解题过程中的进展。

  • 系统性思维探索:

    结合搜索算法的模型生成与评估思维的能力,使得系统性地探索思维成为可能,具备前瞻和回溯功能。

例如,在“解决24点游戏”的任务中

模型将基于思维树来构造答案。如在24点游戏中,可以将思维划分为3个步骤,每个步骤包含一个中间等式。在每个关键点,模型会保留最优选项,并根据是否能达到24来评估每个思维候选,分为“肯定/可能/不可能”。这种方法支持那些能够在少数几次尝试中确定的准确部分解决方案,并排除那些无法实现的方案。

在BabyAGI这样的自主AI代理(Agent)中,ToT被用来根据特定目标生成和实施任务。任务完成后,BabyAGI会根据结果调整其策略,并基于之前的执行成果和总体目标规划新任务。

总结来说

思维树(ToT)提示技术为语言模型提供了一种强有力的解决问题的工具,能够系统性地探索和评价多条推理路径。在 BabyAGI 等系统中找到了应用,这些系统能够自主地生成、执行和评估任务,以达成明确的目标

Graph of Thoughts (GoT)

思维图

GoT

既是一种框架体系,也是一种引导技术。这种方法通过将大型语言模型(LLM)生成的信息以图的形式组织起来,从而显著提升了回答的精确性,其效果尤为突出。

在该图中:

  • 顶点:表示各个独立的思维。
  • :显示思维之间的联系或相互作用。

GoT通过鼓励LLM以多样化方式整合思维、提纯思维网络到其核心,并通过反馈循环来加强思维,反映了人类认知过程的非线性本质,使得对思维序列的模拟更加真实。

GoT方法概述如下:

  • 思维产生:LLM产生相关的思维,每一个思维在图中被表示为一个顶点。
  • 连接识别:确定思维之间的关系(逻辑发展、支撑证据或不同观点),并在图中以边的形式展现。
  • 图形探索:LLM在图中进行探索,以形成解决方案,可能会按照特定的顺序遍历,巧妙地结合思维,或通过反馈循环来强化特定的思维。
  • 生成回答:基于图内探索出的解决方案,LLM生成回答。这种回答往往比未使用GoT生成的回答更加精准。

在进行的实践测试中,面对日益增加的挑战,如24点游戏、解决高次多项式方程、导出递归序列的公式等,GoT展现了超越GPT-4和其他先进提示方法,如思维树(ToT),的优越性能,分别在这些任务中实现了89.7%、86%和56%的准确度提高,与ToT相比,平均准确度分别提升了23%、24%和15%。

在这里插入图片描述

本质上,GoT通过允许大型语言模型(LLM)通过图表示来模拟、探索和增强复杂的思维过程,从而提高了LLM生成回应的准确性,确保了对所有相关思维及其相互关系的全面检查。

在这里插入图片描述

4、交互与推理技术

Retrieval Augmented Generation(RAG)
在这里插入图片描述

检索增强型生成

RAG

是一种框架,通过融合检索式模型和生成式模型的优势,致力于提升大型语言模型(LLM)输出文本的品质和相关度。它能够从外部知识库中提取信息,确保LLM输出的信息既准确又是最新的,而无需修改LLM本身。

RAG框架要点解析如下:

  • 检索模型:这类模型负责从数据集或知识库中寻找必要信息,通过信息检索或语义搜寻技巧根据特定查询找到最合适的信息。

  • 生成模型:根据特定提示或上下文创造新内容的模型,它们通过分析大量训练数据来创作新颖或创意内容。

  • 结合双方优势:RAG将上述两种方法结合,既弥补了它们的不足,又发挥了各自的强项。通过检索模型找到与查询或上下文相关的信息,再将这些信息作为生成模型的输入或额外上下文,以此来生成更加贴切和精确的文本。

  • 应用实例:例如,Alice想知道是否能以半天为单位请假,以及她今年是否还有足够的假期。一个应用了RAG的聊天机器人能够实时查找公司最新的假期政策,并利用这些信息来回答Alice的问题。

采用 RAG 的工具和平台包括:

  • LlamaIndex:

    简化自定义数据上基于LLM应用开发的索引和查询过程。

  • Weaviate:

    一款开源的向量数据库,支持使用向量表达方式来存储和查询数据对象。

RAG应用场景:

  • 问答系统:

    先通过检索模型找到含有答案的相关文段或文件,再通过生成模型整合这些信息,形成简洁明了的回答。

  • 内容创作任务:

    如进行文本摘要或编故事,检索模型会先寻找相关资料,然后生成模型根据这些资料创作出摘要或故事。

简而言之,RAG通过利用知识库中的准确和最新信息,极大地扩展了LLM的功能,使其在问答系统、内容创作等多种应用场景中,能够生成更加相关和精确的文本,并且能与多种工具和平台配合使用。

5、总结

提示工程

Prompt Engineering的四大类技术:

  1. 基于样本提示技术
  2. 思维链技术
  3. 自动增强技术
  4. 交互与推理技术

都为AI系统提供了新的可能性

这些技术可以广泛应用于问答系统、内容创作、任务生成代理、执行代理等多种场景,极大地扩展了大型语言模型的能力和应用范围。并且,通过不断改进和创新这些技术,我们可以预见到未来AI将会更加智能、准确和高效。

总的来说,本文对提示词的介绍和一些相关的方法论和框架的解析,旨在为广大读者提供对这一新兴行业的深入理解和洞见。在未来的发展中,我们期待看到更多的成功应用和突破性成果,共同推动这个激动人心的领域不断向前。

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

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

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

相关文章

90后机器人创业者再获10亿元融资,为精密传动行业注入新动力!

据了解,一位90后机器人创业者再次获得近10亿元人民币的融资,这一消息在精密传动行业引起了广泛关注。 杭州宇树科技有限公司(简称“宇树”),2024年春节前完成了B2轮融资,融资近10亿元人民币,本轮…

操作系统笔记(1)进程相关

进程概念: 进程同步:多个相关进程在执行次序上进行协调,使并发执行的进程之间能按照一定的规则共享系统资源,并能很好的合作,从而使进程的执行具有可再现性。 进程之间可能存在互斥或者同步的关系。 互斥(间接相互制…

ROS云课三分钟外传之CoppeliaSim_Edu_V4_1_0_Ubuntu16_04

三分钟热度试一试吧,走过路过不要错过。 参考之前: 从云课五分钟到一分钟之v-rep_pro_edu_v3_6_2-CSDN博客 git clone https://gitcode.net/ZhangRelay/v-rep_pro_edu_v3_6_2_ubuntu16_04.gittar -xf v-rep_pro_edu_v3_6_2_ubuntu16_04/V-REP_PRO_EDU…

Node.js环境搭建

背景 想接触下node开发, 打算做个node环境 一、安装包获取 我喜欢使用压缩包解压然后配置的方式进行 地址为: Index of /download/release/ ,可按需选择自己的版本,我选择了如下版本 二、解压配置 将压缩包解压只自己想要安装的文件加下,配置环境变量,解压如下所示: …

m3u8视频怎么打开?教你三招!

m3u8 是一种文本文件格式,用于创建媒体播放列表,现在大部分的视频流媒体都是m3u8格式。当我们从网上下载下来m3u8文件的时候会发现,它本身不是一段视频,而是一个索引纯文本文件。想要正常打开播放m3u8视频其实也很简单&#xff0c…

SQL进阶day11——窗口函数

目录 1专用窗口函数 1.1 每类试卷得分前3名 1.2第二快/慢用时之差大于试卷时长一半的试卷 1.3连续两次作答试卷的最大时间窗 1.4近三个月未完成试卷数为0的用户完成情况 1.5未完成率较高的50%用户近三个月答卷情况 2聚合窗口函数 2.1 对试卷得分做min-max归一化 2.2每份…

Xamarin.Android实现通知推送功能(1)

目录 1、背景说明1.1 开发环境1.2 实现效果1.2.1 推送的界面1.2.2 推送的设置1.2.3 推送的功能实现1.2.3.1、Activity的设置【重要】1.2.3.2、代码的实现 2、源码下载3、总结4、参考资料 1、背景说明 在App开发中,通知(或消息)的推送&#x…

​​​​​​ 基于Nmap的异步无状态端口扫描技术

​​​​​​ 基于Nmap的异步无状态端口扫描技术 传统的端口扫描,主要是依靠TCP三次握手去连接,而建立连接的各个过程都存在连接状态,这些状态由操作系统在底层实现存储,可利用这些状态对应用层的数据进行处理。但是,…

企业必备技能-打造全屏轮播图的终极指南

标题:“视觉盛宴:打造全屏轮播图的终极指南” 引言 在网页设计中,轮播图是一种常见的视觉元素,它能够吸引访客的注意力并展示重要内容。本文档将指导你如何使用HTML和CSS快速创建一个全屏轮播图,使您的网站更加生动和…

算法学习笔记(7.4)-贪心算法(区间调度问题)

目录 ##什么是区间调度问题 ##贪心解法 ##具体的例题示例讲解 ##452. 用最少数量的箭引爆气球 - 力扣(LeetCode) ##435. 无重叠区间 - 力扣(LeetCode) ##56. 合并区间 - 力扣(LeetCode) ##什么是区间调…

毫米波雷达深度学习技术-1.6目标识别2

1.6.4 自动编码器和变体自动编码器 自编码器包括一个编码器神经网络,随后是一个解码器神经网络,其目的是在输出处重建输入数据。自动编码器的设计在网络中施加了一个瓶颈,它鼓励原始输入的压缩表示。通常,自编码器旨在利用数据中的…

学习周报:文献阅读+Fluent案例+Fluent相关算法学习

目录 摘要 Abstract 文献阅读:求解正逆运动波问题的物理信息神经网络 文献摘要 讨论|结论 理论基础 KWM(运动波动方程) Hard constraint (硬约束方式) 具有重新分布的搭配点的PINN 具有停止梯度的分数阶方程 …

实验二、网络属性设置《计算机网络》

精神状态 be like:边写边崩溃,越写越得劲儿。 目录 一、实验目的: 二、实验内容 三、实验步骤: 四、实验小结 一、实验目的: 掌握 IP 地址、子网掩码等网络属性的设置。 二、实验内容 预备知识: 1、…

耐酸碱腐蚀可溶性聚四氟乙烯(PFA)溶样罐

PFA溶样罐也叫PFA溶样瓶,可直接放在加热板上及油浴里加热,也可液氮下长期保存,使用温度-200—260℃。 根据不同实验的需求,PFA溶样罐有U型、V型、平底3种设计。V型底的设计,更加方便少量样品的集中收集。溶样罐广泛用…

Java 实验8 集合类

(一)实验目的 1、掌握JAVA集合类中的Collection的特点及其应用情形; 3、掌握Collection、熟悉集合的特点及应用。 (二)实验内容和步骤 1、仿照课堂练习的MyStack示例,使用LinkedList集合类实现一个先进…

探索多头混合专家(MH-MoE)模型的先进架构

在深度学习领域,大型模型如大型语言模型(LLMs)和大型多模态模型(LMMs)因其在各个领域的有效性而受到广泛关注。然而,这些模型在训练和推理时面临着巨大的计算成本。为了解决这一问题,研究者们提…

多分类混淆矩阵详解

⭐️ 前言 在机器学习和数据科学中,混淆矩阵(Confusion Matrix)是一个重要的工具,用于评估分类模型的性能。特别是在多分类问题中,混淆矩阵能够清晰地展示模型在每个类别上的预测结果。以下是对多分类混淆矩阵的详细解…

IDEA下项目发送到Gitee

一、首先在Gitee创建一个仓库(什么都不选,这是最简单的方式,否则需要 pull push等一些操作,我嫌麻烦) 二、按图点击(创建存储区,选择你要上传的项目) 三、按图点击后正常文件名会变绿…

python中关于函数的两种链式调用

函数之间的嵌套调用之函数的返回值就是另一个函数的参数 用一个函数的返回值作为另一个函数的参数。 如上图所示,将is0dd(10)的结果交给print函数来执行。 如上图所示,也是一个链式调用的案例,先将add(x&a…

gitlab之cicd的gitlab-runner cicd实践-rpm离线安装

目录 概述资源官方资源离线资源 操作环境验证gitlab-runner安装注意事项重启向gitlab注册CICD流程测试 概述 gitlab此文使用rpm离线安装的方式,使用 gitlab-runner dockerfile构建运行环境: 如有兴趣可以参考这篇文章   gitlab选择 docker-compose 执行…