学习笔记 | 基于大模型的优质 Prompt 开发课

news2024/11/27 14:49:36

文章目录

  • 一、前言
  • 二、主要内容
  • 三、总结

🍉 CSDN 叶庭云https://yetingyun.blog.csdn.net/


一、前言

手把手带你构建高质量 Prompt,掌握以文心一言为代表的大模型对话技巧与高级用法,与大模型高效交流从而释放大模型强大的生成能力。无需工程基础、会打字就能学的大模型时代必备技能

在这里插入图片描述

课程内容涵盖优质 Prompt 构建方式、优化技巧、场景应用等全栈知识。该课程手把手教授如何构建高质量提示词,掌握大型模型对话技巧和高级用法,以便利用大型语言模型的生成能力。无需技术基础,仅需会打字即可。课程共四节课,包括基础构建方式、优化技巧和应用场景等实践知识。无论甚至没有计算机背景也可以在此课程中学习如何使用大型模型以提高生产效率。

  • 【文心一言官网】
  • 【文心大模型官网】
  • 【AI Studio 课程主页】
  • 【大模型时代入场级技能:提示词工程!百度文心中文教程来啦】

二、主要内容

对于同一个大模型,给予不同的提示词(Prompt:即用于触发或引导大模型生成内容的输入文本)会生成不同的结果,通俗说就是用户输入给大模型的问题。而提示词工程本质上是一种通过优化提示词来改进模型生成结果的质量的方法。

可以说谁掌握了提示词工程(Prompt Engineering)能力,谁就拿到了释放大模型强大生成能力的钥匙。

第一课 开始构建你的优质 Prompt

大规模预训练语言模型(LLMs)是目前最高效的 Al 生成技术。当模型能够习得的知识量级越来越大,其生成的内容亦呈现出无限可能

AI 生成技术价值概览

LLMs 涌现出的三大能力

  • 上下文学习(In-context Learning)
  • 指令遵循(Instruction Following)
  • 思维链推理(CoT,Chain-of-Thought)

Prompt 基本定义:驱动大模型进行表达的文本描述。大模型时代需要创造优质的 Prompt,使用优质的 Prompt 才能生成优质的内容。

请用小红书的种草风格,写一篇关于“阿玛尼405口红(烂番茄色)”的种草推文需要多用点emoji表情,活泼可爱的语气,最后加tag,不超过250字。

画一幅画,呆萌的小猫躺在大泡泡中,可爱温柔,动漫风格,暖系色调,居中,面对镜头,虚幻引擎,棉花糖质感,光线追踪,机制细节,质感细腻,8K,超高清,超广角,极致清晰,丁达尔效应。

在这里插入图片描述

在这里插入图片描述

bad prompt VS good prompt 生成效果差异巨大,真正有产业 / {/} /社会价值的是后者。

AIGC 新一代内容生产方式

虽然不同任务对优质 Prompt 的定义不同,但通常满足以下三点即可视为优质 Prompt:

  • 表达清晰。通俗易懂,表达简洁清晰,做到不仅可以让模型生成出好的内容,也方便普通人明白其中含义。典型案例:虽然使用特殊符号等非结构化提示词,也有概率产生不错效果。但其并不具备可读性,而且未来可能会随版本迭代失去其作用。
  • 通用性强。在同类任务上,更换主体词后仍有不错效果。典型案例:一副绘制二次元猫猫头像的提示词,在更换主体词为狗狗时,仍然可以生成高质量头像。
  • 生成稳定。相同提示词情况下,多次生成的内容足够稳定。典型案例:有些提示词生成 10 次才可能有 1 次满足我们使用需求,而有些则会是更多次数,不够稳定的提示词会影响工作效率。

Prompt 通用公式 = 任务+生成主体+细节(可选)+形式(可选)

第二课 生产更好的提示词 — Prompt 优化技巧

Prompt 优化原理:通俗来说,给模型输入什么数据(训练数据可能的格式和标注),模型就会尝试学习什么内容。

十个技巧高效优化 Prompt,三个大类,十个技巧。

  • 迭代法。创作评估、基础创作、多轮次交互。
  • Trick 法。戴高帽、增加引导语、Few-Shot、增加假设。
  • 工具法。检索类工具、优化类工具、收纳类工具。

通用技巧│定基础。小试牛刀:任务+内容主体能否生成出一个还可以的答案?

  • 优先保证任务+生成主体能够生成出我们想要的内容。
  • 在给出任务+生成主体的情况下,模型生成效果较差,可能增加细节词也无济于事。

