你是如何更精准地指引模型,激发其无尽的创造力?

news2024/12/26 14:06:30

随着大型语言模型日益凸显其重要性,发掘并充分利用它们的潜力,很大程度上依赖于我们如何巧妙构思和构造指令——即Prompt的精炼艺术。优化Prompt撰写技巧,将能够更好地引导大模型,为各类应用场景生成高质量的文本输出。分享出你的Prompt写作秘籍吧,你是如何更精准地指引模型,激发其无尽的创造力?

这是被人优质回答:

示例一:

一、大语言模型是什么?

大语言模型是基于大量数据进行预训练的超大型深度学习模型,由具有许多参数(通常数十亿个权重或更多)的人工神经网络组成,这些神经网络由具有自注意力功能的编码器和解码器组成。

简单理解的话,大语言模型通过学习海量的人类知识,经过了复杂的训练过程,最后得到了一个真正听得懂人话的机器模型。这个模型,可以针对任何输入的信息,生成一个对应的回答,并且回答的准确和匹配程度远远超过了一般人类的平均水准。

二、什么是Prompt

Prompt是指一段给定的文本或语句,用于启动和引导机器学习模型生成特定类型、主题或格式的输出。
简单来说,可以看做是我们给大模型的一个指令,例如:“写一篇作文”、“画一幅画”等。

三、如何写出完美的Prompt-以slogan为例

让我们看看最简单的Prompt效果:

image.png

好像还可以?那记住这次通义的回答,等到最后我们对比下。

注:本次测试均以通义千问为例。

  1. 给身份
    告诉大模型,【你是谁】。给它一个专业领域专业人士的身份,以及他会什么技能。

    image.png

  2. 专业名词解释
    要知道大模型可是基于大量数据进行预训练的超大型深度学习模型,涉及知识范围之广。为了能明确任务,有必要解释一下我们需要的东西是什么。

    image.png

  3. 给限制
    给AI一些使用限制,明确我们的要求

    image.png

  4. 给出示例

    image.png

  5. 工作流程
    最后我们来给AI一个明确的工作流程

    image.png

    四、效果展示

    image.png

     

    image.png


    怎么样,是不是焕然一新
    甚至我们可以根据AI提供的内容进一步延伸

    image.png

    五、总结

    大模型的预测错误是无法完全避免的,但我们可以通过控制Prompt来权衡生成结果的精度与召回率,一般来说,Prompt表述越细致,越严格时,生成结果的精度越高,召回率越低。
    掌握上述技巧,你也可以写出优质的prompt!

示例二:

Prompt工程与实践

PS:本文全部出自个人博客经验总结,非GPT生成。

一、Prompt与大模型

1.1 大模型的定义

大模型本质上就是一个概率生成模型,该模型的模型参数足够大,并且在训练过程中阅读了非常多的各个领域的语料。这个时候,如果通过一个正确的、有效的指令去引导这个模型,就能够生成我们想要的内容。

1.2 大模型的用途
  • 信息抽取

将长段文字提取出结构化信息

  • 信息检索

通读结果并根据你的查询生成针对性的回答

  • 对话系统

根据制定规则进行对话

  • 辅助开发

辅助编写代码,降低门槛

  • Agent

Agent模型加上外围的技术架构可以让大模型去完成一个具体的任务,将任务背后的若干个工作都做好。
 

image.png


其中的智能工单系统就一边跟你沟通,一边去调用后端的一些接口,将自身的诉求下发到接口里帮助你直接去问完成。比如说智能导购系统,通过我们在前端构建一个用户和这个机器的一个聊天的一个交互的界面,然后在背面我们把更多丰富的像商品搜索的接口、下订单的接口都连接起来,让用户和模型在对话的过程中,执行各种后端的工具,完成一个闭环的完整任务。

Agent的价值就是模型可以充分利用多个API,换而言之,每个人都可以构建一个垂直领域的Agent的机器人,然后调用平台各种开发的工具,完成自己想让他完成的一个特定领域的任务。
 

image.png


预训练环节是模型厂商会大量做的工作,目的是让模型具备一个基础的智能,然后它可以面对各行各业的问题,能够有一个比较好的基础的认知,能够去分析、推理。进一步到了这个具体的场景当中,我们可以通过微调和指令工程这俩个方式,然后去调用大模型的能力去解决具体的业务问题。特别是微调这个环节,可以使用较多的监督性语料,从而去改变模型的参数,使其在这个具体的事情上做得更加充分。

