用通俗易懂的方式讲解:一文搞懂大模型 Prompt Engineering(提示工程)

本文将从提示工程的本质、提示工程的原理、提示工程的应用三个方面,带您一文搞懂提示工程 Prompt Engineering 。

文末精选通俗易懂的方式讲解系列,如果你喜欢技术交流,文末可以加入
图片

文章目录

    • 提示工程的本质
    • 提示工程的原理
    • 提示工程的应用
    • 技术交流&资料
    • 通俗易懂讲解大模型系列

提示工程的本质

Prompt(提示):Prompt(提示)在人工智能,特别是AGI(通用人工智能)时代,扮演着至关重要的角色。它不仅是用户与AI模型如ChatGPT交互的桥梁,更是一种全新的“编程语言”,用于指导AI模型产生特定的输出。

图片

Prompt(提示)

  • Prompt作为AGI时代的“编程语言”

  • 角色转变:Prompt不再仅仅是简单的输入或查询,它成为了一种与AI模型交互的“编程语言”。用户通过精心设计的Prompt来“编程”AI模型,指导其执行各种任务。

  • 任务多样性:这些任务的范围非常广泛,从简单的问答、文本生成到复杂的逻辑推理、数学计算和创意写作等。

  • 即时性与互动性:与传统的编程语言相比,Prompt通常更加即时和互动。用户可以直接在AI模型的接口中输入Prompt,并立即看到结果,而无需经过编译或长时间的运行过程。

提示工程(Prompt Engineering):提示工程(Prompt Engineering)涉及到如何设计、优化和管理这些Prompt,以确保AI模型能够准确、高效地执行用户的指令。
图片

  • Prompt工程作为AGI时代的“软件工程”

  • 设计:Prompt设计需要仔细选择词汇、构造清晰的句子结构,并考虑上下文信息。这确保AI模型能够准确理解用户的意图并产生符合预期的输出。

  • 优化:优化Prompt可能涉及调整词汇选择、改变句子结构或添加额外的上下文信息,以提高AI模型的性能和准确性。这可能需要多次尝试和迭代,以达到最佳效果。

  • 管理:随着AGI应用的不断增长和复杂化,管理大量的Prompt变得至关重要。这包括组织、存储和检索Prompt,以便在需要时能够快速找到并使用它们。同时,还需要定期更新和维护这些Prompt,以适应AI模型的改进和变化的需求。

提示工程的原理

Prompt的构成:一个完整的Prompt应该包含清晰的指示、相关的上下文、有助于理解的例子、明确的输入以及期望的输出格式描述。
图片Prompt的构成

  • 指示(Instructions) - 关键词:任务描述

  • 指示是对任务的明确描述,相当于给模型下达了一个命令或请求。它告诉模型应该做什么,是任务执行的基础。

  • 上下文(Context) - 关键词:背景信息

  • 上下文是与任务相关的背景信息,它有助于模型更好地理解当前任务所处的环境或情境。在多轮交互中,上下文尤其重要,因为它提供了对话的连贯性和历史信息。

  • 例子(Examples) - 关键词:示范学习

  • 例子是给出的一或多个具体示例,用于演示任务的执行方式或所需输出的格式。这种方法在机器学习中被称为示范学习,已被证明对提高输出正确性有帮助。

  • 输入(Input) - 关键词:数据输入

  • 输入是任务的具体数据或信息,它是模型需要处理的内容。在Prompt中,输入应该被清晰地标识出来,以便模型能够准确地识别和处理。

  • 输出(Output) - 关键词:结果格式

  • 输出是模型根据输入和指示生成的结果。在Prompt中,通常会描述输出的格式,以便后续模块能够自动解析模型的输出结果。常见的输出格式包括结构化数据格式如JSON、XML等。

Prompt调优:Prompt调优是人与机器协同的过程,需明确需求、注重细节、灵活应用技巧,以实现最佳交互效果。

图片

Prompt调优

  • 一、人的视角:明确需求

  • 核心点:确保清晰、具体地传达自己的意图。

  • 策略:简化复杂需求,分解为模型易理解的指令。

  • 二、机器的视角:注重细节

  • 核心点:机器缺乏人类直觉,需详细提供信息和上下文。

  • 策略:精确选择词汇和结构,避免歧义,提供完整线索。

  • 三、模型的视角:灵活应用技巧

  • 核心点:不同模型、情境需不同Prompt表达方式。

  • 策略:通过实践找到最佳词汇、结构和技巧,适应模型特性。

提示工程的应用

