Prompt提示工程上手指南:基础原理及实践(一)

news2024/11/15 12:39:29

想象一下,你在装饰房间。你可以选择一套标准的家具,这是快捷且方便的方式,但可能无法完全符合你的个人风格或需求。另一方面,你也可以选择定制家具,选择特定的颜色、材料和设计,以确保每件家具都符合你的喜好和空间要求。

比如,选择一个特制的沙发,你可以决定其尺寸、布料类型、甚至是扶手的样式。你还可以根据房间的主题选择颜色,甚至添加一些独特的装饰,比如刺绣或特别的缝线。

这就是Prompt工程的概念。就像你通过选择不同的设计元素来定制家具一样,Prompt工程涉及对AI的输入进行精细调整,以获得更加贴合需求的结果。通过改变、添加或精确化输入的提示,你可以引导AI产生更符合特定要求或风格的输出,就像为房间挑选和定制合适的家具一样。

很多人对语言大模型的认知和理解局限于智能回答层面,将它定位为取代搜索平台的智能应答机器人。但是随着更多大模型在各个领域应用的逐渐渗入,更多企业业务落地场景也在不断挖掘,人们会逐渐意识到大模型的能力远不止仅仅的问答作用。如果我们想要开始正式深入学习大模型的应用,迈开的第一步就会了解到Prompt提示工程,本系列文章将Prompt提示工程从简入深全面讲解以及实际落地运用,赋能不限于直媒体运营、AIGC文案生成,以及语音视频合成方面的运用。

在这里插入图片描述

1.什么是Prompt工程?

在AI语境中,"Prompt"通常指的是向模型提出的一个请求或问题,这个请求或问题的形式和内容会影响模型的输出。例如:在一个文本生成模型中,提示可以是一个问题、一个话题或者是一段描述,模型根据这个提示生成相应的文本。Prompt工程是指人们向生成性人工智能(AI)服务输入提示以生成文本或图像的过程中,对这些提示进行精炼的过程。任何人都可以使用文言一心和DALL-E这样的生成器,通过自然语言来进行操作。这也是AI工程师在使用特定或推荐提示对大型语言模型(LLMs)进行精炼时使用的技术。

例如,如果你在使用文言一心来头脑风暴你的简历的专业概述时,你可能会写下这样的命令:“为市场分析师编写一个样本专业概述。”对于文言一心的回答,你可能会给出像“太正式”或“缩短到不超过100个词”这样的反馈。而Prompt工程就是不断整理优化每一次的提示词,让LLM能够做出最符合我们需要的效果回答。在某些情况下,调整提示可能是提高模型输出质量的唯一途径,特别是在使用那些不允许直接修改内部机制的预训练模型时。

在这里插入图片描述

我们再来看看ChatGPT的Prompt工程师给的例子:

2.Prompt工程师主要做什么?

Prompt工程师的主要工作是设计、优化和精炼用于生成性人工智能系统的提示(prompts)。这些提示是指导AI系统生成特定输出的文本输入,例如文本、图像或代码。Prompt工程师的角色在不同的AI应用领域中可能有所不同,主要是根据对于的业务场景来构建特征提示词。Prompt工程师对于人工智能工程师创造更好的服务很重要,比如处理客户服务任务或生成合法合同的聊天机器人。确保像文言一心这样的生成性人工智能服务能够提供输出,需要工程师构建代码,并根据广泛准确的数据对人工智能进行培训。

在数据驱动的大世界里,我们已经到了一个地步,训练人工智能模型可以帮助更高效地提供解决方案,而无需手动对大量数据进行排序。适当的Prompt工程师还可以识别和减轻注入攻击(恶意入侵ChatGPT或聊天机器人背后的逻辑),以确保公司提供一致和准确的服务。Coursera对Prompt工程师的要求有:

Prompt engineers need to be skilled in the fundamentals of natural language processing(NLP), including libraries and frameworks, Python programming language, generative AI models, and contribute to open-source projects.