对于指令工程,我们要考虑如何用工程化的方式写好一个指令?它没有特别多的模板,更多的是一些指导性的思路。我个人的建议是,写好一个Prompt,在刚接触的情况下,可以先基于一些基本的框架进行套用,结合原理以及一些指导性的思路对指令进行添加和改写。如果在可以的情况下,可以预先准备好数据集,包含了InputOutputOutput tipsReason等等部分,并且不断地通过LLM的反馈来进一步修正Prompt。

二、Prompt框架

不同的任务类型对应不同的Prompt框架,不同的Prompt框架对应不同的思考逻辑;每个框架都有自身适合的场景。

2.1 CO-STAR框架
介绍

CO-STAR Framework是最新一届的新加坡政府举办的Prompt工程大赛的冠军选手的框架,可以予以借鉴。

如何应用CO-STAR框架:

·(C)上下文:为任务提供背景信息,通过为大语言模型(LLM)提供详细的背景信息,可以帮助它精确理解讨论的具体场景,确保提供的反馈具有相关性。
·(O)目标:明确你要求大语言模型完成的任务 清晰地界定任务目标,可以使大语言模型更专注地调整其回应,以实现这一具体目标
·(S)风格:明确你期望的写作风格 你可以指定一个特定的著名人物成某个行业专家的写作风格。如商业分析师或CEO。这将指导大语言模型以一种符合你需求的方式和词汇选择进行回应。
·(T)语气:设置回应的情感调 设定话当的语气,确保大语言模型的回应能够与预测的情感或情绪背景相协调。可能的语气包括正式、幽默、富有同情心等。
·(A)受众:识别目标受众 针对特定受众定制大语言模型的回应,无论是领域内的专家,初学者还是儿童,都能确保内容在特定上下文中适当且容易理解。
·(R)响应:规定输出的格式 确定输出格式是为了确保大语言模型按照你的具体需求进行输出,便于执行下游任务。常见的格式包括列表、JSON格式的数据、专业报告等。对于大部分需要程序化处理大语言模型输出的应用来说,JSON格式是理想的选择。

2.2 其他框架

image.png

image.png

  • ICIO框架

将指令的内容分为四个部分,第一部分是介绍角色、任务和背景知识,第二部分是给出执行的步骤、思维链、样例数据,第三部分是给出输入数据,第四部分是给出输出的定义和指引。

  • LangGPT

这个框架更偏向开发,给了很多的细节要求,里面有一部分涉及到洞察力,比如说工程师需要自行判断这个指令的目标用户是什么?因此写指令不仅需要我们的逻辑能力,也需要我们的产品能力。

三、Prompt原则

3.1 清晰明确

image.png


可以考虑==将我的理想输出内容细化为多个部分,限定字数==,来使其更加清晰明确。

3.2 给模型思考的空间和路径

image.png


将模型做这件事情的思考过程尽可能地讲清楚,比如说在标黄的三部分,对开头、主体和结尾三大部分给模型一个具体的思考逻辑。写好一个指令的前提是需要有一个清晰的目标,有些问题可能比较有难度,光给他目标也不够,此时就应该附加一些具体的思考逻辑和路径。

四、Prompt的指导性思路

4.1 Few Shot

image.png


给出示例来解释内容

Few Shot其实是一个Context Learning的思路,通过说不改变模型的思路,仅仅通过指令的上下文窗口去调优模型生产内容,提供一些示例,让模型自己去学

4.2 COT(Chain Of Thought)

让其输出思考过程,将COT量化出来,提升模型输出的准确性。

image.png

进一步强化的话,可以给一些具体的COT的示例。

4.3 Temperature

temperature用于控制模型输出内容的多样性。temperature越低,内容越稳定;temperature越高,内容越多样。

利用指令追求正确性的过程中,大模型的创造性在很多场景对于一些难题或者一些需要创造性答案的题很有帮助。

进一步强化的话,可以给一些具体的COT的示例。

4.3 Temperature

temperature用于控制模型输出内容的多样性。temperature越低,内容越稳定;temperature越高,内容越多样。

利用指令追求正确性的过程中,大模型的创造性在很多场景对于一些难题或者一些需要创造性答案的题很有帮助。

4.4 top_p

top_p影响每次输出选词集中的程度。

top_p越低,选词词数越集中;top_p越高,选词词数越发散。

4.4 top_p

top_p影响每次输出选词集中的程度。

top_p越低,选词词数越集中;top_p越高,选词词数越发散。

4.5 Tree Of Thought

将任务拆分为多个子任务,再通过不同的Prompt指令进行实现。

image.png

4.6 Agent