提示技术:提示技术是引导AI模型进行深度思考和创新的有效工具,其中Chain-of-Thought Prompting注重逐步推理,Knowledge Generation Prompting强调知识生成,而Tree of Thoughts Prompting则通过树状结构清晰展现思维过程。

  • Chain-of-Thought Prompting(链式思考提示)

  • 一、概念介绍

    Chain-of-Thought Prompting,即链式思考提示,是一种在人工智能模型中引导逐步推理的方法。通过构建一系列有序、相互关联的思考步骤,模型能够更深入地理解问题,并生成结构化、逻辑清晰的回答。

  • 二、核心特点

    有序性:链式思考提示要求将问题分解为一系列有序的步骤,每个步骤都建立在前一个步骤的基础上,形成一条清晰的思考链条。

    关联性:每个思考步骤之间必须存在紧密的逻辑联系,以确保整个思考过程的连贯性和一致性。

    逐步推理:模型在每个步骤中只关注当前的问题和相关信息,通过逐步推理的方式逐步逼近最终答案。

图片

链式思考提示(COT)

Knowledge Generation Prompting(生成知识提示)

  • 一、概念介绍

    Knowledge Generation Prompting,即生成知识提示,是一种利用人工智能模型生成新知识或信息的方法。通过构建特定的提示语句,引导模型从已有的知识库中提取、整合并生成新的、有用的知识内容。

  • 二、核心特点

    创新性:生成知识提示旨在产生新的、原创性的知识内容,而非简单地复述或重组已有信息。

    引导性:通过精心设计的提示语句,模型被引导去探索、发现并与已有知识进行交互,从而生成新的见解或信息。

    知识整合:该过程涉及对多个来源、多种类型的知识进行融合和整合,以形成更全面、深入的理解。

图片

生成知识提示

  • Tree of Thoughts Prompting(思维树提示)

  • 一、概念介绍

    Tree of Thoughts Prompting,即思维树提示,是一种将复杂思维过程结构化为树状图的方法。它通过逐级分解主题或问题,形成具有逻辑层次和关联性的思维节点,从而帮助用户更清晰地组织和表达思考过程。

  • 二、核心特点

    层次性:思维树提示将思考过程分解为多个层次,每个层次代表不同的思维深度和广度。

    关联性:各思维节点之间存在紧密的逻辑联系,形成一个相互关联、互为支撑的思维网络。

    可视化:通过将思维过程以树状图的形式展现,思维树提示增强了思考过程的可视化和直观性。

图片
思维树提示(TOT)

提示应用:提示工程应用于代码生成,利用机器学习,将自然语言提示自动转为符合要求的代码,提升开发效率。

  • Generating Code(代码生成)

  • 将注释转换成代码

    将注释转换成代码意味着您需要理解注释中的描述或说明,并将其实现为可执行的代码。例如:

    图片

    在这个例子中,注释“计算两个数的和”被转换为了一个名为add_numbers的函数,该函数接受两个参数并返回它们的和。

  • 完成功能或继续下一行

    这通常意味着您需要编写缺失的代码行以完成某个功能。例如,如果您有一个未完成的函数:

    图片

    这个函数已经完成了基本的问候功能,并且还包含了一个特殊情况的处理:如果名字是"Alice",则打印一条特殊的问候语。

  • MySQL查询语句生成

    生成MySQL查询语句需要根据您的数据库结构和您想要检索的数据来决定。以下是一个简单的查询示例,它从名为employees的表中选择所有员工的信息:图片

    如果您想根据某些条件筛选员工,比如选择所有薪资超过50000的员工,您可以这样写:

    图片

  • 解释代码

    解释代码意味着您需要理解代码的功能和工作原理,并能够用自然语言描述它。例如,对于以下Python代码:

    您可以解释这段代码为:“这是一个计算阶乘的函数。它接受一个参数n,并检查n是否等于0。如果n等于0,函数返回1。否则,它返回n乘以n-1的阶乘的结果。这是一个递归函数,因为它在自己的定义中调用了自己。”

技术交流&资料

技术要学会分享、交流,不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。

成立了大模型技术交流群,本文完整代码、相关资料、技术交流&答疑,均可加我们的交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、微信搜索公众号:机器学习社区,后台回复:加群
方式②、添加微信号:mlc2060,备注:来自CSDN + 技术交流

