#Prompt##提示词工程##AIGC##LLM#使用大型预训练语言模型的关键考量


如果有不清楚的地方可以评论区留言,我会给大家补上的!
本文包括:
Prompt 的一些行业术语介绍
Prompt 写好提示词的方法经验介绍(附示例教程)
LLM自身存在的问题(可以用Prompt解决的以及无法用Prompt解决的)

技术性能与策略

性能指标

  • 精确度 (Precision):选出的东西中,有多少是正确的。(准确-谨慎则高)
  • 召回率 (Recall):所有应该被挑选出来的东西中,实际上有多少被挑选出来了。(全面-宽松则高)
  • F1得分 (F1):同时考虑精确度和召回率,给出一个综合的评分。如果你的F1得分很高,那么你在挑选时既准确又全面。
  • 模板粘性 (Template Stickiness):在语言模型中,模板粘性描述的是模型在多次使用相同的提示或模板时,保持一致性的能力。高粘性意味着模型很可能重复使用相同的方式来回应,而低粘性意味着模型的回应可能会有更多的变化。(灵活则低)

输入方法

定向刺激提示与标准提示
定向刺激:需要特定信息或在特定情境下的问题
详细地说明,“这是一朵玫瑰,它有红色的花瓣和带刺的茎。” 你给予的信息是具体的、有方向的,旨在引导他更准确地识别玫瑰。
标准提示:普遍性回答的场景
“这是一朵花,你认为是什么种类?”这里你没有给出具体的指引,只是提出了一个开放式的问题。标准提示就是这样,它不包含额外的指导或信息,让模型自己去解释和回答。这种提示更加通用,可以适用于更多的情况,但可能不会像定向刺激提示那样引导出特定类型的回答。

输入:问题+文本+选项
输出:基本原理+回答
程序辅助语言模型 (PAL)

输入(用户提供):
提示(用户给模型):
我有一系列的数字:3, 7, 2, 8。我需要计算它们的总和。请写一个Python脚本来计算这些数字的总和。


输出(模型生成):
回答(模型给出的Python脚本):
# Python脚本来计算数字总和
numbers = [3, 7, 2, 8]
total_sum = sum(numbers)
print("数字的总和是:", total_sum)

提示词列表
随机指示必须出现的词语
(比如儿童list[
“王子”, “公主”, “巫婆”, “巨人”, “精灵”, “小动物”,
“魔法”, “魔法森林”, “魔法法杖”, “魔法咒语”,
“冒险”, “困难”, “危险”,
“友情”, “朋友”, “支持”, “关心”,
“爱情”, “浪漫”,
“家庭”, “亲子关系”,
“冒险之旅”, “未知世界”, “新朋友”,
“奇幻世界”, “仙境”, “仙女王国”, “奇幻森林”,
“教育”, “道德”, “品德”, “解决问题”,
“快乐结局”,
“魔毯”, “魔镜”, “魔法戒指”
])
训练数据、教科书式训练、扩充训练:目标受众对应训练数据不一样

策略定义与应用

  • Baseline: 标准使用,无特殊策略。
  • CoT (Chain of Thought): 提供推理链的示例来帮助模型分步骤解决问题。
  • Zero-CoT: 不提供示例,要求模型自发推理。
  • **Auto-CoT:**内部进行推理但不显示全部过程的系统。

