LLM-不要错过,教你如何快速且精准生成提示词?(总结Singapore首届GPT-4提示工程获奖者Sheila Teo博客)

news2025/1/11 4:05:55

文章目录

  • 前置
  • 理论精炼介绍
    • 1. CO-STAR框架
      • CO-STAR框架简单介绍
      • CO-STAR简单示例
    • 2. 创建系统提示【优化LLM问答丰富度】
      • 何为系统提示?
      • 系统提示示例
    • 3. 使用分隔符分段提示【优化问答准度】
      • 分割符作特殊字符及CO-STAR示例
      • 分割符作XML标记
  • 仅数据的CO-STAR实操
    • 前置分析
    • 构建
    • 思考
  • 原文链接

前置

以下内容均为精炼sheila Teo的提示策略

理论精炼介绍

1. CO-STAR框架

CO-STAR框架简单介绍

在这里插入图片描述

  • context: 提供任务的背景资料
  • objective: 定义希望LLM执行的任务
  • style: 指定希望LLM使用的协作风格
  • Tone: 设定LLM回应的态度
  • Audience: 确定LLM回答的受众类型
  • Response:提供响应的格式

CO-STAR简单示例

# 上下文 #
我想为我公司的新产品做广告。我公司的名字叫Alpha,产品叫Beta,是一款新型的超快吹风机。

# 目标 #
为我创建一个 Facebook 帖子,旨在让人们点击产品链接进行购买。

# 风格 #
遵循为类似产品做广告的成功公司的写作风格,例如戴森。

# 语气 #
有说服力

# 受众 #
我公司在 Facebook 上的受众资料通常是老人。定制您的帖子,以定位这些受众通常在美发产品中寻找的内容。

# 回应 #
Facebook 帖子,保持简洁而有影响力。

2. 创建系统提示【优化LLM问答丰富度】

何为系统提示?

系统提示是附加提示。它是额外的,可以给与LLM对应场景、背景的正确引导。每次提示时,LLM都需要考虑下系统提示中的内容。

系统提示包含内容:

  • 任务定义,LLM在聊天过程中必须做什么
  • 输出格式,LLM始终需要遵循该输出
  • 隔离标识,LLM不回答隔离标识内的内容

系统提示示例

您将使用提供的文本回答问题:
<文本>
[插入文本]
</文本>

<问题>
[插入问题]
</问题>

您将使用以下格式的 JSON 对象进行响应:{“Question”: “Answer”}。

如果文本不包含足够的信息来回答问题,请不要编造信息并给出“NA”的答案。

您只能回答与[插入范围]相关的问题。切勿回答任何与人口统计信息相关的问题,例如年龄、性别和宗教。

3. 使用分隔符分段提示【优化问答准度】

分割符作特殊字符及CO-STAR示例

分隔符是特殊的标记,可帮助 LLM 区分提示的哪些部分应将其视为单个含义单位。 分隔符可以是正常文本不会出现的特殊序列,例###、===、>>>

<<<CONVERSATIONS>>>中每个对话的情绪分类为
“正面”或“负面”。给出情感分类,没有任何其他序言文本。

###

对话示例

[特工]:早上好,今天我能帮你什么?
[客户]:这个产品很糟糕,和广告上说的一点都不一样!
[客户]:我非常失望,希望获得全额退款。

[特工]:早上好,今天我能帮你什么吗?
[客户]:嗨,我只是想说,我对你的
产品印象深刻。超出了我的预期!

###

示例输出

阴性

阳性

###

<<<
[特工]:你好!欢迎我们的支持。今天我能帮你什么?
[客户]:您好!我只是想让你知道我收到了我的订单,
这太棒了!
[特工]:很高兴听到!我们很高兴您对购买感到满意。
还有什么我可以帮你的吗?
[客户]:不,就是这样。只是想给出一些积极的反馈。感谢您
的优质服务!

[特工]:您好,感谢您的联系。今天我能帮你什么?
[客户]:我对最近的购买感到非常失望。这根本不是我所期望的。
[特工]:我很遗憾听到这个消息。您能否提供更多详细信息,以便我提供帮助?
[客户]:产品质量差,迟到。我对这次经历真的很
不满意。
>>>

分割符作XML标记

XML 标记是用尖括号括起来的标记,带有开始和结束标记。因为 LLM 已经接受过大量 XML Web 内容的培训,并且已经学会了理解其格式。<>对LLM来说容易理解

