【LLM大模型】Prompt Engineering——Prompt编写模式

提示工程(Prompt Engineering)是LLM中一种技术,应用于开发或优化提示词(Prompt),帮助用户有效地将语言模型应用于各种场景和研究领域。它可以在不更新/改变模型的权重/参数的情况下,引导LLM朝特定方向拟合,激发LLM的潜力。所以,理解提示工程,能够帮助我们更好地了解LLM的限制和能力。

想要理解Prompt Engineering,那么我们首先应该知道什么是Prompt。

1. Prompt

Prompt是模型接收以生成响应或完成任务的初始文本输入,用于与自然语言处理模型(例如GPT)进行交互。Prompt 可以是一个问题、一段描述、一组关键词,或任何其他形式的文本,可以启动模型并产生与 Prompt 相关的输出。这个输出可以是一个单独的单词、一句话,或者是一段完整的段落。它可以控制模型的行为,使其产生特定的结果。

2. Prompt Engineering

提示工程(Prompt Engingering),也被称为在上下文中提示,是指如何与 LLM 通信的方法,以引导其行为为期望的结果,而无需更新模型权重。提示工程关注提示词的开发和优化,帮助用户将大模型用于各场景和研究领域。这是一门经验科学,Prompt Engingering的效果在不同模型之间可能有很大差异,因此需要大量的试验和启发。

因此,提示工程旨在获取这些提示并帮助模型在其输出中实现高准确度和相关性,掌握提示工程相关技能将有助于用户更好地了解大型语言模型的能力和局限性。特别地, 矢量数据库、agent和prompt pipeline已经被用作在对话中,作为向 LLM 提供相关上下文数据的途径。

提示工程不仅仅是关于设计和研发提示词。它包含了与大语言模型交互和研发的各种技能和技术。提示工程在实现和大语言模型交互、对接,以及理解大语言模型能力方面都起着重要作用。用户可以通过提示工程来提高大语言模型的安全性,也可以赋能大语言模型,比如借助专业领域知识和外部工具来增强大语言模型能力。例如,流水线、Agent代理、CoT思维链等基于 LLM 的实现都是以某种形式的提示工程为前提的。

提示工程可以帮助改善大语言模型的性能,使其更好地满足用户需求。

3. Prompt编写模式

在这里,我们讨论一些编写 Prompt(模型的输入)的原则和技术,这将帮助您为您的任务获得最佳生成。

在这里插入图片描述

主要原则

我们发现,在为我们的模型设计 Prompt 时,需要记住两个主要概念:任务描述以及任务本身的输入。

1. Prompt 指导模型生成有用的输出

例如,如果你想要获取一篇文章的摘要,那么,如果你像下面这样引导它,经过足够数据训练的大型语言模型可以生成摘要:

在这里插入图片描述

该提示由两个部分组成:你想要总结的文本和任务描述。

ps. 下面都将在该示例的基础上进行相关讨论。

2. 尝试多种Prompt形式以获得最佳生成

当进行生成时,尝试一系列不同的 Prompt 来解决你要解决的问题是很有用的。相同 Prompt 的不同表达方式间对人们来说可能十分相似,没什么区别,但对LLM,它们可能会产生完全不同的生成结果。因为我们的模型在不同的上下文或不同的目的,实际上学习到了不同不同的表达方式。我们根据前面的例子,使用不同的表达方式,发现这些例子在不同的任务中效果可能特别好。

在摘要示例中,如果包含短语“In summary”并不能带来好的生成效果,我们可能需要尝试其他方式,比如“用通俗易懂的语言进行总结”或“从本文中得出的要点是”。

此外,你还可以在 playground 上使用可能性特征,看看是否有特定的单词、短语或结构让模型难以理解。然而,请记住,在序列的开头,令牌的平均可能性总是很高。该模型可能会认为第一次引入新概念或名称的可能性很低,但在它看到一个新术语后,它可以很容易地在新的生成中使用它。你还可以使用可能性功能来查看是否有任何拼写或标点符号会给 tokenization 带来问题。

3. 描述任务和总体设置

在这里插入图片描述

在任务描述中包含其他组成部分通常很有用。当然,这些往往出现在我们尝试处理的输入文本之后。

为模型提供足够的上下文。例如,在包含我们希望模型总结的文章之前,我们可以更详细地描述总结任务。

在这里插入图片描述

示例:塑造我们需要模型执行的任务可能涉及在我们要处理的输入文本之前和之后使用文本。

让我们通过看一个不同的例子来考虑这个问题的更多方面。假设您想使用我们的模型,通过自动生成对客户请求的合理响应来帮助您的客户满意度部门(注意:生成不会发送给客户,这只是一个模拟)。
客户向您的公司提出以下问题:

嗨,我想为我订购的咖啡机退款。这可能吗?

我们如何围绕这一点设计一个提示,为代理商与客户互动提供有用的 generation?让我们从告诉模型一般设置是什么以及提示的其余部分将包含什么开始:

这是一位客户和一位礼貌、乐于助人的客服人员之间的对话。顾客的问题:嗨,我想为我订购的咖啡机退款。这可能吗?

很好,我们已经告诉了我们的模型应该期待什么,并明确表示我们的查询是一个客户问题。接下来,让我们向模型展示我们想要给客户的响应。

客服人员回复:您好,谢谢您联系我们。是的,

请注意,我们已经明确表示,下一句话是对问题的回答,它来自客户服务代理,我们希望给出一个积极的答案。综上所述,我们得到以下 Prompt:

这是一位客户和一位礼貌、乐于助人的客服人员之间的对话。顾客的问题:嗨,我想为我订购的咖啡机退款。这可能吗?客服人员回复:您好,谢谢您联系我们。是的,

在这里插入图片描述