通俗易懂讲解大模型系列

  • 做大模型也有1年多了,聊聊这段时间的感悟!

  • 用通俗易懂的方式讲解:大模型算法工程师最全面试题汇总

  • 用通俗易懂的方式讲解:不要再苦苦寻觅了!AI 大模型面试指南(含答案)的最全总结来了!

  • 用通俗易懂的方式讲解:我的大模型岗位面试总结:共24家,9个offer

  • 用通俗易懂的方式讲解:大模型 RAG 在 LangChain 中的应用实战

  • 用通俗易懂的方式讲解:一文讲清大模型 RAG 技术全流程

  • 用通俗易懂的方式讲解:如何提升大模型 Agent 的能力?

  • 用通俗易懂的方式讲解:ChatGPT 开放的多模态的DALL-E 3功能,好玩到停不下来!

  • 用通俗易懂的方式讲解:基于扩散模型(Diffusion),文生图 AnyText 的效果太棒了

  • 用通俗易懂的方式讲解:在 CPU 服务器上部署 ChatGLM3-6B 模型

  • 用通俗易懂的方式讲解:使用 LangChain 和大模型生成海报文案

  • 用通俗易懂的方式讲解:ChatGLM3-6B 部署指南

  • 用通俗易懂的方式讲解:使用 LangChain 封装自定义的 LLM,太棒了

  • 用通俗易懂的方式讲解:基于 Langchain 和 ChatChat 部署本地知识库问答系统

  • 用通俗易懂的方式讲解:在 Ubuntu 22 上安装 CUDA、Nvidia 显卡驱动、PyTorch等大模型基础环境

  • 用通俗易懂的方式讲解:Llama2 部署讲解及试用方式

  • 用通俗易懂的方式讲解:基于 LangChain 和 ChatGLM2 打造自有知识库问答系统

  • 用通俗易懂的方式讲解:一份保姆级的 Stable Diffusion 部署教程,开启你的炼丹之路

  • 用通俗易懂的方式讲解:对 embedding 模型进行微调,我的大模型召回效果提升了太多了

  • 用通俗易懂的方式讲解:LlamaIndex 官方发布高清大图,纵览高级 RAG技术

  • 用通俗易懂的方式讲解:为什么大模型 Advanced RAG 方法对于AI的未来至关重要?

  • 用通俗易懂的方式讲解:使用 LlamaIndex 和 Eleasticsearch 进行大模型 RAG 检索增强生成

  • 用通俗易懂的方式讲解:基于 Langchain 框架,利用 MongoDB 矢量搜索实现大模型 RAG 高级检索方法

  • 用通俗易懂的方式讲解:使用Llama-2、PgVector和LlamaIndex,构建大模型 RAG 全流程

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

常见的 MIME(媒体)类型速查

一、简介 MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型,是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文…

java程序jar包xjar加密及破解解密

超短连接转换j1z.cc(永久有效) 背景 项目要部署到第三方服务器上,于是研究了一下jar包加密的方式,其中在github上有一个项目XJar,挺多使用用户,也搜到了破解的教程,于是研究了一下。详细说下如…

实战分享:SpringBoot在创新创业项目管理中的应用

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

【前端web入门第五天】01 结构伪类选择器与伪元素选择器

文章目录: 1.结构伪类选择器 1.1 nth-child(公式) 2.伪元素选择器 1.结构伪类选择器 作用:根据元素的结构关系查找元素。 选择器说明E:first-child查找第一个E元素E:last-child查找最后一个E元素E:nth-child(N)查找第N个E元素(第一个元素N值为1) 一个列表结构…

leetcode 1.两数之和(C++详细题解)DAY1

文章目录 1.题目描述示例提示 2.解答思路(1)暴力解法(2)哈希表 3.实现代码结果 4.总结 1.题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c…

位运算01 插入[C++]

图源:文心一言 上机题目练习整理,位运算,供小伙伴们参考~🥝🥝 网页版目录在页面的右上角↗~🥝🥝 第1版:在力扣新手村刷题的记录~🧩🧩 编辑:梅…

vue3-内置组件-KeepAlive

KeepAlive <KeepAlive> 是一个内置组件&#xff0c;它的功能是在多个组件间动态切换时缓存被移除的组件实例。 基本使用 默认情况下&#xff0c;一个组件实例在被替换掉后会被销毁。这会导致它丢失其中所有已变化的状态——当这个组件再一次被显示时&#xff0c;会创建…

深入探究 HTTP 简化:httplib 库介绍

✏️心若有所向往&#xff0c;何惧道阻且长 文章目录 简介特性主要类介绍httplib::Server类httplib::Client类httplib::Request类httplib::Response类 示例服务器客户端 总结 简介 在当今的软件开发中&#xff0c;与网络通信相关的任务变得日益普遍。HTTP&#xff08;Hypertext…