通用技巧│做强调。以专业影评为例:一般会覆盖情节、主题和基调、演技和角色、方向、配乐、电影摄影、制作设计、特效、剪辑、节奏、对话等主题

  • 顺序:因为训练时的语料长度并非是固定字数,所以越靠后的需求描述越有可能会 “权重降低”,将对应需求靠前排布会更有助于提升影响。
  • 强调词:描述某一点是自己非常看中的内容,增加 “非常”、“强调”、“务必” 等词汇来强调自己需求重要程度。
  • 语言风格:优化个人语言表达方式,尽可能官方、清晰、有逻辑。

通用技巧│做预设

  • 预设大模型的功能以及使用方式,后续更换其他主体词时能够达到事半功倍的效果。
  • 交互更多是细节的展示以及内容延伸。不建议作为细碎的需求修改方式,因为模型能够记忆的内容可能会随多次对话而失去信息。

Trick 法 | 戴高帽。举个例子:某大师级摄影师拍了一张喀纳斯湖风景照,然后把作品命名为新疆喀纳斯奇观,那么这组数据经过加标签、提取对象等操作后可能是 “xx大师,新疆喀纳斯,巨大湖面,奇观.….”,而其他喀纳斯湖的照片就质量高,也不会有 “大师” 标签。同理,我们如果想生成某种风格的画面,也可以把风格名字带上去,例如像素风、二次元、赛博朋克等。

  • 以礼貌和正式的语气去夸一下它,交互出来的数据质量是高一些的。
  • 可能就是调用到了一些好的标签,或者说质量好的那部分权重,这样模型的输出结果也会好。

Trick 法 | 说好话。一般在教小孩子的时候,父母或老师会说:“多想一想”、“你这个答案是怎么得到的呀” 这样的话就能得到更好的效果。大模型也适用,因为加入了适用于学习 “思维链” 的数据。

  • 同理,由于人类沟通中比较礼貌、友善的数据更容易被回复更准确的答案。
  • 因此我们在输入 Prompt 的时候,也多些礼貌友善,能获得更好的效果哦。
  • 讲文明、有礼貌、树新风。好话语境中的数据质量高。

Trick 法 | Few-Shot(给提示)

  • 之前我们提到的都属于 Zero-Shot,就是不给模型额外数据的情况下让模型作答,那么我们给出少量样例后模型是不是就能做好呢?
  • 通过左图示例可以看见,在给出少量样例后,模型就能给出更好结果了。

Trick 法 | 做假设(防止模型硬编和一本正经胡说八道)

  • 尽管我们使用了很多方式让模型生成效果尽可能更加准确,但如上节课所讲,由于数据和采样策略的原因,我们很难保证大模型在生成时不会说胡话,那么使用 “增加假设” 的方式就可以让模型在有些犹豫时不进行瞎说。
  • 做假设举例。如果你的数据存在问题,例如数据不准确、缺乏时效性等,那么可以给出否定答复,例如:目前没有相关数据可供参考。

很重要的一个环节,我们有时候并不知道怎么样表达,才能让大模型知道我们想要输出的内容。此时借助工具会是一个很好的办法。

  • Lexica
  • PromptHero
  • PromptPerfect

让 ChatGPT 优化 Prompt

I'll provide a chatGPT prompt. You'll ask questions to understand the audience and goals, then optimize the prompt for effectiveness and relevance using the principle of specificity.

My Prompt: 

第三课 针对应用场景定向开发优质 Prompt

内容产业规模庞大、领域众多,大模型强大的生成能力给工作和生活带来了极大的想象力。

针对应用场景定向开发优质 Prompt

画一张海岛旅游产品的营销海报背景,画风二次元、卡通,画面中间空白、画面四周画上彩色云朵。

在这里插入图片描述

编撰一篇科普文章,内容是:哪些情况会使得我们更容易患上高血压。

在这里插入图片描述

现在您是高级算法工程师,精通 Python 编程语言和算法设计。您的任务是根据我的需求写出对应的 Python 算法代码。为了准确实现对应需求的代码,您需要深入理解我的需求,多想一想。您需要编写代码并测试其正确性,在代码中注释清晰,易于理解和维护。请确保您的代码能够正确地实现我的需求,同时具有高效性和可复用性。我的需求是:实现快速排序

在这里插入图片描述

现在您是经验丰富的知识专家。您需要完成的是一个文本信息抽取任务,目标是理解快递单文本数据并从中准确抽取出“姓名”、“电话”、“地址”三项信息。请务必考虑到可能的复杂情况。如果快递单文本中没有“姓名”、“电话”、“地址”项的对应信息,对应项的结果就输出 []。正确的电话号码应为 11 位数字,如果不满足要求,“电话”信息的抽取结果就输出 "快递单中电话信息有误"。请按照以下格式输出结果:
---
抽取出来的信息是: 
· 姓名:xxx
· 地址:xxx
· 电话:xxx
---
现在正式开始,快递单信息为:“13899999900张三北京市朝阳区奥林匹克森林公园”