Prompt工程师需要熟练掌握自然语言处理(NLP)的基础知识,包括库和框架、Python编程语言、生成人工智能模型,并为开源项目做出贡献。成功的提示往往依赖于“一次性”或“少量”学习的实践。这是指通常通过包括输入和输出对来包括模型的期望行为的一个或多个示例。这不是在模型被永久改变的意义上的学习,而是在示例更好地调节模型,使其仅对当前推理做出所需的响应。使用没有示例的提示有时被称为“零样本”学习。使用Chat Completion API,通常会在初始系统消息之后以示例用户/助手交互的形式向消息阵列中添加少量的热学习示例:

Learning TypePromptCompletion
Zero-shotHeadline: Coach confident injury won’t derail Warriors Topic:The coach is confident that the injury won’t derail the Warriors’ season. The team is still focused on their goals and that they will continue to work hard to achieve them.
Few-shotHeadline: Twins’ Correa to use opt-out, test free agency Topic: Baseball Headline: Qatar World Cup to have zones for sobering up Topic: Soccer Headline: Yates: Fantasy football intel for Week 6 Topic: Football Headline: Coach confident injury won’t derail Warriors Topic:Basketball

Prompt工程师一般会根据其目的和设计方式将Prompt分为几个主要类别:

零样本(Zero-shot)Prompting

  • 在这种情况下,prompt被设计成直接询问模型一个问题或请求,而不提供任何特定的训练例子。
  • 这种方法依赖于模型已经通过预训练获得的知识。

单样本(One-shot)或少样本(Few-shot)Prompting

  • 这种方法在prompt中包含一个或几个示例,以指导模型如何响应。
  • 这些例子充当了模型应该如何处理类似情况的示范。

链式(Chain-of-thought)Prompting

  • 在这种方法中,prompt被设计为引导模型展示其思考过程,尤其是在解决复杂问题时。
  • 这有助于提高模型输出的透明度和可解释性。

模板式(Template-based)Prompting

  • 在这种情况下,prompt是根据特定的模板或结构来设计的,这些模板旨在有效地激发模型的正确响应。
  • 这种方法通常用于具体的应用场景,如文本分类或实体识别。

对话式(Conversational)Prompting

  • 这种prompt设计为对话形式,模拟自然语言对话场景,以引导模型在对话环境中产生响应。
  • 这种方式适用于聊天机器人和交互式应用。

任务特定(Task-specific)Prompting

  • 这类prompt专门为特定的任务或应用场景量身定制,如翻译、摘要、问题回答等。
  • 这种方法强调根据任务需求来优化prompt的设计。

这里仅展开一个具体Prompting给大家演示,并不展开所有形式,后续文章将会详细讲解,以模板式(Template-based)Prompting为例:

任务:对给定的文本段落进行情感分析,判断它是正面的、负面的还是中性的。

模板式Prompt

  • “文本:[待分类的文本段落]
  • 情感分析结果:这段文本的情绪是[正面/负面/中性]。”

在这个例子中,模板由两部分组成:

  1. “文本:”后跟随待分类的文本段落。
  2. “情感分析结果:”引导模型基于所提供的文本作出情感分类。

使用模板式Prompt的一个具体例子可能是:

  • “文本:我今天过得非常愉快,天气晴朗,和朋友们度过了美好的一天。
  • 情感分析结果:这段文本的情绪是[正面/负面/中性]。”

在这里插入图片描述在这里插入图片描述

本章内容已经足够多了,下篇文章将展开Prompt在不同场景下的构建和使用。

想要获取更多内容欢迎私聊交流,点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

本章内容已经足够多了,下篇文章将展开Prompt在不同场景下的构建和使用。

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

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

相关文章

跨国制造业组网方案解析,如何实现总部-分支稳定互联?