Auto-CoT通常是通过训练过程中使用特定的数据集和训练策略来实现的,让模型学会在给出答案前先展现出解题的逻辑链条。

  • +inst (instructions): 添加说明以指导模型回答。
    • +rawinst: 用户直接提供指导。“请按照五段式论文的格式回答以下问题…”
    • +sysinst: 系统提供角色和任务说明。“作为一个旅行顾问,你应该提供…”
    • +bothinst: 指导分为用户消息和系统消息。
      | 简称 | 描述 | |
      | — | — | — |
      | Baseline | 标准的回答模式,不使用任何特别的指导或推理策略。 | “巴黎是哪个国家的首都?” -> “巴黎是法国的首都。” |
      | CoT | 展示解决问题的思考过程,通常用于复杂问题的逐步推理。 | “如果我有3个苹果,吃掉了一个,我还有几个?” -> “你开始有3个苹果,吃掉1个,所以3-1=2。你还有2个苹果。” |
      | Zero-CoT | 不展示推理过程,直接给出答案。 | “如果我有3个苹果,吃掉了一个,我还有几个?” -> “你还有2个苹果。” |
      | rawinst | 用户提供明确的指导来告诉模型如何回答问题。 | 用户提示: “用诗的形式告诉我太阳的重要性。” -> 模型回答: “太阳,天空的炽热之心…” |
      | sysinst | 系统提供的角色和任务说明,指导模型如何回答。 | 系统提示: “作为历史老师,解释一下法国大革命。” -> 模型回答: "法国大革命是…” |
      | bothinst | 结合用户和系统的指令来指导模型。 | 系统提示: “作为科学家…”, 用户提示: “…解释黑洞。” -> 模型回答: "黑洞是…” |
      | mock | 通过模拟对话来提供指令,通常用于角色扮演。 | “如果我是国王,你作为顾问会告诉我什么?” -> "陛下,我建议…” |
      | reit | 通过重复关键说明来强化指导。 | “请记住,每次回答都要提到数据。数据显示…” -> 模型每次回答时都会提及数据。 |
      | strict | 要求模型严格按照给定的模板回答。 | “按照五段论格式回答…” -> 模型回答会有明确的介绍、三个支撑段落和结论。 |
      | loose | 允许模型在给定的框架内自由发挥。 | “你可以自由地讨论关于月球的事实。” -> 模型提供了一系列有关月球的有趣事实。 |
      | right | 要求模型得出正确的结论,强调准确性。 | “确保你的回答是科学上正确的…” -> 模型回答时会重点确保信息的准确性。 |
      | info | 提供额外的信息以解决常见的推理失败。 | “考虑到地球是圆的,解释日落。” -> 模型会利用这个信息来解释日落。 |
      | name | 为模型提供一个名称,有助于在对话中建立身份和上下文。 | “你叫什么名字?” -> “你可以叫我Alex。” |
      | pos | 在查询之前向模型提供积极的反馈。 | “你之前的解释非常好,请继续这样解释…” -> 模型在后续的回答中会保持同样的风格。 |

实例说明

  • 用例分析:使用CoT策略提高解决数学问题的准确率。
  • 性能提升:在使用+bothinst策略时,F1得分提升至87.5%。
    | 提示修改 | 精确度(Precision) | 召回率(Recall) | F1得分(F1) | 模板粘性(Template Stickiness)模板粘性(模板粘性) |
    | — | — | — | — | — |
    | 基线 (Baseline)基线(Baseline) | 61.2 | 70.6 | 65.6 | 79% |
    | CoT | 72.6 | 85.1 | 78.4 | 87% |
    | Zero-CoT | 75.5 | 88.3 | 81.4 | 65% |
    | +rawinst | 80 | 92.4 | 85.8 | 68% |
    | +sysinst | 77.7 | 90.9 | 83.8 | 69% |
    | +bothinst | 81.9 | 93.9 | 87.5 | 71% |
    | +bothinst+mock | 83.3 | 95.1 | 88.8 | 74% |
    | +bothinst+mock+reit | 83.8 | 95.5 | 89.3 | 75% |
    | +bothinst+mock+reit+strict | 79.9 | 93.7 | 86.3 | 98% |
    | +bothinst+mock+reit+loose | 80.5 | 94.8 | 87.1 | 95% |
    | +bothinst+mock+reit+right | 84 | 95.9 | 89.6 | 77% |
    | +bothinst+mock+reit+right+info | 84.9 | 96.5 | 90.3 | 77% |
    | +bothinst+mock+reit+right+info+name+ | 85.7 | 96.8 | 90.9 | 79% |
    | +bothinst+mock+reit+right+info+name+pos | 86.9 | 97 | 91.7 | 81% |

