吴恩达OpenAI基于ChatGPT的Prompt开发教程
百度文心千帆示例:
作为一名营养师,我想为 2 人设计一份素食食谱,每份含有大约 500 卡路里的热量,并且血糖指数较低。你能提供一个建议吗?
1.如何给出清晰具体的提示
1.1大模型分类:
Base LLM基础大语言模型来源于预训练模型:用已有单词推测下一个单词。
Instruction Tuned LLM指令大语言模型:用人类反馈微调大语言模型优化回答。
当我们使用大语言模型时候你会遇到一个可以理解成聪明但不知道任务细节的人安排工作一样体验。
1.2提示词原则:
1.2.1给出清晰具体的提示(如三元组和5W2H的逻辑学提示)。
1.2.2给模型思考时间让它一步步做。
1.3如何给出清晰具体的提示词
原则一:
1.3.1用分隔符来明确指出不同的输入部分,避免让指令和文本有矛盾的部分从而让GPT出现混淆(用分割符明确说明被总结的部分而不是把被总结的部分作为Prompt让GPT执行)。
1.3.2要求结构化输出,例如json、html、markdown、csv等(lmdb等)
1.3.3检查条件是否满足,检查完成任务所需的假设条件
1.3.4给出少量样本提示示例,要求模型执行任务
2.给模型思考的时间
给模型思考的时间的本质是让GPT能把复杂的任务拆分后一步步执行获得结果
2.1指定完成一项任务所需的步骤
2.2让模型多思考及指导模型自行解决问题
2.3LLM/GPT模型的局限性优化
语言模型会根据自己能力产生内容出现“幻觉或涌现”问题,如当提问一个天气等事实情况时回答的答案看似非常合理的反事实答案。这种问题需要对模型根据参考内容纠正回答。
3.快速迭代Prompt
3.1想要获得最佳的prompt需要通过开发程序的方式快速迭代的具体步骤如下:
Prompt要清晰明确(比较准确的语法语义)
分析为什么结果不如预期
改进想法和Prompt描述词
再次尝试提示跌打升级
3.1Prompt迭代过程:
Idea、implementation(code、data)prompt、experimental result、error analysis。
Iterative Process
Try something
Analyze where the result does not give what you want
Clarify instructions,give more time to think
Refine prompts with a batch of examples
4.文章总结场景应用
我们平时有非常多的场景需要对长文本进行总结,下面例子是针对GPT进行评论总结:
Prompt中编写过程需要明确表达目的和数词限定。
4.1针对多个评论的总结场景
GPT模型可以针对大量成千上万的评论进行总结,并且高效的根据不同部门进行展示,同时支持方便的查看评论原文。可以将评论做成收集系统从不同的渠道收集评论、总结、展示。
5.GPT的推理能
从长文本评论中提取特定数据(实体内容),形容词性文字判断文字情绪等,传统的AI模式你需要为每个特征进行标签、单词的训练一个模型并且部署特别消耗时间,而GPT的能力是很轻松的通过prompt解决了这些复杂工作。
5.1用GPT处理评论情绪分析和长文本提取
5.2 GPT的文本提取功能在总结方面突出
5.3 用GPT提取长篇文字的主题内容
同时你可以反过来用GPT判断文章内是否有目标主题
6.高级翻译Prompt
大语言模型非常擅长于将其输入转换为不同的格式,例如在翻译场景中也删除针对错别字内容进行检查和修正甚至可以帮我们写校对正则。
6.1多语言场景下的网站JS脚本翻译
一般常见语言有12种,可以将语言包放在JS文件种给GPT告诉它翻译成指定想要的语言并且可以告诉他们那些专业名词不需要翻译。并且可以让它写公文邮件。
7.自动化回复评论及temperature阈值参数
关于如何写一篇长文章,可以让GPT帮忙记录语言模型使用过程,生成一个基于某些信息的个性电子邮件,同时介绍模型的另外一个输入参数叫做temperature阈值。在OpenAI的GPT模型中temperature参数用来控制生成文本的多样性和创造性,参数越大生成的文本多样性越高但也可能导致文本准确性和连贯性降低,阈值越低文本越接近训练数据但是可能出现文本过去保守而重复。
那么针对不同的场景我们需要设置不同的temperature阈值一般在0.3-0.7范围内。
8.GPT聊天机器人
毫无疑问的大型自然语言模型给我们带领令人兴奋的体验同时我们可以用它搭建一个聊天机器人实现接单和客服任务。
Openai的API接口如下:
def get_completion(prompt, model=”gpt-3.5-turbo”)
Message = [{‘role’:’user’,
‘content’:prompt}]
Response = openai.ChatCompletion.create(
Model = model,
Messages = messages,
Temperature=0)
Chat model
Assistant
User
调试接口;配置角色;服务验证;优化Prompt细节。
Prompt 的设计
如何设计 Prompt,下文大概会通过4个方面来说明:Prompt 公式,Prompt 原则,Prompt 主体、Prompt 修饰词。
需要注意的是,这里的 Prompt 公式仅仅是个入门级别的参考,是经验的简单总结,在熟悉了 Prompt 的原理之后,可以尽情的发挥脑洞修改 Prompt。