使用给出的示例,将以下对话的情绪分为两类之一。给出情感分类,没有任何其他
序言文本。

<class>
正
负
</class>

<example-conversations>
[代理]:早上好,今天我能帮你什么?
[客户]:这个产品很糟糕,和广告上说的一点都不一样!
[客户]:我非常失望,希望获得全额退款。

[特工]:早上好,今天我能帮你什么吗?
[客户]:嗨,我只是想说,我对你的
产品印象深刻。超出了我的预期!
</example-conversations>

<example-classes>
否定
正确
</example-classes>

<conversations>
[特工]:你好!欢迎我们的支持。今天我能帮你什么?
[客户]:您好!我只是想让你知道我收到了我的订单,
这太棒了!
[特工]:很高兴听到!我们很高兴您对购买感到满意。
还有什么我可以帮你的吗?
[客户]:不,就是这样。只是想给出一些积极的反馈。感谢您
的优质服务!

[特工]:您好,感谢您的联系。今天我能帮你什么?
[客户]:我对最近的购买感到非常失望。这根本不是我
所期望的。
[特工]:我很遗憾听到这个消息。您能否提供更多详细信息,以便我
提供帮助?
[客户]:产品质量差,迟到。我对这次经历真的很
不满意。
</conversations>

仅数据的CO-STAR实操

前置分析

  1. LLM不擅长的数据集分析类型
  • 描述统计学:通过均值或方差等度量汇总数字列。
  • 相关分析:获得列检精确地相关系数。
  • 统计分析:例如假设检验,已确定数据点组之间是否存在统计学上的显著差异。
  • 机器学习:对数据集执行预测建模,例如使用线性回归、梯度提升或神经网络。
  1. LLM擅长的数据集分析类型
  • 异常检测:跨列对具有相似特征的数据点进行分组。
  • 聚类: 跨列对具有相似特征点的数据点进行分组。
  • 跨列关系:识别跨列的组合趋势。
  • 文本分析: 基于主题或情绪的分类。
  • 趋势分析:识别列内随时间变化的模式、季节性变化或趋势

构建

system prompt:
我希望你扮演数据科学家来分析数据集。不要编造数据集中没有的信息。对于我要求的每个分析,请为我提供准确和明确的答案,而不是向我提供在其他平台上进行分析的代码或说明。

prompt:
#content#
我卖酒。我有一个客户信息数据集:[出生年份、婚姻状况、收入、孩子数量、自上次购买以来的天数、花费金额]#############

#objective#
我希望你使用数据集将我的客户聚类到几组,然后给我一些关于如何针对每个组的营销工作的想法。使用此分步过程,不要使用代码:

1. 集群:使用数据集的列对数据集的行进行聚类,使同一集群中的客户具有相似的列值,而不同集群中的客户具有明显不同的列值。确保每行仅属于 1 个集群。

对于找到的每个集群,
2.CLUSTER_INFORMATION:根据数据集列描述聚类。
3. CLUSTER_NAME:解释 [CLUSTER_INFORMATION] 以获取此集群中客户组的短名称。
4. MARKETING_IDEAS:产生想法,向这个客户群推销我的产品。
5. 基本原理:解释为什么 [MARKETING_IDEAS] 对这个客户群是相关和有效的。

#############

# STYLE #
业务分析报告

#############

# TONE #
专业、技术

#############

# Audiouce #
我的商业伙伴。让他们相信您的营销策略是经过深思熟虑的,并有数据充分支持。

#############

# 响应:降价报告 #
<对于 [CLUSTERS] 中的每个集群>
— 客户群:[CLUSTER_NAME]
— 个人资料:[CLUSTER_INFORMATION]
— 营销理念:[MARKETING_IDEAS]
— 基本原理:[基本原理]

<附件>
给出属于每个聚类的行号列表的表格,以便支持您的分析。使用以下表标题:[[CLUSTER_NAME]、行列表]#############

# 开始分析 #
如果你明白了,请向我索要我的数据集。

思考

1.何时使用 LLM 分析数据集?

  • 归根究底,取决的任务的形式。
  • 需要精确数学计算或复杂规则,编程方法优
  • 模式识别任务,LLM优(模式识别问题就是用计算的方法根据样本的特征将样本划分到一定的类别中去。模式识别就是通过计算机用数学技术方法来研究模式的自动处理和判读,把环境与客体统称为“模式”)

