欢迎光临散文网 会员登陆 & 注册

prompt工程技巧

2023-06-11 17:48 作者:幸齐天  | 我要投稿

在LLM中,Prompt是指用于引导模型生成文本的输入文本。

Prompt可以是一个问题,一个主题,一段描述等等,它可以帮助模型理解用户的意图并生成相应文本。

Prompt Engineering:通过开发和优化提示词,帮助语言模型用于各种应用场景和研究领域。

一、Prompt技巧

  • zero-shot零样本提示技巧

  1. 使用清晰、明确,避免模糊的词语。

  2. 把指令放在前面,用三个引号"""将指令和待处理内容分开。

  3. 指定输出格式,得到稳定输出格式,有可读性。(指明json格式输出)

  4. 角色扮演, https://github.com/PlexPt/awesome-chatgpt-prompts-zh

    一个prompt分为4部分

    指令词,背景,输入,输出要求

普通prompt构成
  • 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



      prompt工程技巧的评论 (共 条)

      分享到微博请遵守国家法律