Linux | 进度条 | Linux简单小程序 | 超级简单 | 这一篇就够了

进度条—实例示范 在学习了基本的Linux指令&#xff0c;Linux上vim编译器等等之后&#xff0c;我们就来学习写代码喽~ 今天就给大家详细讲解一下进度条的编写&#xff0c;需要的效果如下图&#xff1a; 进度条—必备知识 回车和换行 在我们学习编程语言中&#xff0c;经常…

2024年【G1工业锅炉司炉】考试及G1工业锅炉司炉考试内容

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年G1工业锅炉司炉考试为正在备考G1工业锅炉司炉操作证的学员准备的理论考试专题&#xff0c;每个月更新的G1工业锅炉司炉考试内容祝您顺利通过G1工业锅炉司炉考试。 1、【多选题】TSGG0001-2012《锅炉安全技术监察…

高中学校档案室主要做什么

高中学校档案室主要负责管理、保存和维护学校的各类档案文件。具体工作内容包括&#xff1a; 1. 档案收集&#xff1a;负责收集学校各个部门的档案文件&#xff0c;包括学生档案、教职工档案、教学档案、行政档案等。 2. 档案分类和整理&#xff1a;对收集到的档案文件进行分类…

Nginx限流设置

1.反向代理(建议先看正向代理,反向代理则是同样你要与对方服务器建立连接,但是,代理服务器和目标服务器在一个LAN下,所以我们需要与代理服务器先建交,再由他获取与目标服务器的交互,好比一个带刀侍卫守护着目标服务器) 屏蔽目标服务器的真实地址&#xff0c;相对安全性较好&am…

相机图像质量研究(6)常见问题总结:光学结构对成像的影响--对焦距离

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

鸿蒙OS导入项目报错不能运行 @ohos\hvigor\bin\hvigor.js‘

在自学HarmonyOS时&#xff0c;想在DevEco Studio导入官方示例代码&#xff1a;待办列表&#xff08;ArkTS&#xff09;报错 C:\Users\woods\Downloads\test01\ToDoListArkTS\node_modules\ohos\hvigor\bin\hvigor.js --mode module -p moduleentrydefault -p productdefault …

SpringBoot集成Swagger2的增强版Knife4j

1. 背景 作为SpringBoot集成中间件其中的一篇文章吧&#xff0c;既然打算出这么一个系列了&#xff0c;争取做到虽小却全&#xff0c;又精又美的一个系列吧。 Swagger应该都有接触吧&#xff0c;knife4j是Swagger2的增强版&#xff0c;更加友好的操作页面&#xff0c;更多强大…

Java实现民宿预定管理系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色2.2.2 房主角色2.2.3 系统管理员角色 三、系统展示四、核心代码4.1 查询民宿4.2 新增民宿4.3 新增民宿评价4.4 查询留言4.5 新增民宿订单 五、免责说明 一、摘要 1.1 项目介绍 基于…

力扣优选算法100道——【模板】前缀和(一维)

【模板】前缀和_牛客题霸_牛客网 (nowcoder.com) 目录 &#x1f6a9;了解题意 &#x1f6a9;算法原理 &#x1f388;设定下标为1开始 &#x1f388;取值的范围 &#x1f6a9;实现代码 &#x1f6a9;了解题意 第一行的3和2&#xff0c;3代表行数&#xff0c;2代表q次查询(…

【Python4Delphi】学习笔记(一):介绍篇

一、前言&#xff1a; 1. python语言简介&#xff1a; 众所周知&#xff0c;python是目前非常流行的编程语言之一&#xff0c;自20世纪90年代初Python语言诞生至今&#xff0c;它已被逐渐广泛应用于系统管理任务的处理和Web编程。 由于Python语言的简洁性、易读性以及可扩展性…

[React] ref属性

简介 ref 即 reference &#xff0c;是 React 提供给我们的安全访问 DOM 元素或者某个组件实例的句柄。 组件被调用时会新建一个该组件的实例&#xff0c;而 ref 就会指向这个实例。它可以是一个回调函数&#xff0c;这个回调函数会在组件被挂载后立即执行。 为了防止内存泄漏…

C语言笔试题之实现C库函数 pow()(递归的思想)

实例要求&#xff1a; 1、请你实现C库函数 pow()&#xff08;stdio.h & math.h&#xff09; &#xff0c;即计算 x 的整数 n 次幂函数&#xff08;即x^n &#xff09;&#xff1b;2、函数声明&#xff1a;double myPow(double x, int n)&#xff1b;参数&#xff1a;1、x …