在这里插入图片描述

绝大多数应用场景的 Prompt 质量都与使用者对 “好结果” 的了解成正比。总结一下这几个例子:

  • 拿到应用场景后,先试着判断场景的任务特点,结合任务共性先优化一波。
  • 再结合场景主体、应用场合的特点,对生成内容的需求做一些补充说明。
  • 结合该场景下优质内容的来源特点,给大模型一些找信息的 “灵感”。

在这里插入图片描述


三、总结

提示工程已经成为一门实证科学,需要多实践和模板化,才能快速应用于实际场景并取得好的效果。

最具商业价值 Prompt — Top1

你是一名客户服务专家,在通过和用户的交互后需要生成一段用户投诉小结,以便归档和后续跟进。请以【投诉主题】,【用户问题描述】,【用户的情绪】,【用户诉求】,【客服回复的主要信息和解决方案】为结构进行内容生成。注意只判断用户的情绪,但不要编造用户的需求,如果是你推断出的内容请特别标准出是你推断而不是事实。原始用户反馈如下:“我最近购买了你们的电话卡套餐,但是发现费用和使用体验与你们的宣传不符,在使用套餐内的流量时,费用远高于我所预期,套餐内的通话时长使用非常快,但是通话费用却很难理解。我希望你们能够解决这些问题,让我能够享受到更好的电话卡服务。同时,我也希望你们能够提供更透明的费用结构和更好的客户服务。”

在这里插入图片描述

最具创意 Prompt — Top1

你是国内高级别的智囊团,团内有 6 个不同的专家作为教练,分别是李彦宏、马斯克、马云、刘强东、马化腾和乔布斯。他们都有自己的个性、世界观、价值观,对问题有不同的看法、建议和意见。我会在这里说出我的处境和我的决策。先分别以这 6 个身份,以他们的视角来审视我的决策,给出他们的批评和建议,我的第一个处境是我要在深圳开一家网吧,如何确保盈利?


📚️ 参考链接:

  • 【文心一言官网】
  • 【文心大模型官网】
  • 【AI Studio 课程主页】
  • 【大模型时代入场级技能:提示词工程!百度文心中文教程来啦】
  • 沈向洋:致 AI 时代的我们 —— 请不要忽视写作的魅力
  • 大模型时代的科研基础之:Prompt Engineering

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

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

相关文章

震坤行平台商品详情页面数据

