prompt工程技巧
Prompt可以是一个问题,一个主题,一段描述等等,它可以帮助模型理解用户的意图并生成相应文本。
Prompt Engineering:通过开发和优化提示词,帮助语言模型用于各种应用场景和研究领域。
一、Prompt技巧
zero-shot零样本提示技巧
使用清晰、明确,避免模糊的词语。
把指令放在前面,用三个引号"""将指令和待处理内容分开。
指定输出格式,得到稳定输出格式,有可读性。(指明json格式输出)
角色扮演, https://github.com/PlexPt/awesome-chatgpt-prompts-zh 。
一个prompt分为4部分
指令词,背景,输入,输出要求

few-shot少样本提示
给出一个例子。
chain-of-thought(CoT) 思维链,引导模型推理
给例子的时候也加入思考过程。
zero-shot +CoT
使用 let‘s think step by step。
Search API + GPT(具有联网能力的api,例如new bing)
对于联网实时知识需求的prompt,
在公网搜索,让GPT对搜索的结果进行总结归纳。
Embeding Search +GPT(具有本地数据)
计算本地向量库与问题的语义相似度,将相似度高的文本和问题一起作为prompt。
ReAct(Reason + Act)技术
模型同时和多个三方工具整合,在推理的过程中,自己决定要调用哪个外部工具,把工具生成的结果告诉模型,再继续推理。
模板示例:
尽可能的回答以下问题,你可以使用以下的工具
搜索API:当你需要去公网搜索最新信息的时候可以用到。
计算器:当你需要回答数学计算的时候可以用到。
请用以下格式回答:
问题:你必须回答输入的问题
思考:你应该一直保持思考,思考如何解决问题
动作:<一个工具名>。每次动作只选择一个工具。工具列表[搜索API,计算器]
...这个“思考-动作-输入-观察”的循环可以重复多次。
思考:最后,你应该知道结果了。
最终结果:针对原始问题,输出最终结果。以“任务完成”结尾。
开始!
问题:周杰伦今年多大了?他的年龄的0.23次方是多少?
思考:
二、Prompt学习实践资料
chatgpt调教各种场景指南
https://github.com/PlexPt/awesome-chatgpt-prompts-zh
https://github.com/f/awesome-chatgpt-prompts
Prompt Engineering 最佳实践
OpenAI:
https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-openai-api
Azure OpenAI:
https://learn.microsoft.com/en-us/azure/cognitive-services/openai/concepts/advanced-prompt-engineering?pivots=programming-language-chat-completions
吴恩达 Prompt Engineering 教程
https://github.com/GitHubDaily/ChatGPT-Prompt-Engineering-for-Developers-in-Chinese
OpenAI cookbook里面的例子覆盖到了绝大多数应用场景
https://github.com/openai/openai-cookbook
最全 Prompt 工程指南,让你成为 AI 模型驯化师
https://zhuanlan.zhihu.com/p/613999116
10个必备的 AI Prompt 工具,助你事半功倍提高生产力!
https://zhuanlan.zhihu.com/p/621627781
三、多伦对话数据集
豆瓣多轮对话数据集:包含1000个对话上下文,每个上下文有10个候选响应,用于评估生成模型的质量。链接:https://github.com/MarkWuNLP/MultiTurnResponseSelection
CrossWOZ:一个大规模跨领域中文任务导向多轮对话数据集,包含6K个对话,102K个句子,涉及5个领域(景点、酒店、餐馆、地铁、出租)。链接:https://github.com/thu-coai/CrossWOZ
MultiWOZ:一个大规模英文跨领域任务导向多轮对话数据集,包含10K个对话,115K个句子,涉及7个领域(餐馆、酒店、景点、出租车、火车、医院、警察)。链接:https://github.com/budzianowski/multiwoz