文化考量与偏见

语言与文化关联

https://arxiv.org/pdf/2303.17466.pdf

  • 文化适应性:通过添加特定文化提示,减少模型回应的文化差异。
    • 英语与美国文化
    • 汉语与中国文化

文化偏见

https://arxiv.org/ftp/arxiv/papers/2303/2303.16281.pdf

  • GPT文化偏见问题:指出GPT等模型在处理不同文化背景的输入时可能存在的偏见。
  • 重要性:数字平台在社会领域的广泛影响和跨学科合作的必要性。

改进措施

  • 案例研究:分析数字平台如搜索引擎和社交媒体在文化表达上的差异。
  • 多学科合作:推动计算机科学与人文社会科学的交流合作。

模型的逻辑连贯性

GPT逻辑步骤

  • 跳步问题:连续逻辑步骤中的错误累积可能导致后续推理的准确率下降。

解决策略

  • 记忆性能提升:提高模型对前文记忆的保持能力,减少逻辑跳步问题。

不让GPT输出过多信息

https://www.promptingguide.ai/applications/pf
DO NOT SAY THINGS ELSE OK, UNLESS YOU DONT UNDERSTAND THE FUNCTION
只要输出……,其余不要输出。

案例

案例一

现在你是导演,我讲给你补充知识和示例,你需要为我的故事设计连续并且完整的多个镜头,并将这些镜头整理成文字给我。我将给你这个故事的剧本,请按照故事剧本里的内容,将故事剧本的内容进行分拆,并转化成摄像机从开始到结束的画面,分拆后的每一个画面作为一个镜头文本的内容。请注意,生成的镜头文本不要遗漏故事剧本里的内容,也不要重复地出现故事剧本的内容。保证你所设计的镜头,能让故事连贯、流畅、完整地展现

+inst (instructions)+sysinst: 系统提供角色和任务说明。
reit 通过重复关键说明来强化指导。

知识补充:
2.镜头语言,你需要有创意性地设计镜头语言,镜头语言包括镜头种类和镜头角度。镜头种类有以下几种:单人镜头、双人镜头、多人镜头、过肩镜头、主观镜头;镜头角度有以下几种:平视、俯视、仰视、航拍。

提示词列表

7.你需要分析故事剧本的内容,对每一个镜头发生的地点进行补充。请按照以下顺序逐次进行补充细化:1、地点的具体名词,如卧室的床、花园的角落、厕所的马桶、树木的树根等。2、地点的造型特点,如陈旧腐朽的、整洁干净的、凌乱的等。……

CoT

**示例:**第1场,第1镜
#剧本原文#:一群人围在药店柜台前,手中还提着塑料袋,塑料袋里装着各种感冒药与退烧药(非特写)。
#镜头语言#:[‘多人镜头’,‘平视’]
#关键词#:[‘药店’,‘群众’,‘塑料袋’,‘感冒药’,‘退烧药’,‘中年男人’,‘柜台’,‘不耐烦’,‘离开’,‘气愤’,‘大声喊叫’,‘混乱’,‘焦急’,‘挤向柜台’,‘叙事重点’,‘情绪高涨’,‘失控’]
……

strict 要求模型严格按照给定的模板回答。

案例二

逐步分析最后一句话表达的此时情况:

CoT

  1. 这段话里面出现的人物有几个
    输出要求:只用告诉我阿拉伯数字,不要输出其他内容
    输出示例:人物个数:2

strict 要求模型严格按照给定的模板回答。

……

  1. 人物之间最后所处的相对位置推理过程
    相对位置即人物间的距离和角度,人物分别在场景中的位置,可通过逐句推理获取相对位置,推理过程需要展示,小场景人物位置判断需要结合上下文。大场景人物位置需要按照上文推理。

info 提供额外的信息以解决常见的推理失败。
reit 通过重复关键说明来强化指导。