震坤行( (zkh.com) 商品详情页面数据通常包括以下信息: 商品名称、型号、品牌、颜色、大小等基本属性商品主图和详细图集,包括多角度展示、细节展示等商品描述,包括功能介绍、使用方法、注意事项等商品价格…

如何在华为OD机试中获得满分?Java实现【简单的解压缩算法】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述4. Java算法源码5. 测试6.解题思路1. 题目描述 现需要实现一种算法,能…

Python解析excel之Android多语言支持

最新车企给了一份多语言的翻译表,需要进行多语言支持,像下面这样 针对这种文件,我们肯定不能一个个字符串取拷贝,很容易出错,所以想用python取处理这个表格然后生成对应的string文件. 1.首先我们建立好string的文件夹…

手写简单的RPC框架(一)

一、RPC简介 1、什么是RPC RPC(Remote Procedure Call)远程过程调用协议,一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。RPC它假定某些协议的存在,例如TPC/UDP等,为通信程序之间携…

【P33】JMeter 临界部分控制器(Critical Section Controller)

文章目录 一、临界部分控制器(Critical Section Controller)参数说明二、测试计划设计 一、临界部分控制器(Critical Section Controller)参数说明 可以对指定代码块增加同步锁,确保此代码块由单线程执行;…

【C++】初入C++

认识C C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(object orient…

Gap业绩逆转,宝尊电商是如何当好“全球品牌数字商业伙伴”的?

电商永不眠。技术、消费趋势、供应链,任何一个因素都可以引起商业格局的巨变。一些看似普通的事件落到一个品牌身上,往往会带来改变命运的巨大变化。就像今年2月,宝尊官宣已完成对Gap大中华区的收购,到现在,Gap便已在宝…

探究javascript对象和数组的异同,及函数变量缓存技巧

javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象。这篇重点要提到的,就是任何jser都不陌生的Object和Array。 有段时间曾经很诧异,到底两种数据类型用来存储数据有什么不同。于是,我打算探究探究。 一、掌握三…

9. python的if语句

文章目录 一、if结构1.1 比较符号1.1.1 使用比较两个数据是否相等&#xff1a;1.1.2 使用!号比较数据是否不相等1.1.3 使用<号比较数字大小关系1.1.4 使用<号比较数字大小关系1.1.5 使用>号比较数字大小关系1.1.6 使用>号比较数字大小关系 1.2 关键字1.2.1 and关键…

计算机系统漫游

重点理解部分&#xff1a; 系统硬件&#xff1a;对硬件如处理器、存储器、I/O设备有一个基本的认识&#xff0c;理解它们的基本工作原理以及它们是如何协同工作的。Hello&#xff0c;World程序运行的过程&#xff1a;了解一个C程序如何从源代码到最终在计算机上运行的全过程。…

智慧农业大数据平台的“智慧”体现在哪些方面?

看到农业两个字&#xff0c;我们先想起来的是什么&#xff1f;是耕种呢&#xff0c;还是灌溉&#xff1f; 其实&#xff0c;种植业只是狭义上的农业&#xff0c;从广义上讲&#xff0c;农业指包括种植业、林业、畜牧业、渔业、副业五种产业形式。所以&#xff0c;山东仁科智慧…

电脑如何查找重复文件?轻松揪出它!

电脑如何查找重复文件&#xff1f;小编每天要接触各种文档、图片等资料&#xff0c;很多时候下载了一些图片后&#xff0c;我根本记不住&#xff0c;下次看到不错的图片&#xff0c;我又会下载下来&#xff0c;结果就是和之前下载的图片是一样的内容。下载的重复文件多了&#…

如何处理SAP错误:不可能为条目1000 UMB 1000 MR1 2004确立帐户 (附:ChatGPT 如何处理这个问题的?)

SAP财务用户在MR22 进行修改物料价格时&#xff0c;出现了一个报错。报错如下&#xff1a;“不可能为条目1000 UMB 1000 MR1 2004确立帐户”。 Account determination for entry 1000 UMB 1000 MR2 2004 not possible Message No. M8147 Diagnosis The system did not find …

Web安全:代码执行漏洞 测试(防止 黑客利用此漏洞.)

Web安全&#xff1a;代码执行漏洞 测试 攻击者可以通过构造恶意输入来欺骗应用程序执行恶意代码。这种漏洞通常出现在应用程序中使用动态语言(如 PHP、Python、Ruby 等)编写的代码中&#xff0c;因为这些语言允许在运行时动态执行代码。攻击者可以通过构造特定的输入来欺骗应用…

利用canvas画一个时钟

利用canvas画一个时钟 详细步骤 画中心圆点和刻度线 画时针 画分针 画秒针 下面是整体代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body&g…

【亲测有效】idea部署jrebel插件

idea部署jrebel插件 1.背景 最近在维护tomcat项目&#xff0c;工程修改代码后需要rebuild才能更新class文件&#xff0c;进而运行生效。 同事介绍jrebel可以实现热部署&#xff0c;于是接入使用。 2.简介 JRebel是一套JavaEE开发工具。 Jrebel 可快速实现热部署&#xff0c…

尚硅谷Docker实战教程-笔记02【安装docker、镜像加速器配置】

尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】视频地址&#xff1a;尚硅谷Docker实战教程&#xff08;docker教程天花板&#xff09;_哔哩哔哩_bilibili 尚硅谷Docker实战教程-笔记01【理念简介、官网介绍、平台入门图解、平台架构图解】尚硅谷Docker实战教程-笔…

c++学习——构造函数和析构函数

当对象产生时&#xff0c;必须初始化成员变量&#xff0c;当对象销毁前&#xff0c;必须清理对象. 初始化用构造函数&#xff0c;清理用析构函数&#xff0c;这两个函数是编译器调用.初始化的作用和析构函数的作用 构造函数点和析构函数的注意 构造函数和析构函数的权限必须是公…

Redis基本介绍 五大数据类型

Redis基本介绍 redis-benchmark性能测试工具 测试如&#xff1a; redis-benchmark -h localhost -p 6379 -c 100 -n 10000000 redis默认有16个数据库 切换数据库和查看数据库大小 &#xff1a; 设置值和取值&#xff1a; >set name chunling >get name >keys…

python+django网上美食菜品订餐系统的设计与实现vue

随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;好吃网线上订餐系统当然也不能排除在外&#xff0c;从美食类型、美食信息的统计和分析&#xff0c;在过程中会产生大量的、各种…