2.示例对应策略?

  • 复杂任务分解为简单步骤
  • 引用每个步骤标签
  • 格式化LLM响应
  • 任务指令与数据集分离在这里插入图片描述

原文链接

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

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

相关文章

LVS/NAT负载均衡实操

添加规则,并做持久操作 1 添加规则 [rootlvs ~]# ipvsadm -A -t 10.36.178.183:80 -s wrr [rootlvs ~]# ipvsadm -a -t 10.36.178.183:80 -r 192.168.65.201:80 -m -w 3 [rootlvs ~]# ipvsadm -a -t 10.36.178.183:80 -r 192.168.65.202:80 -m -w 1[rootlvs ~]# ipvsadm -Ln …

告别“人治”时代,物业运维平台能否成为行业新标准?

随着数字化时代的飞速发展&#xff0c;智能化、数字化已经遍及所有的行业。物业服务企业也不例外&#xff0c;你是否还在想象物业运维工作依旧停留在手动报修、纸质记录的古老时代&#xff1f;那么&#xff0c;你就OUT了&#xff0c;物业运维平台已经悄然崛起&#xff0c;正在以…

悦库企业网盘 /user/login/.html SQL注入漏洞复现

0x01 产品简介 悦库企业网盘是一款专为满足企业文件管理、协同办公、文件共享需求而设计的私有部署安全、简单的企业文件管理系统。该产品全面覆盖企业文件管理场景,提供一系列功能强大且操作简便的解决方案,助力企业提升效率、降低管理成本。悦库企业网盘提供精细的权限管理…

汉明校验·简明教程

汉明校验简明教程 一、简介 汉明码是由 Richard Hanming 于 1950 年提出的&#xff0c;它具有一位纠错能力。 新增的汉明码校验位数应满足如下关系&#xff1a; 2 k ⩾ n k 1 2^{k}\geqslant nk1 2k⩾nk1&#xff0c;其中k为校验位位数&#xff0c;n位数据位数。 同时&…

【ARMv8/ARMv9 硬件加速系列 1 -- SVE | NEON | SIMD | VFP | MVE | MPE 基础介绍】

文章目录 ARM 扩展功能介绍VFP (Vector Floating Point)SIMD (Single Instruction, Multiple Data)NEONSVE (Scalable Vector Extension)SME (Scalable Matrix Extension)CME (Compute Matrix Engine)MVE (M-profile Vector Extension)MPE (Media Processing Engine)总结 ARM 扩…

首件检验为什么这么重要?

首件检验是制造业生产过程中的一个重要环节&#xff0c;通常是在每个班次刚开始时或生产过程中的条件发生改变后&#xff08;如人员变动、材料更换、设备调整等&#xff09;&#xff0c;对加工的第一或前几件产品进行的专门检验。尤其在汽车零部件生产企业、电子制造企业广泛采…

分布式协议之巅 — 揭秘基础Paxos与Raft协议如何实现分布式系统达成一致性(非变种Paxos协议)

揭秘Paxos与Raft协议如何实现分布式系统达成一致性 前提介绍Paxos专题大纲Paxos协议Paxo协议的角色标准Paxos角色Proposer&#xff08;提案者&#xff09;Acceptor&#xff08;接受者&#xff09;Learner&#xff08;学习者&#xff09; 提案编号与确认值的组合解析Paxos协议的…

C++ 25 之 调用函数调用规则

c25调用函数调用规则.cpp #include<iostream> using namespace std;class Students04{ // 1.创建好类之后&#xff0c;编译器会默认提供三个函数&#xff1a;默认构造函数、构造函数、拷贝构造函数 // 2.自己写了有参构造函数&#xff0c;编译器就不会提供默认构造函数&…

Unity 设置窗口置顶超级详解版

目录 前言 一、user32.dll 1.什么是user32.dll 2.如何使用user32.dll 二、句柄Handle 1.句柄 2.句柄的功能 3.拿句柄的方法 三、窗口置顶 1.窗口置顶的方法 2.参数说明 3.使用方法 四、作者的碎碎念 前言 up依旧挑战全网讲解最详细版本~~ 本篇文章讲解的是unity…

Java-集合类-Arrays.asList()使用需要注意的大坑