5.相对位置推理结论
输出要求:根据上面的推理过程获得最后的相对位置。无论结果是什么,位置信息具体描述 以外的多余内容不要输出。如果未提供相对位置且无法推测,请直接输出“无法确定”,其余内容不用输出

只要输出……,其余不要输出。

参考资料

www.promptingguide.ai
https://www.promptingguide.ai/applications/pf Prompt Engineering Guide
https://flowgpt.com/creative/stable-diffusion
https://arxiv.org/abs/2305.18189v1 标记角色:使用自然语言提示来衡量语言模型中的刻板印象
https://arxiv.org/abs/2301.01768 对话式人工智能的政治意识形态:ChatGPT 亲环境、左翼自由主义倾向的证据汇集
https://arxiv.org/abs/2303.16421 ChatGPT 是一个知识渊博但缺乏经验的求解器:大型语言模型中常识问题的调查
https://arxiv.org/abs/2304.05351 华尔街新手:针对多模式股票走势预测挑战的 ChatGPT 零样本分析

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Maven】007-Maven 工程的继承和聚合关系

【Maven】007-Maven 工程的继承和聚合关系 文章目录 【Maven】007-Maven 工程的继承和聚合关系一、Maven 工程的继承关系1、继承的概念2、继承的作用3、继承的语法4、父工程统一管理依赖版本父工程声明依赖版本子工程继承以来版本 二、Maven 工程的聚合关系1、聚合的概念2、聚合…

十三、QPalette的简单使用(Qt5 GUI系列)

目录 一、设计需求 二、实现代码 三、代码解析 四、总结 一、设计需求 在实际应用中,经常需要改变某个控件的颜色外观,如背景、文字颜色等。Qt提供的调色板类 QPalette 专门用于管理对话框的外观显示。QPalette 类相当于对话框或是控件的调色板&…

centos7系统部署rancher2.x,并创建k8s集群

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 前言 一 本文目标: 1、部署rancher-server UI,版本:2.3.5 2、通过rancher部署一个k8s集群c…

网络协议与攻击模拟_04ICMP协议与ICMP重定向

ICMP协议是网络层协议, 利用ICMP协议可以实现网络中监听服务和拒绝服务,如 ICMP重定向的攻击。 一、ICMP基本概念 1、ICMP协议 ICMP是Internet控制报文协议,用于在IP主机、路由器之间传递控制消息,控制消息指网络通不通、主机是…

Python 二维平面Delaunay三角网建立

目录 一、算法概念二、代码实现三、结果示例根据二维平面内的离散点建立平面三角网。 一、算法概念 三角剖分与Delaunay剖分定义:如何把一个散点集剖分成不均匀的三角形网格,即在给定的平面点集上,生成三角形集合的过程。考虑平面点集P={p1,p2,p3,…,pn},我们希望得到三…

CMake+QT+大漠插件的桌面应用开发

文章目录 CMakeQT大漠插件的桌面应用开发说明环境项目结构配置编译环境代码 CMakeQT大漠插件的桌面应用开发 说明 在CMake大漠插件的应用开发——处理dm.dll,免注册调用大漠插件中已经说明了如何免注册调用大漠插件,以及做了几个简单的功能调用&#x…

金南瓜SECS/GEM发送event、VID

金南瓜SECS/GEM发送事件(CEID)很简单,只需一步就完成。 最重要是简单易懂,任何人一看就上手。无需懂得内部逻辑,以及一大堆的导入问题。 代码如下 C#的代码: // 扫码成功 private void buttonReadBarco…

【教学类-43-20】20240113 数独(二)4宫格、9宫格 无空行A4模板

作品展示: 4宫格 9宫格 题目连在一起 背景需求: 制作十宫格数独模板,为了凑满20行,删除了每个数独题之间的行列分割线 【教学类-43-18】A4最终版 20240111 数独11.0 十宫格X*YZ套(n10),套用没有分割行列的A4横版模板…

浅谈对Maven的理解