此处我们以定义一个"智能客服"的Agent为例。

第一部分我要在其中定义好工具,对于一个智能客服,我们需要定义像订单情况的查询,天气的查询计算器,政策赔偿查询等等。第二部分是我要告诉指令你该怎么去做思考,遇到每个工具返回的过程性结果,应该如何去做思考?第三部分是对于每个思考,都需要有具体的行动和调用的工具,最终得到Final Action,做出行动。

Agent的明显优势就是能够独立完成一个完整的任务,这对Prompt工程设计的要求程度更高,我们至少要定义清楚这个工具的用途,以便让模型知道应该调用哪个工具,并且需要告诉模型在这个场景下应该去如何拆解任务。因此大家可以看到,随着模型能力的不断增强,指令在这其中发挥的作用只会越来越大。

五、Prompt Engineering是什么

  • 迭代:没有人能直接写出100分的指令
  • 评测:像训练算法模型一样优化你的指令

我们需要==通过评测集==对指令不断地去调优,判断该指令是否能够放到生产环境中去用。

六、调优Prompt

Prompt的调优一般从==内容==和==结构==两个方面进行入手。

6.1 从内容上调优指令
  • 角色迭代

告知大模型他应该扮演的角色,例如"你是口语对话教练"

  • 任务迭代

对于指令中的关键动作,尝试不同的近义词或其他相近的描述来提升准确性。
 

image.png


避免负向指令,通过更换概念等方式,尽量告诉模型应该输出什么。
 

image.png


逻辑完备,避免在"无"的时候,大模型自由发挥、臆造信息。

image.png

  • Few Shot迭代

    image.png


    使添加的样例比例更加均匀。
6.2 从结构上迭代指令

image.png

  • 分条目

  • 顺序

先输出的内容会影响后输出的内容。可尝试不同的顺序,避免提取项之间的干扰,找到最佳的提取效果。

image.png

  • 分隔符:将文本上下文、不同的知识模块做分隔,避免无关知识模块的影响。

    image.png

示例三:

一、找到他人已有的编写好的符合自己使用场景的prompt进行抄作业式套用结合他人prompt的优点依葫芦画瓢编写一个类似的专属于自己的prompt
所以,接下来就主要介绍本人也就是笔者我在日常学习和工作中经常用到的快速编写prompt的一些方法和技巧全是干货

一、准备环节

1、在开始编写之前,你首先需要规划好或者说确定好你想要gpt给你一个什么样的答案,也就是确定问题类型和领域。

举例来说,如果你想让GPT解释电动车的工作原理,你的提示应该包括相关的技术术语和实际应用场景。这样,第一,你的问题可以被更好更准确的理解;第二,gpt给出的回答也会限定在相关对应领域
2、(可选步骤)
根据不同的需求选择对应的GPT模型,现在GPT模型百花齐放,各有所长,有条件的各位可以根据需求首先选择一个最合适的模型,比如对上下文字数记忆要求、回答风格要求、付费要求、计算要求、编程要求、绘画要求等等,国内国外大模型还需要考虑语言要求虽然现在的大趋势还是国外如Chatgpt、claude等大模型位于领先优势,但是在国内汉语言等特定领域,国内大模型还是有其独有的一些优势;选好了模型对于后面prompt的要求可以说是事半功倍
具体的大模型差异可以参考我的另一篇相关专题回答

image.png

参考该回答以及该问答栏目下的其他回答评测

二、编写环节

1. 使用规范化格式(贯穿全部的重要步骤)
使用markdown(主要)语法或css语法等对prompt进行文本区分、结构化和标记,让gpt更好理解要求避免出现理解误差等进行文本的结构化和标记。当然,如果嫌麻烦也可以直接使用一些符号进行文本、标题之间区分,比如#、¥、|、~,在没有符号歧义的情况下这也是可以的,主要目的就是让GPT正确理解你想要表达的意思

2. 定义特定背景和语境