提示的某些组件(例如输入和输出指示器)对于向模型描述所需的任务非常有用,特别是当提示中包含多个示例时(如下图所示)。

将其多次输入到我们的Medium模型中会产生以下 completions:

- 是的,如果产品未使用且未开封,我们可以接受退货。
- 是的,我们很乐意为您退款。但是,需要您将商品退回仓库,以便获得全额退款。
- 是的,我们可以做到。请给我们发一条信息,包括您的姓名、电话号码和退款原因。我们会尽快回复您。

请注意,尽管这是一个简化的例子,但我们只使用少量的客户服务交互就可以从基线模型中得到合理的 completions!这可以通过对您希望模型如何处理特定问题和请求的示例进行微调来进一步改进。

4. 向模特展示你想看到的内容

在这里插入图片描述

在提示中添加示例是实现良好生成的关键之一。示例向模型展示了我们目标的输出类型。

举几个你想要的生成类型的例子。这称为小样本学习。让我们看一个例子。假设您想使用我们的模型来分类电影评论是正面、负面还是中立。想象一下,您将以下提示输入到我们的模型中:

评论:“我真的很喜欢这部电影!”这篇评论的情绪是

根据我们的 Medium 模型的提示,实际生成如下:

考虑到电影的情节,这篇评论的这种情绪是恰当的,

显然,这不是我们想要的。

在这里插入图片描述

提示中的示例应包括示例输入和我们希望模型模拟的输出。

如果我们将所有这些整合到一个新的提示中,中等一代模型就会可靠地产生积极的结果。

这是一个电影评论情感分类器。评论:“我喜欢这部电影!”这篇评论是积极的。评论:“我不知道,我猜还不错……”此评论是中立的。评论:“真是浪费时间,不会推荐这部电影。”此评论是否定的。评论:“我真的很喜欢这部电影!”这篇评论是

此提示的更简单版本可以如下所示:

在这里插入图片描述

一个将高质量提示的组件组合在一起的示例。它还可以帮助重复每个示例的任务描述,以强调对模型的指导。

少样本生成通常更适合我们较大的模型。您可以使用似然端点来查看模型对于示例中给出的正确答案的不确定性。

如果此命令格式不起作用,请尝试更基于散文的结构。与生成模型交互的一种直观方法是为其提供与您想要的生成类型相关的命令,例如: 给出一个艺术职业列表:。然而,由于我们的模型看到的大部分文本都是互联网文章,有时这种写作方式会被误解。将命令改写为散文会产生所需的输出:

该表列出了以下职业作为艺术职业:1. 画家 2.

一般来说,您可能想要尝试不同的写作风格,直到获得有效的东西。例如,以新闻文章、博客文章或对话的风格进行写作。

实例

在这里,我们通过查看两个特定任务来展示如何应用上述原则:根据给定的段落生成关键字,并根据一些现有示例生成其他示例。

关键字生成: 假设我们有一些文本段落,我们希望使用文本中出现的最相关的概念自动标记这些文本段落。然后,我们向模型展示我们希望它执行的两个示例:将约翰·冯·诺依曼的维基百科页面中的一段段落标记为“约翰·冯·诺依曼”,并将维基百科中关于女权主义的页面中的一段段落标记为“女权主义”。最后,我们为模型提供了 Python 维基百科页面上的一段话。

这是一个机器人,可以自动为给定的文本段落找到最重要的关键字。文中:“约翰·冯·诺依曼(John von Neumann,匈牙利语:Neumann János Lajos,发音为[ˈnɒjmɒn ˈjaːnoʃ ˈlɒjoʃ];1903年12月28日-1957年2月8日)是一位匈牙利裔美国数学家、物理学家、计算机科学家、工程师和学者数学家”。[3]他把纯粹科学和应用科学结合在一起。“最重要的关键词:”约翰·冯·诺依曼“文本:”一些学者认为女权运动是推动妇女权利重大历史社会变革的主要力量,特别是在西方,在西方,女权运动几乎被普遍认为实现了妇女的选举权、中性语言、妇女的生殖权利(包括获得避孕药具和堕胎),以及签订合同和拥有财产的权利。[9] 尽管女权主义倡导现在和过去都主要关注妇女权利,但一些女权主义者主张将男性解放纳入其目标,因为他们认为男性也受到传统性别角色的伤害。[10] 女权主义理论产生于女权主义运动,旨在通过考察女性的社会角色和生活经历来理解性别不平等的本质;女权主义理论家发展了各种学科的理论,以应对有关性别的问题。“最重要的关键词:”女权主义“文本:”Guido van Rossum在20世纪80年代末开始研究Python,作为ABC编程语言的继任者,并于1991年首次发布Python 0.9.0。[31]Python 2.0于2000年发布,并引入了新功能,例如列表理解和使用引用计数的垃圾收集系统,并于2020年在2.7.18版本中停止使用。[32]Python 3.0于2008年发布,是该语言的一个主要修订版,该语言不完全向后兼容,许多Python 2代码不会在Python 3上未经修改地运行。”最重要的关键词:

此提示可靠地生成“Python”作为答案 - 有时还会返回“Guido van Rossum”,这是另一个看似合理的选项。

示例生成。 一个常见的任务是尝试让模型根据某些描述生成示例。按照以下样式将提示制定为列表往往效果很好。

以下是为游览多伦多的游客撰写的博客文章创意列表:1. 多伦多最佳景点 2. 我最喜欢的多伦多散步

这给了我们这样的生成结果,例如:

3. 多伦多概况 4. 多伦多活动 5. 多伦多餐厅 6. 多伦多购物 7. 多伦多旅游小贴士 8. 多伦多观光 9. 多伦多可以玩什么

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)

在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

LLM大模型学习路线

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值