一、什么是Maven Maven——是Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自动生成项目站点等特性,已经有无数的开源项目使用它来构建项目并促进团队…

将 OpenCV Java 与 Eclipse 结合使用

配置 Eclipse 首先,从下载页面获取 OpenCV 的新版本,并将其解压缩到一个简单的位置,例如 .我使用的是 2.4.6 版,但其他版本的步骤或多或少相同。C:\OpenCV-2.4.6\ 现在,我们将 OpenCV 定义为 Eclipse 中的用户库&…

【数据结构与算法】之数组系列-20240114

这里写目录标题 一、414. 第三大的数二、448. 找到所有数组中消失的数字三、561. 数组拆分四、594. 最长和谐子序列 一、414. 第三大的数 简单 给你一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。 示例 1: 输入&…

个人网站制作 Part 1 创建网站 | Web开发项目

文章目录 👩‍💻 基础Web开发练手项目系列:个人网站制作🚀 项目概述🔧 开发工具和环境配置🛠 项目实现步骤步骤 1: 创建HTML文件步骤 2: 添加CSS样式步骤 3: 链接CSS文件步骤 4: 添加JavaScript交互 &#…

【教学类-43-19】20240113 数独(一) 3-5-6-7-8-10宫格 无空行A4模板

作品展示: 3宫格 5宫格 6宫格 7宫格 8宫格 10宫格,题目连在一起 背景需求: 制作十宫格数独模板,为了凑满20行,删除了每个数独题之间的行列分割线 【教学类-43-18】A4最终版 20240111 数独11.0 十宫格X*YZ套(n10)&am…

【WPF.NET开发】流文档

本文内容 什么是流文档?流文档类型创建流内容与流相关的类内容架构自定义文本 流文档旨在优化查看和可读性。 流文档根据运行时变量(例如,窗口大小、设备分辨率和可选的用户首选项)来动态调整和重新排列内容,而不是设…

综合评价 | 基于EW、EW-BP、EW-ELM的地区发展水平综合评价(Matlab)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 综合评价 | 基于EW、EW-BP、EW-ELM的地区发展水平综合评价(Matlab) 程序设计 完整程序和数据获取方式:私信博主回复基于EW、EW-BP、EW-ELM的地区发展水平综合评价(Matl…

YOLOV8代码本地编译

下载pycharm 在 Linux 操作系统中安装 Pycharm 社区版_linux中安装pycharm社区版-CSDN博客 Pycharm中配置 Conda 虚拟环境 百度安全验证https://baijiahao.baidu.com/s?id1771914506705481878&wfrspider&forpc 源码编译 果您对参与开发感兴趣或希望尝试最新源代码…

昇腾910b部署Chatglm3-6b进行流式输出【pytorch框架】NPU推理

文章目录 准备阶段避坑阶段添加代码结果展示 准备阶段 配套软件包Ascend-cann-toolkit和Ascend-cann-nnae适配昇腾的Pytorch适配昇腾的Torchvision Adapter下载ChatGLM3代码下载chatglm3-6b模型,或在modelscope里下载 避坑阶段 每个人的服务器都不一样&#xff0…

《向量数据库指南》让「引用」为 RAG 机器人回答增加可信度

在之前的文章中,我们已经介绍了如何用 Milvus 向量数据库以及 LlamaIndex 搭建基础的聊天机器人《Chat Towards Data Science |如何用个人数据知识库构建 RAG 聊天机器人?》《书接上回,如何用 LlamaIndex 搭建聊天机器人&#xff…

双指针算法: 有效三角形的个数

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔🍟🌯C语言进阶 🔑个人信条: 🌵知行合一 前言 声明…

【AI】人工智能和水下机器视觉

目录 一、初识水下机器视觉 ——不同点 ——难点 二、AI如何助力水下机器视觉 三、应用场景 四、关键技术 水下机器视觉,非常复杂,今天来简单讨论一下。因为目标识别更难。 水下机器视觉是机器视觉技术在水下环境中的应用,它与普通机器…