给定一个具体的背景或场景,可以帮助GPT更好地专注于特定领域的回答,并保持一致的语言和风格。简单来说就是给他一个人设、一个角色,比如一位生物学家、一位演讲家、一个被老板逼着加班写文章做ppt的苦逼打工人等等,可以粗略也可以具体(太具体有的时候反而适得其反
3. 设定明确的目标(限制)
告知GPT你期望它回答的最终目标,包括但不限于语言风格、语言种类、表格还是图片还是文字、有序号的排列式回答还是一大段概括式回答等等;这样可以确保GPT的回答更符合你的预期。
4. 使用思维链方法
将整个目标分解成具体的步骤和问题,以确保每个步骤都有针对性地引导GPT朝正确的方向发展。这一点不仅可以用于prompt提示词编写,更是在日常使用gpt上用处很多


完整示例(了解电动车利用电池和电动机实现驱动的工作原理)

优化前
Prompt:
"请详细解释电动车是如何利用电池和电动机实现驱动的工作原理。"

 

image.png


优化后

一、选择模型

我想使用一个免费、理解中文、实用、能同时给出文字和图片的模型

故选择使用阿里通义千问2.5大模型

二、确定领域范围

因为是了解电动车利用电池和电动机实现驱动的工作原理,所以在提示词中要提到新能源电动汽车、驱动、原理、电池、电动机等关键词

image.png

可以看到,相比直接简单的提问,GPT给出的回答更加有针对性,并且基于给其的人物角色自行对问题答案进行了其他补充。如果对某些答案感兴趣或觉得其回答不够详细可以进行再次修改和提问,有了上下文的基础支撑,它会越来越接近你想要的答案,也就是调优

个人总结:

你要告诉 AI:给谁写,为什么写,需要写什么,写成什么样。那不行,需要怎么改。你给的细节越多,ai发挥就越好。因为你描述的不具体,ai 就只会脑补,因为 ai 的实质功能是单字接龙长文由单字接龙的自回归所生成的。所以它脑补的往往不是你想要的。不管你的 prompt写的怎么样,最终很重要的一点就是【加人味】自己加工,增加复核你们公司场景、生活所需。最总你自己需要:验收润色,加人味儿,凸显个人特色,让人一眼就能看出是你写的,而不是冰冷的 AI

参考:你有哪些能写出完美Prompt的秘籍?_问答-阿里云开发者社区 (aliyun.com)

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

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

相关文章

CTF杂项题:easy_nbt writeup

题目 题目如图,有一个附件:file.7z 解题思路 CTF的杂项题,对于刚接触的人员来说,很多时候是完全没有思路,解这类题,没有相关知识储备的时候,可以使用文件内容搜索工具搜索flag、ctf、key等关键…

【实现100个unity特效之25】Unity中实现二次元模型,基于光照的内置和URP管线卡通化渲染shader

最终效果 文章目录 最终效果默认效果简单粗暴,使用Unlit/Texture基于光照模型的卡通渲染UnityToonShader——仅支持内置渲染管线基于光照模型的二次元渲染UnityURPToonLitShaderExample——仅支持URP渲染管线 完结 默认效果 不然不做处理,我们的模型默认…

高并发eleme项目登录模块(thirty-three day)

一、配置一主二从mysql 1. mycat对mysql8不完全支持 2. mysql8主从问题不大get_pub_key1 3. gtids事务复制 4. 删除/etc/my.cnf 5. 同步data文件需要先停用mysql服务,删除data目录中的auto.cnf 6. gtid模式以及经典模式都需要锁表 flush tables with read lock; unlock …

怎么用电脑兼职赚钱,普通人可做的6个副业项目(非常详细)零基础入门到精通,收藏这篇就够了

现在的生活中,我们总是感觉所过的日子都很紧张,虽然我们尽可能地工作和努力,但是生活成本和社会压力仍然那么大。为了弥补自己的生活经验和财务困难,很多人开始寻找一种额外的收入来源。 其实这种额外的收入来源就被称之为&#…

google paly修改地区教程【2024自测可用】

【准备信息】 https://usfakename.com/ : 用来生成其他国家(比如美国)的地址 重要需要填写的内容: 卡号:4532 7875 1109 8437 City:Boulder State:Alabama postcode:35259 可以在美国邮政编码ZIP Code(转载) -…

学习yolo+Java+opencv简单案例(一)

目录 一、大概架构 二、编写pom.xml 1、yolo-study模块(root): 2、CameraDetection模块 三、编写yml配置文件 四、编写controller 五,可能会出现的问题 1、修改VM启动参数: 2、修改启动类 六、测试 七&…

gradio如何实现修改代码后自动重载运行

使用自动重载加速开发 前提条件:本指南要求你了解 Blocks。在阅读本指南之前,请确保你已经阅读了Blocks指南。 本指南涵盖自动重载、在Python IDE中的重载,以及在Jupyter Notebooks中使用Gradio。 为什么需要自动重载? 当你使…

C#归并排序算法

前言 归并排序是一种常见的排序算法,它采用分治法的思想,在排序过程中不断将待排序序列分割成更小的子序列,直到每个子序列中只剩下一个元素,然后将这些子序列两两合并并排序,最终得到一个有序的序列。 归并排序实现原…

蓝牙芯片 vs. 蓝牙模块:如何为蓝牙方案做出最佳选择?

不论您是设计全新的低功耗蓝牙产品,还是升级现有产品,开发者都面临的一个关键的选择:是采用蓝牙芯片还是蓝牙模块呢?作为蓝牙技术领域的资深专家,信驰达将从蓝牙芯片与蓝牙模块的各自优缺点进行分析,帮助您…

通过访存地址获取主存数据的过程

目录 1.根据访存地址在Cache中查找数据 2.如果在Cache中命中 3.如果没有命中 4.数据送CPU 5.做几道题: 主要厘清思路,中间细节需自行补充! 1.根据访存地址在Cache中查找数据 ① 访存地址的结构会根据Cache和主存之间的映射方式不同而改变。映射方式…

【MySql】 mysql的组从复制

mysql的组从复制 配置mastesr [rootmysql-node10 ~]# vim /etc/my.cnf [mysqld] datadir/data/mysql socket/data/mysql/mysql.sock symbolic-links0 log-binmysql-bin server-id1 [rootmysql-node10 ~]# /etc/init.d/mysqld restart #进入数据库配置用户权限 [rootmysql-nod…

方差稳定变换(Variance Stabilizing Transformation)介绍,专业生物学领域统计

介绍 方差稳定变换(Variance Stabilizing Transformation,VST)是一种统计方法,用于将一个具有异方差性的随机变量(即方差随着均值的变化而变化的变量)转换为方差相对稳定的变量。这种转换在数据分析和建模…

【网络】TCP协议详解(下)

上文介绍了TCP传输控制协议的报头,并且渗透了TCP保证可靠性的策略:如流量控制、按序到达、确认应答机制以及超时重传。本文继续讲解TCP剩下的协议,剩下俩个大话题,难度都比较麻烦。 本文将介绍TCP协议最常见的三次握手和四次挥手…

腾讯地图SDK Android版开发 7 覆盖物示例1

腾讯地图SDK Android版开发 7 覆盖物示例1 前言界面布局MapMarker类常量成员变量初始值Marker点击事件Marker拖拽事件创建覆盖物移除覆盖物设置属性 MapMarkerActivity类控件响应事件 运行效果图 前言 文本介绍Marker的常用属性、交互和碰撞示例。 示例功能如下: …

【计算机网络】认识端口号 认识传输层协议 认识网络字节序 认识socket套接字

👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:Linux 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵,希望大佬指点一二 如果文章对…

收银系统源码—千呼新零售【硬件篇】

连锁店收银系统源码—多商户平台入驻商城已上线-CSDN博客文章浏览阅读1k次。零售行业连锁店收银管理系统多商户入驻本地生活即时零售平台商城https://blog.csdn.net/V15850290240/article/details/141310629 详细介绍请查看上方文章↑↑↑ 详细介绍请查看上方文章↑↑↑ 详细…

[大模型]配置文件-Langchain-Chatchat-V0.3 (1)

文章目录 简述本地配置配置文件model_settings.yaml使用Ollama配置模型配置 使用Xinference配置模型配置修改默认使用的模型 对话基础对话知识库对话 简述 针对Langchain-Chatchat-V0.3版本,对配置文件与模型使用说明,本文建议使用Ollama配合Chatchat使…

用Python实现9大回归算法详解——09. 决策树回归算法

1. 决策树回归的基本概念 决策树回归(Decision Tree Regression)是一种树状结构的回归模型,通过对数据集进行递归分割,将数据分成更小的子集,并在每个子集上进行简单的线性回归。决策树的核心思想是通过选择特征及其阈…

centos7.9系统安装cloudpods并使用ceph存储(二)

1.ceph安装 1.1 环境准备 配置hosts: $ vim /etc/hosts 10.121.x.x node01设置ssh无密码登录: # ssh-keygen -t rsa # ssh-copy-id -i /root/.ssh/id_rsa node01关闭selinux、firewalld # setenforce 0 # sed -i "s#SELINUXenforcing#SELINUXd…

国自然研究热点、“C位出圈”的类器官研究离不开细胞因子

前 言: 目前,类器官已从基础研究发展至药物开发和精准治疗。在疾病建模、药物开发、肿瘤研究、再生医学、精准医学等领域发展迅速。类器官与体内器官在功能和结构上的高度相似,使其广泛用于发育生物学和疾病建模。传统的2D细胞模型和模式动物…