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

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

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

这就是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.mzph.cn/news/598355.shtml

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

相关文章

Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found

IDEA创建spring boot项目的时候,pom.xml 文件中spring-boot-maven-plugin报红。 解决方法: 给spring-boot-maven-plugin指定版本 原因: idea自动找的插件版本是其他版本的,和自己设置的不同,导致idea在本地maven仓库…

聊一聊 C# 线程切换后上下文都去了哪里

一:背景 1. 讲故事 总会有一些朋友问一个问题,在 Windows 中线程做了上下文切换,请问被切的线程他的寄存器上下文都去了哪里?能不能给我挖出来?这个问题其实比较底层,如果对操作系统没有个体系层面的理解…

一元脱单盲盒小程序源码系统:自带流量主,低成本帮你赚钱 带完整的安装部署教程

“一元脱单盲盒”小程序源码系统是一款基于微信小程序开发的社交应用。它以盲盒的形式,让用户以极低的成本(通常为一元)尝试与陌生人建立联系。用户支付一元后,系统会随机匹配一位异性用户的信息(通常是微信号或联系方…

Linux 内核调试

文章目录 一、方法论 一、方法论 qemu 虚拟机 Linux内核学习 Linux 内核调试 一:概述 Linux 内核调试 二:ubuntu20.04安装qemu Linux 内核调试 三:《QEMU ARM guest support》翻译 Linux 内核调试 四:qemu-system-arm功能选项整…

uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -后端架构搭建

锋哥原创的uniapp微信小程序投票系统实战: uniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )_哔哩哔哩_bilibiliuniapp微信小程序投票系统实战课程 (SpringBoot2vue3.2element plus ) ( 火爆连载更新中... )共计21条视频…

Java接口和抽象类的区别?

Java接口和抽象类的区别? Java接口和抽象类的含义: 接口(Interface): 含义: 接口是一种抽象类型,它定义了一组抽象方法,但不能包含具体实现。接口可以包含常量和默认方法&#xff0c…

单目标跟踪算法SiamRPN

目标跟踪算法包括单目标跟踪和多目标跟踪,单目标跟踪在每张图片中只跟踪一个目标。目前单目标跟踪的主要方法分为两大类,基于相关滤波(correlation filter)的跟踪算法, 如CSK, KCF, DCF, SRDCF等;基于深度学习的跟踪算法&#xff…

PPI+机器学习+免疫浸润+实验验证,如此简单也能发4+

今天给同学们分享一篇生信文章“Identification of metabolic biomarkers associated with nonalcoholic fatty liver disease”,这篇文章发表在Lipids Health Dis期刊上,影响因子为4.5。 结果解读: 识别NAFLD患者的MR DEG 主成分分析&…

分布式图文详解!

分布式理论 1. 说说CAP原则? CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性)这3个基本…

C# xml序列化和反序列化

问题 有的项目使用webservice返回结果是xml,需要进行xml序列化和反序列化 xml序列化相关特性 C#中,XML序列化相关的特性主要包括: XmlIgnore:这个特性可以用来指示序列化过程忽略一个属性或一个字段。当使用XmlIgnore特性时&a…

服务注册中心

服务注册中心 注册中心与CAP理论介绍 1.注册中心 服务注册中心是微服务架构中的一个关键组件,它的主要作用是管理服务实例的注册、维护和发现。 是一个中心化的组件来分散的微服务实例的位置和状态。 注册中心有三种角色构成: 服务提供者&#xff1a…

SSM框架注解大全

先赞后看,养成习惯!!!❤️ ❤️ ❤️ 文章码字不易,如果喜欢可以关注我哦! ​如果本篇内容对你有所启发,欢迎访问我的个人博客了解更多内容:链接地址 SSM框架注解大全 三大框架注解…

跨境电商竞品分析:洞察市场,赢得先机的关键策略

在全球化日益加速的今天,跨境电商已经成为了企业拓展市场、提高销售额的重要手段。然而,跨境电商市场的竞争也日趋激烈,如何在众多竞争对手中脱颖而出,成为每个企业都面临的挑战;想要做到这点,了解竞品情况…

Apache Doris (六十一): Spark Doris Connector - (1)-源码编译

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 目录 1. Spark Doris Connector…

【Python】开始你的Python之旅(Anaconda、Pycharm、Jupyter)

Python工具准备 下载安装AnacondaPycharmJupyter Notebook 启动使用AnacondaPycharmJupyter Notebook 引言: 信息时代,计算机引领。人工智能,Python是基础。信息时代学习好Python乃是在人工智能时代的立足之本。 本文: 做好Pyth…

开发者必备的 Github 加速工具(截至2024年01月)

开始闲聊前,我要感谢大神小青龍总结的博文:作为程序员不得不知道的几款Github加速神器,给我们介绍了常用(较为合规😄)的加速方法。毕竟 github 是开发者绕不过的宝库。 背景 我用 Github 将近12年&#x…

初步认识架构分层

一般初创软件,为快速上线,几乎不考虑分层。但随业务越发复杂,就会导致逻辑复杂、模块相互依赖、代码扩展性差等各种问题。 架构分层迫在眉睫。 1 什么是架构分层? 软件工程中常见的设计方式,将整体系统拆分成N个层次,…

3D空间漫游技术的日趋成熟,让博物馆数字化大放异彩!

随着科技的飞速发展,互联网已经成为人们生活中不可或缺的一部分。在这个数字化时代,博物馆也紧跟时代潮流,将传统的实体博物馆与现代科技相结合,诞生了一种全新的博物馆形式——3D线上博物馆。这种新型博物馆凭借其独特的魅力&…

SemCms外贸网站商城系统 SQL注入漏洞复现(CVE-2023-50563)

0x01 产品简介 SemCms是国内团队打造的专门针对外贸网站的开源CMS,主要用于外贸企业,兼容IE,Firefox等主流浏览器。建设商城性质的外贸网站,多语言(小语种)网站。 0x02 漏洞概述 SemCms外贸网站商城系统SEMCMS_Function.php 中的 AID 参数存在SQL注入漏洞,未经身份认…

数据库:基础SQL知识+SQL实验2

(1)基础知识: 1.JOIN(连接): 连接操作用于根据指定的条件将两个或多个表中的数据行合并在一起。JOIN 可以根据不同的条件和方式执行,包括等值连接、不等值连接等。 (1&#xff09…