prompt提示词

prompt提示词

含义

Prompt(提示词)是指输入给模型的一段文本,这段文本旨在指导模型生成具有特定内容或遵循特定上下文的输出。Prompt可以是一句话、一个问题、一段描述或者任何能够提供生成所需情境和主题的信息。

问答类型

简单问答

一般这种问答都是寻求一个问题的答案。prompt 只要满足没有语病,语句流畅,基本上就没有什么问题。但需要注意,不同的 AI 模型擅长的东西都不太一样,prompt 可能需要针对该模型进行微调。另外,目前的 AI 产品,也不是无所不能,有些问题你再怎么优化 prompt 它也没法回答你。如GPT-3.5所拥有知识为2021年左右,而一下如Kimi等国产大模型可以联网进行数据爬取阅读然后给出答案。所有大模型更适合于回答确切的问题而不是给出观点,以GPT-3.5为例,当问他什么是摩尔定理GPT给出答案为:

*摩尔定律通常表述为“集成电路上可容纳的晶体管数量每隔约18-24个月会翻一番,而价格相应下降一半”。换句话说,集成电路的复杂度(即晶体管数量)将会在相同面积上增加,并且价格会相对下降。这个规律驱动了半导体行业几十年的快速发展,导致了计算机性能的持续提升和成本的下降。*

而问他你觉得中国和美国哪个更好,他会给出:

*对于“哪个更好”这个问题,没有一个简单的答案,因为"更好"是一个主观的评价,取决于您考虑的标准和价值观。*

对于该部分使用技巧一:To do and Not To do

在问答场景里,为了让 AI 回答更加准确,一般会在问题里加条件。比如让 AI 推荐一部电影给你 推荐一个运动给我 。但这个 prompt 太空泛了,AI 无法直接回答,他会给出:

如果您正在寻找一种健康、有趣又能够锻炼身体的运动,我建议尝试网球。以下是一些网球的优点和理由:
​
1. **全身性锻炼**:网球是一项全身性的运动,可以有效锻炼您的心肺功能、肌肉力量、灵活性和协调性。
2. **有趣而挑战性**:与其他单人或团体运动相比,网球是一项充满挑战和刺激的运动。您需要运用战术、技巧和策略来击败对手,使比赛变得更加有趣。

所以 OpenAI 的 API 最佳实践文档里,提到了一个这样的最佳实践:与其告知模型不能干什么,不妨告诉模型能干什么。

其实在实践中如果有很明确的目的需要AI给出哪些类型的方法建议时可以直接以to do进行明确,而以not to do进行限制,这样可以提高效率:给我推荐一个水上的运动,我希望在天热的时候进行,这样不会留很多汗,然后不要时水上排球,不要在大海里进行,只能在游泳池里进行。

他给出的回答:

在天热的时候进行水上运动,而且只能在游泳池里进行的话,我建议尝试皮划艇(Kayaking)或划艇(Canoeing)。这两项运动非常适合在游泳池进行,并且在炎热的天气里可以让您感受到清凉的水面。

示例模仿

很多时候我们需要AI帮我们做一些重复性的工作或是需要给出一些对现有问题的新场景描述时,AI更适合做这种工作,如果我想把CSV的数据从表格转为二维数组形式时如果直接问:

1 2
3 4 把这个转为二维数组的形式

发现他会直接返回一个代码

**numbers = [
    [1, 2],
    [3, 4]
]
​
# 打印二维数组形式
for row in numbers:
    print(row)**

而如果我想转为java的二维数组{{1,2},{3,4}}时发现格式不对。当把问题改为:把这个转为java形式的二维数组,答案又会是个java代码。我们不希望从代码中赋值,希望他直接返回一个{{1, 2},{3, 4}}。

对于该部分的技巧一:加上示例

修改问法为:

有如下转换方法将数据格式进行转换,转换前:
1 2
3 4 
转换后:{{1, 2}, {3, 4}}。
现在给出以下数组希望进行转换,直接给出转换后结果:
2 3
4 5
6 7

他的输出会直接是{{2, 3}, {4, 5}, {6, 7}}

还有另一种情况是需要仿照一个东西给出新东西,如问法:

仿照下题出个新题:在C语言标准库 <stdio.h> 中,有关文件操作的函数描述错误的是
​
A. fopen 函数用于打开或创建文件,返回指向文件的文件指针。 B. fclose 函数用于关闭由 fopen 打开的文件,成功关闭返回0,失败返回EOF。 C. fprintf 函数只能向文本文件中写入格式化输出,不能写入二进制数据。 D. fread 和 fwrite 可用于读写二进制文件,分别对应读取和写入固定大小的数据块。

他给出答案为:

在Python标准库中,以下关于os模块的描述错误的是:
A. os.path.join() 函数用于连接路径名,可以自动根据操作系统类型选择路径分隔符。
B. os.listdir() 函数返回指定目录下的所有文件和目录名的列表。
C. os.mkdir() 函数用于创建单层目录,如果目录已存在,则会抛出异常。
D. os.remove() 函数用于删除文件,如果文件不存在,则会抛出异常。

而我们需要他给出的内容依然是关于java的io库,所以要在前面加上一些描述:

仿照下题出个新题,关于java的io库:在C语言标准库 <stdio.h> 中,有关文件操作的函数描述错误的是
A. fopen 函数用于打开或创建文件,返回指向文件的文件指针。 B. fclose 函数用于关闭由 fopen 打开的文件,成功关闭返回0,失败返回EOF。 C. fprintf 函数只能向文本文件中写入格式化输出,不能写入二进制数据。 D. fread 和 fwrite 可用于读写二进制文件,分别对应读取和写入固定大小的数据块。

给出的结果如下:

在Java的IO库中,有关文件操作的描述错误的是:
A. FileInputStream 类用于打开或创建文件,返回指向文件的文件输入流对象。 
B. FileOutputStream 类用于关闭由 FileInputStream 打开的文件,成功关闭返回0,失败返回EOF。 
C. PrintWriter 类可以向文本文件中写入格式化输出,也可以写入二进制数据。 
D. FileInputStream 和 FileOutputStream 可用于读写二进制文件,分别对应读取和写入固定大小的数据块。

可以看出在让他仿照出题时也可以用这种to do or not to do的描述方法来执行。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值