既要控制成本,又要稳定高效,可能吗? 在制造企业积极向“智造”发展、数字化转型的当下,物联网、人工智能、机器人等新型设备加入到生产、管理环节,为企业内部数据传输提出了更高的要求。而当企业规模扩大,数…

DevOps搭建(十四)-基于Jenkins流水线方式部署详细步骤

1、新建一个流水线项目 进入配置最下方的流水线,可以选择Hello World最简单的demo体验。 2、编写流水线脚本 2.1、编写整体的流水线脚本 整体他脚本格式如下,我们只要在对应的 //所有的脚本命令都放在pipeline中 pipeline {//指定任务在哪个集群节点中…

test mutation-00-变异测试概览

拓展阅读 test 系统学习-04-test converate 测试覆盖率 jacoco 原理介绍 test 系统学习-05-test jacoco 测试覆盖率与 idea 插件 test 系统学习-06-test jacoco SonarQube Docker learn-29-docker 安装 sonarQube with mysql Ubuntu Sonar 突变测试是什么? …

C语言编译器(C语言编程软件)完全攻略(第十八部分:VC6.0(VC++6.0)下载地址和安装教程(图解))

介绍常用C语言编译器的安装、配置和使用。 十八、VC6.0(VC6.0)下载地址和安装教程(图解) 截止到2016年07月06日,C语言中文网提供的VC6.0安装包,下载量已超过150万次,收到反馈超过300条。 微软…

HTML5大作业-精致版个人博客空间模板源码

文章目录 1.设计来源1.1 博客主页界面1.2 博主信息界面1.3 我的文章界面1.4 我的相册界面1.5 我的工具界面1.6 我的源码界面1.7 我的日记界面1.8 我的留言板界面1.9 联系博主界面 2.演示效果和结构及源码2.1 效果演示2.2 目录结构2.3 源代码 源码下载 作者:xcLeigh …

【网络安全】【密码学】常见数据加(解)密算法及Python实现(二)、椭圆曲线密码ECC

