Notes on Prompt Engineering
Notes on Prompt Engineering
1.两个基本原则
指令清晰具体
具体方法: 1.[输入]:清晰分隔输入的语义不同的各部分
例如可以用:```,"",<>,
要求模型思考 具体方法: 1.[输入]:把指令拆分为带有序号的小步骤。 2.[处理]:指定判断步骤,避免被判断指令询问的输入内容的可能错误部分带歪。
2.其他 纯文本 Prompt 一般格式 1.声明扮演角色 2.简洁的任务描述(例如命令/要求/步骤等)(按照时间顺序) 3.对于任务的详细说明 4.对于输入的内容的格式的详细说明 5.对于输出的内容的格式的详细说明 6.输入的内容
调用 API 可以使用非纯文本,要结合 API 允许的情况。例如 OpenAI 的 ChatGPT 接口 openai.ChatCompletion.create() 可以接受 messages 作为历史记录,其中除了 AI 本身 assistant,还可以有 system 告诉 assistant 是扮演什么角色,然后 user 再提问。
存在的问题 编造虚假信息回复:模型偶尔会生成一些看似真实但是实则编造的知识。可以在 prompt 中告诉模型不要自己编造内容。