Arrays.asList使用需要注意的大坑 大坑1.不可修改列表大小&&原始数组与列表共享数据2.对于基本类型数组的使用限制 两个错误案例wrong1wrong2 ​ Arrays.asList() 是 Java 中一个常用的方法&#xff0c;它 用于将数组转换为列表&#xff08;List&#xff09;。这个方…

第2章 Rust初体验4/8:提供标准库之外功能的Library Crate:简化包管理和依赖管理:猜骰子冷热游戏

讲动人的故事,写懂人的代码 2.4 故事2: 生成点数之和的随机答案 又是新的一天,大家的培训课又开始了哦!现在,我们的学员们开始用三种语言来实现故事2,加油! 2.4.1 Rust版故事2 2.4.1.1 提供标准库之外功能的Library Crate:简化包管理和依赖管理 贾克强:“我们的故事…

配置Vue3中的baseURL--用于项目快速修改请求服务器

配置baseURL之后可以快速修改请求的服务器&#xff0c;在网上搜索了很多教程都没有找到合适的&#xff0c;大多都是对Vue2项目进行配置的和配置繁琐的&#xff0c;那么这里分享一下对vue3项目如何简单快速设置baseURL 1.在main.js中写上这两句话&#xff0c;配置默认的baseURL…

WPF视频学习-简单应用篇图书馆程序(一)

1.登录界面和主界面跳转 先把登录界面分为三行《Grid》 先添加两行&#xff1a; <Grid><!--//分三行&#xff0c;行排列--><Grid.RowDefinitions><RowDefinition Height"auto"/><RowDefinition Height"auto"/><RowDef…

【杂谈】-不同种类放大器及其区别

不同种类放大器及其区别 文章目录 不同种类放大器及其区别1、概述2、放大器种类2.1 如何衡量保真度2.2 如何测量放大器的效率 3、放大器分类3.1 A类放大器3.2 B 类放大器3.3 AB类放大器3.4 C类放大器3.5 其他放大器类别 1、概述 放大器是电子产品中最常用的电路之一。有几种类…

C# 使用 webview2 嵌入网页

需求&#xff1a;C#客户端程序, 窗口里嵌入一个web网页&#xff0c;可通过URL跳转的那种。并且&#xff0c;需要将登录的身份验证信息&#xff08;token&#xff09;设置到请求头里。 核心代码如下&#xff1a; // 打开按钮的点击事件 private void openBtn_Click(object sen…

【Python】已完美解决:executemany() takes exactly 2 positional arguments (3 given)

文章目录 一、问题背景二、可能出错的原因三、错误代码示例四、正确代码示例&#xff08;结合实战场景&#xff09;五、注意事项 已解决&#xff1a;Python中executemany()方法参数数量错误的问题 一、问题背景 在Python的数据库编程中&#xff0c;executemany()方法是一个常…

MapStruct的用法总结及示例

MapStruct是一个代码生成器&#xff0c;它基于约定优于配置的原则&#xff0c;使用Java注解来简化从源对象到目标对象的映射过程。它主要用于减少样板代码&#xff0c;提高开发效率&#xff0c;并且通过编译时代码生成来保证性能。 我的个人实践方面是在2021年前那时候在项目中…

2024/06/13--代码随想录算法(贪心)3/6|134.加油站、135.分发糖果、860.柠檬水找零、406.根据身高重建队列

134.加油站 力扣链接 class Solution:def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:curSum 0 # 当前累计的剩余油量totalSum 0 # 总剩余油量start 0 # 起始位置for i in range(len(gas)):curSum gas[i] - cost[i]totalSum gas[i] - co…

区间合并——Acwing.803区间合并

区间合并 定义 区间合并是指将一组有重叠或相邻的区间合并成一个或多个更大的区间。 运用情况 图像处理&#xff1a;在图像的区域分析中&#xff0c;可能需要将相邻的具有相似特征的区域进行合并。时间区间处理&#xff1a;比如将多个连续时间段进行合并。行程规划&#xf…

AMS深入浅出

目标&#xff1a; 1. 一、AMS启动流程 ActivityManagerService是 安卓10 以后&#xff0c;将AMS拆分出ActivityTaskManagerService。 1.1 启动入口 AMS是由SystemServer进程启动&#xff0c;在启动过程 startBootStripService&#xff0c;会启动AMS和ATMS服务。 SystemSe…