本文介绍椭圆曲线密码及其Python实现。 一、实验目的 1、 掌握椭圆曲线上的点间四则运算和常见的椭圆曲线密码算法; 2、 了解基于ECC的伪随机数生成算法和基于椭圆曲线的商用密码算法。 二、算法原理 1、算法简介 椭圆曲线密码学(Elliptic Curve Cr…

web学习笔记(九)

目录 1.初识JS(JavaScript) 1.1什么是JavaScript? 1.2HTML5 CSS3 javaScript三者的关系 1.3 JAVAScript的作用 1.4JAVAScript的组成部分 1.5JS注释 1.6补充知识 2.JS的引入方法 2.1行内式 2.2嵌入式(内嵌式) 2.3外链式 3.输入和…

使用docker build构建image

文章目录 环境步骤准备例1:基本用法例2:缓存layer例3:Multi-stage例4:Mountcache mountbind mount 例5:参数例6:Export文件例7:测试 参考 环境 RHEL 9.3Docker Community 24.0.7 步骤 在Dock…

Protobuf 安装与使用

Protobuf 安装与使用 1 环境2 安装 [apt安装]2 安装 [源码安装]1 依赖2 下载 protobuf3 解压4 编译安装5 配置环境 2 命令查看版本卸载 3 使用书写 .proto 文件编译 .proto 文件生成 cpp 文件编写 cpp 文件编译运行 参考 1 环境 ubuntn 20.04 protobuf v3.6.1 2 安装 [apt安装…

如何在 Ubuntu 20.04 上安装和使用 Docker

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 如何在 Ubuntu 20.04 上安装和使用 Docker 介绍 Docker是一个可以简化容器中应用程序进程管理过程的应用程序。…

uniapp中的导入zzx-calendar日历的使用

需求&#xff1a; 一周的日历&#xff0c;并且可以查看当月的 &#xff0c;下个月的&#xff0c;以及可以一周一周的切换日期 借助&#xff1a;hbuilder插件市场中的zzx-calendar插件库 在父组件中引入 并注册为子组件 <template><zzx-calendar selected-change&qu…

设计模式③ :生成实例

文章目录 一、前言二、Singleton 模式1. 介绍2. 应用3. 总结 三、Prototype 模式1. 介绍2. 应用3. 总结 四、Builder 模式1. 介绍2. 应用3. 总结 五、Abstract Factory 模式1. 介绍2. 应用3. 总结 参考内容 一、前言 有时候不想动脑子&#xff0c;就懒得看源码又不像浪费时间所…

LiveGBS流媒体平台GB/T28181常见问题-国标编号是什么设备编号和通道国标编号标记唯一的摄像头|视频|镜头通道

LiveGBS国标GB28181中国标编号是什么设备编号和通道国标编号标记唯一的摄像头|视频|镜头通道 1、什么是国标编号&#xff1f;2、国标设备ID和通道ID3、ID 统一编码规则4、搭建GB28181视频直播平台 1、什么是国标编号&#xff1f; 国标GB28181对接过程中&#xff0c;可能有的小…

flutter版本升级后,解决真机和模拟器运行错误问题

flutter从3.3.2升级到3.16.0&#xff0c;项目运行到真机和模拟器报同样的错&#xff0c;错误如下: 解决办法&#xff1a;在android目录下的build.gradle加入下面这行&#xff0c;如下图&#xff1a; 重新运行&#xff0c;正常把apk安装到真机上或者运行到模拟器上

PC+Wap仿土巴兔装修报价器源码 PHP源码

核心功能&#xff1a; 业主自助预算计算&#xff1a;通过简洁的界面&#xff0c;业主可以输入装修需求&#xff0c;系统自动进行预算计算信息自动收集&#xff1a;系统自动收集业主的基本信息&#xff0c;如姓名、联系方式、房屋面积等一键发送报价&#xff1a;业主完成预算计…

Apache Doris 2.0.2 安装步骤 Centos8

Linux 操作系统版本需求 Linux 系统版本当前系统版本CentOS7.1 及以上CentOS8Ubuntu16.04 及以上- 软件需求 软件版本当前版本Java1.81.8.0_391GCC4.8.2 及以上gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4) 1、查看操作系统版本 方法 1&#xff1a;使用命令行 打开终端或…

springboot第46集:Nginx,Sentinel,计算机硬件的介绍

image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png 什么是单点容错率低&#xff1a; 单点容错率低指的是系统中存在某个关键节点&#xff0c;一旦这个节点发生故障或崩…

Apache SeaTunnel:探索下一代高性能分布式数据集成工具

大家下午好&#xff0c;我叫刘广东&#xff0c;然后是来自Apache SeaTunnel社区的一名Committer。今天给大家分享的议题是下一代高性能分布式海量数据集成工具&#xff0c;后面的整个的PPT&#xff0c;主要是基于开发者的视角去看待Apache SeaTunnel。后续所有的讲解主要是可能…

基于spark的Hive2Pg数据同步组件

一、背景 Hive中的数据需要同步到pg供在线使用&#xff0c;通常sqoop具有数据同步的功能&#xff0c;但是sqoop具有一定的问题&#xff0c;比如对数据的切分碰到数据字段存在异常的情况下&#xff0c;数据字段的空值率高、数据字段重复太多&#xff0c;影响sqoop的分区策略&…

飞塔FortiGate-1000C设备引进助力易天构建网络安全新防线

在当今数字化浪潮的推动下&#xff0c;企业对网络安全的需求日益迫切。为了应对不断升级的网络威胁&#xff0c;给客户提供最为优质的产品&#xff0c;易天引进了最新兼容性测试设备飞塔FortiGate-1000C&#xff0c;为光模块产品交付提供了更强劲的性能保障。 FortiGate-1000C是…