文 / 高扬(微信公众号:量子论)
学习技术最好的方式是什么?看官方资料。
然而,官方教材总有些晦涩难懂,所以大白话将意思做个翻译,就成为了必然。我个人建议有条件的话,先看官方指南。
其实,我个人的ChatGPT经验,也是啃了官方材料,然后经过自己的实践总结而成。
例如,针对官方提供的提示词编写最佳实践。
https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-openai-api
我尝试后,参考着扩充了如下七条技巧的示例:
1. 使用###或”””将指令和文本分离,使得提示结构更加清晰。
效果不佳的示例 ❌:
提炼下列文本的关键词
ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI [1] 研发的聊天机器人程序,于2022年11月30日发布。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。
效果较好的范例 ✅:
提炼下列文本的关键词
文本:###
ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI [1] 研发的聊天机器人程序,于2022年11月30日发布。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。
###
2. 具体说明所要输出的结果、长度、风格、样式等。
效果不佳的示例 ❌:
写一首关于马斯克的诗
效果较好的范例 ✅:
用王小波的风格写一首幽默的关于马斯克的短诗,重点介绍马斯克,马斯克是SpaceX公司的CEO,也是特斯拉公司CEO。
3. 明确输出格式。
效果不佳的示例 ❌:
提取下面文本提到的重要信息。首先提取全部公司名称,然后提取所有人员姓名,接下来提取文本的特定主题,最后提取一般的主题。
文本:###
马斯克是特斯拉公司和SpaceX的首席执行官。特斯拉是一家电动汽车制造商,而SpaceX专注于太空探索和卫星技术。两家公司都致力于可持续能源解决方案和技术进步。
###
效果较好的范例 ✅:
提取下面文本提到的重要信息。首先提取全部公司名称,然后提取所有人员姓名,接下来提取文本的特定主题,最后提取一般的主题。
提取格式如下所示:
公司名字:
人员名字:
特定主题:
一般主题:
文本:###
马斯克是特斯拉公司和SpaceX的首席执行官。特斯拉是一家电动汽车制造商,而SpaceX专注于太空探索和卫星技术。两家公司都致力于可持续能源解决方案和技术进步。
###
4. 先用零样本提示(Zero-shot),再用少样本提示(Few-shot),如果两种方式都搞不定,可使用微调方式。
这块内容说起来比较复杂,后续文章会专门解说。
5. 尽量少用模糊不准确的描述。
效果不佳的示例 ❌:
这个电水壶产品的描述要求短小,只有几句话,内容不要太多。
效果较好的范例 ✅:
使用3到5句话描述这个电水壶产品。
6. 与其告知模型不能干什么,不如告诉模型能干什么。
效果不佳的示例 ❌:
推荐国内一些值得游玩的地方,不要推荐博物馆。
效果较好的范例 ✅:
推荐国内一些值得游玩的地方,包括公园。
7. 使用“引导词”(leading words)来指导模型朝特定模式运行。
效果不佳的示例 ❌:
# 写一个简单的Python函数
# 1. 输入英里数
# 2.英里转换为千米
在下面的代码示例中,添加“import”(import属于Python语言的关键词)是引导模型应该开始使用Python编写代码。(同样,“SELECT”是SQL语句开始的良好提示。)
效果较好的范例 ✅:
# 写一个简单的Python函数
# 1. 输入英里数
# 2.英里转换为千米
import
注:可能ChatGPT模型已做改进,此技巧展示效果不明显。
特别说明:
1、效果不佳的示例并不是说这种方式不可以用,只是说明采用此方式,ChatGPT输出的结果质量可能会差一些。
2、建议把上述范例拷到ChatGPT执行一遍,通过操作可以加深这方面的理解。
3、多品味这些范例,再尝试看看用更多的例子来领悟官方提供的这些技巧。
通过这样的练习,相信你的功力会大增。谢谢。