吴恩达ChatGPT《Prompt Engineering》笔记

1. 课程介绍

1.1 ChatGPT 相关术语

LLM:Large Language Model,大语言模型

Instruction Tuned LLM:经过指令微调的大语言模型

Prompt:提示词

RLHF:Reinforcement Learning from Human Feedback,人类反馈强化学习

Completion:补全

Temperature:其范围是0到1,它用于控制模型响应的多样性,可以将其视为模型的探索程度或随机性。

1.2 Instruction Tuned LLM 训练流程

Instruction Tuned LLM 训练流程:已经有在大量语料上进行预训练的模型 Base LLM,然后使用输入和输出格式的指令数据集进行微调,让模型更好的遵循这些指令,然后使用 RLHF 的技术进一步优化,让模型能够更好地遵循指令。最终,模型可以根据提示词生成有用的,诚实的和无害的文本。
在这里插入图片描述

在使用 Instruction Tuned LLM 时,可以将其视为给一个聪明但不知道具体任务的人提供指令。因此,当LLM的效果不尽如人意时,有可能是因为提供的指令不够清晰。

2. 编写提示词指南

2.1 OpenAI API 使用

安装 OpenAI 的库

pip install openai

设置密钥

import openai
import osfrom dotenv import load_dotenv, find_dotenv
# 读取本地 .env 文件
_ = load_dotenv(find_dotenv())openai.api_key = os.getenv("OPENAI_API_LEY")
def get_completion(prompt, model="gpt-3.5-turbo"):messages = [{"role": "user", "content": prompt}]response = openai.ChatCompletion.create(model=model, messages=messages, temperature=0)return response.choices[0].message["content"]

2.2 原则1:编写明确和具体的指令

这样做的目的是让模型生成更详细和更相关的内容。

1)使用分隔符清楚地知识输入的不同部分

在这里插入图片描述

```{text}```指明了让模型需要总结的文本段落。这样做的目的是将提示词的其余部分与该部分文本明确地分隔开,防止无关的内容影响模型的输出结果。下面这些分隔符的作用在当前例子中是等价的。

在这里插入图片描述

2)要求模型的输出格式化为 JSON/HTML 类型

具体的Prompt:

在这里插入图片描述

3)要求模型检查是否满足某些条件

要求模型先检查是否满足某些条件,并让模型分别按照不同情况处理。

在这里插入图片描述
在这里插入图片描述

4)为模型提供少量提示

此举旨在要求模型执行任务之前,在Prompt中提供少量成功执行任务的示例,以让模型学会示例中的风格。

在这里插入图片描述

2.3 原则2:给模型思考的时间

如果模型急于给出回复而导致生成的内容出现推理错误,作为调用方,在模型提供最终答案之前,我们应该尝试重新构建查询请求相关推理的链或序列。

1)指定完成任务所需的步骤

在这里插入图片描述

在这里插入图片描述

2)要求模型在输出结果之前思考解决方案

如果在提示词中,人为规定了处理逻辑,那么默认情况下ChatGPT只会按照提示词中的逻辑处理,如果出错则报错,不会再自行计算。如果想为了规避人为指定处理逻辑出错的问题,可以添加提示词,让ChatGPT在按照人为指定计算逻辑计算出错时,返回ChatGPT按照自己的逻辑的计算结果。

在这里插入图片描述

修正之后的提示词:让模型按照规定的步骤(子任务)去执行。

在这里插入图片描述

上面的提示词说明了:让模型给出自己的解决方案,然后将其与提示词中的方案对比,并评估提示词中的方案是否正确。

在这里插入图片描述

2.4 模型的局限性

1)模型的幻觉

即使使用了大量的知识来训练模型,但它并没有完全记住这些信息。因此,它并不是非常了解其知识的边界,这导致的后果是当模型在尝试回答一些晦涩难懂的问题时,他可能会编造听起来合理但是不正确的内容。这称之为幻觉(Hallucination)。

一个关于牙刷的例子:模型输出了一个不存在的产品的描述。

在这里插入图片描述

2)应对策略

减少这种幻觉的策略是:要求模型首先从文本中找到任何相关的引用,然后要求它使用这些引用来回答问题。加上生成这些答案的引用也有助于减少幻觉。

3. 迭代演进提示词

在这里插入图片描述

以让模型总结一张椅子说明书为例

第一个prompt

在这里插入图片描述

上述提示模型生成的结果太长,不适合放到购物网站的介绍里。所以下一步的优化提示的思路是让模型编写简短的介绍。

在这里插入图片描述

更进一步,要求模型生成最多三句话的描述。

在这里插入图片描述

如果仔细阅读总结可以发现,其面向的对象更可能是面向消费者的,如果要是面向椅子的经销商,他们可能更关注技术细节和材料。所以更进一步,可以要求模型生成更精确地描述技术细节的总结。

在这里插入图片描述

更进一步,让模型生成的结果中包含说明书中的产品型号

在这里插入图片描述
在这里插入图片描述
指明模型的输出格式为 HTML
在这里插入图片描述
在这里插入图片描述

4. 使用LLM总结文本

第一个例子,总结电商网站商品评论,限制30个单词。

在这里插入图片描述

为运输部分生成评论摘要:

在这里插入图片描述

生成的结果中可以看出,模型会更关注这些特定部门的相关信息。

为多条评论生成总结:

在这里插入图片描述

5. 使用LLM推理文本

以一个灯的评论为例,让模型推断这个评论的情感类型:

在这里插入图片描述
在这里插入图片描述

提取评论的情感:

在这里插入图片描述

给出是或否的回答:

将多个提示汇总到一个提示中,让模型统一给出结果:
在这里插入图片描述
在这里插入图片描述

找出一篇文档属于哪个主题:

在这里插入图片描述

其背后的实现是零样本学习算法。

基于上述的提示,可以制作一个新闻提醒的下游应用,当有新的主题文档发布时,可以通知订阅了某些主题的用户。

在这里插入图片描述

6. 使用LLM转换文本

一些文本转换的例子:文本翻译,json转html,word转pdf,csv转excel等等。

文本翻译:

在这里插入图片描述

推断语言:

在这里插入图片描述

翻译成多种语言:

在这里插入图片描述

根据不同的场合进行转换:

在这里插入图片描述

根据不同的语气进行转换:

在这里插入图片描述

json转html:

在这里插入图片描述

修正语法错误:

在这里插入图片描述

修正文本:

在这里插入图片描述

获得原始文本与修正之前文本的差异:

在这里插入图片描述

7. 使用LLM扩展文本

扩展文本旨在将短文本(一组说明或主体列表)通过大语言模型转换成更长的文本(比如一封电子邮件或者关于某个主体的文章)。

本小节将演示使用LLM生成个性化的电子邮件。

在这里插入图片描述
在这里插入图片描述

在使用LLM时,经常碰到的一个参数是温度(Temperature),其范围是0到1,它用于控制模型响应的多样性,可以将其视为模型的探索程度或随机性。

在这里插入图片描述

如果想让模型的响应更有多样性,则可以尝试提高温度值。如果想让模型的响应更稳定和更可预测,则可以将温度值设为0。

在这里插入图片描述

在这里插入图片描述

8. 使用LLM构建聊天机器人

在这里插入图片描述

在这里插入图片描述
系统(system)消息提供了整体的指导方针,通常用于设定助手的行为和人设,引导LLM模型生成内容。其好处是为开发者提供了一种在不将请求体本身作为对话一部分的情况下,引导助手生成更贴近用户意图的输出。

用户(user)消息是用户的输入。

助手(assistant)消息是LLM模型的输出。

聊天机器人构建依赖于另一个API,其传入的不再是单个提示,而是个消息列表。这个列表中包含了多种不同角色的多轮对话的消息。
在这里插入图片描述在这里插入图片描述
OpenAI 的 API 是无状态的,即不会保存聊天的上下文,所以如果要基于ChatGPT构建聊天机器人需要每次调用API前将用户的历史会话放到message列表里一起丢给ChatGPT,这样才可以让其具备上下文的记忆能力。

基于ChatGPT构建OrderBot的示例:
在这里插入图片描述
UI设置:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
UI界面:
在这里插入图片描述
系统角色消息的编写:
在这里插入图片描述
结果:
在这里插入图片描述

9. 总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/8422.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT 最佳实践指南之:使用外部工具

Use external tools 使用外部工具 Compensate for the weaknesses of GPTs by feeding them the outputs of other tools. For example, a text retrieval system can tell GPTs about relevant documents. A code execution engine can help GPTs do math and run code. If a …

《ChatGPT实用指南》(精编版)重磅发布,全网免费分享,快上车,别掉队

文 / 高扬(微信公众号:量子论) 据上次3月18号发布的V1.8版,已经过去十天,这期间AI领域发生了很多重大变化。 因此,我们对《ChatGPT实用指南》进行了重大改版,增加了大量实用的操作和详细的讲解&…

ChatGPT对敏捷实践者的提示

作者 | Stefan Wolpers 作为Scrum实践者,如何获得更好的结果。我选择以更全面的提示为基础,用三个日常场景来呈现ChatGPT。 01、TL; DR:ChatGPT对Scrum从业人员的提示 上周,我根据《Scrum Master面试指南》中的问题,对…

ChatGPT在R语言的应用(一)

💂 个人信息:酷在前行👍 版权: 博文由【酷在前行】原创、需要转载请联系博主👀 如果博文对您有帮助,欢迎点赞、关注、收藏 订阅专栏 📋 文章目录 🐣 一、ChatGPT的简介🐤 二、ChatG…

ChatGPT能取代传统伪原创工具吗?

文章伪原创工具是一种计算机辅助写作工具,通过算法和技术实现对原有文章内容进行修改和改写,生成新的、看起来不同于原文的文章,以达到避免抄袭和提高原创性的目的。今天我们来聊聊传统伪原创工具和使用ChatGPT进行文章改写的优缺点。 一、传…

【ChatGLM-6B】清华开源的消费级显卡大语言模型,本地部署与测试

chatGLM-6B 官方代码:https://github.com/THUDM/ChatGLM-6B官方博客:https://chatglm.cn/blog论文: 2210.GLM-130B: An Open Bilingual Pre-trained Model (开源的双语预训练模型)2103.GLM: General Language Model Pr…

基于ChatGPT-API实现聊天机器人服务

1. 背景 要基于GPT自己去实现一个聊天机器人服务功能实现上其实特别简单:将上游服务过来的请求转换为GPT接口请求发出去然后直接返回或者回调给上游服务即可。但是其中的一些其他问题不知道大家有没有考虑过? 1、搞成一个大同步的实现,当并发…

拥抱ChatGPT,开启结对咨询模式!

ChatGPT刮起了一阵旋风,ChatGPT到底能做什么?做到什么程度?真的会让咨询顾问失业吗?带着这样的疑问,我费尽周折,注册了ChatGPT账号。 我先从一个大众化的话题开启了与ChatGPT的对话:如何提高软件…

IDEA 28 个天花板技巧!

往期热门文章: 1、刚入职的学弟一直埋头写代码,我却让他做这件事。。 2、年少不知编制香,错把编程当做宝。 3、程序员裸辞全职接单一个月的感触 4、ChatGPT 连夜迭代:你老婆不好使了 5、Spring中最常用的11个扩展点 IDEA 作为Java…

会用RabbitMQ延迟插件,代码量直接降一半?

点击关注公众号,Java干货及时送达👇 来源:juejin.cn/post/7173571716294115336 What is rabbitMQ ?RabbitMQ的消息模型Why use rabbitMQ ? 异步解耦削峰How to use rabbitMQ ?基操安装方式功能实现 另外的安装方式&am…

京东一面:MySQL 中的 distinct 和 group by 哪个效率更高?太刁钻了吧!

点击关注公众号,Java干货及时送达 先说大致的结论(完整结论在文末): 在语义相同,有索引的情况下:group by和distinct都能使用索引,效率相同。在语义相同,无索引的情况下:…

美团:这个 SQL 语句加了哪些锁?

点击关注公众号,Java干货及时送达👇 美团问数据库应该是非常多的,尤其喜欢考手写 SQL 然后问你这个 SQL 语句上面加了哪些锁,你会发现其他厂面试基本很少会这样考,所以很多小伙伴遇到这种问题的时候都是一脸懵逼&#…

顶级Javaer都在使用的类库,真香!

点击关注公众号,Java干货及时送达👇 来源:网络 1.日志库2.JSON解析库3.单元测试库4.通用库5.HTTP 库6.XML 解析库7.Excel 阅读库8.字节码库9.数据库连接池库10.消息库11.PDF 库12.日期和时间库13.集合库14.电子邮件 API15.HTML 解析库16.密码…

让ChatGPT长“手”!Meta爆火新论文,让语言模型学会自主使用工具

鱼羊 Pine 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT爆火,Meta也坐不住了。 微软和谷歌正在搜索引擎那边刺刀拼刺刀呢,谁想Meta冷不防抛出一篇新论文,顿时吸引全场目光: 瞄准ChatGPT的“软肋”,让大语言模型自行学会…

OpenAI 何以掀翻 Google 布局多年的AI大棋?

来源: 飞哥说AI 作者|高佳 创意|李志飞 任何大卫击败歌利亚的故事, 都值得我们重新思考。 2023年从一场巨头之间的巨额合作开始,一场汹涌已久的AI暗战摆上了台面。 随着微软和 OpenAI 融资的推进,双方…

AIGC之GPT-4:GPT-4的简介(核心原理/意义/亮点/技术点/缺点/使用建议)、使用方法、案例应用(计算能力/代码能力/看图能力等)之详细攻略

AIGC之GPT-4:GPT-4的简介(核心原理/意义/亮点/技术点/缺点/使用建议)、使用方法、案例应用(计算能力/代码能力/看图能力等)之详细攻略 解读:在2022年11月横空出世的ChatGPT,打遍天下无敌手的时候,就知道会有这么一天,知…

宇宙最强-GPT-4 横空出世:最先进、更安全、更有用

文章目录 前言一、准确性提升1.创造力2.视觉输入3.更长的上下文 二、相比于ChatGPT有哪些提升1.GPT-4 的高级推理能力超越了 ChatGPT2.GPT-4 在多种测试考试中均优于 ChatGPT。 三、研究团队在GPT-4模型都做了哪些改善1.遵循 GPT、GPT-2 和 GPT-3 的研究路径2.我们花了 6 个月的…

ChatGPT五分钟写完插件,功能完善,还可加需求改BUG

开发者(KaiFaX) 面向全栈工程师的开发者 专注于前端、Java/Python/Go/PHP的技术社区 詹士 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT写代码,水平究竟如何? 不到5分钟,做出一个WordPress(一款内容管理系统…

ChatGPT无限可能性:自然语言生成的奥秘

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! ChatGPT无限可能性:自然语言生成的奥秘 数字化时代:跨越语言和文化障碍 冰岛是北大西洋中部的一个岛国,拥有充满活力的科技产业和…

太香了!用chatGPT写正则

chatGPT热度一直持续不下,我们普通人能做什么? 当然是先用起来,和自己工作结合起来,提高效率。 日常工作中正则使用少不了,可以让gpt来写正则,再也不用去小度查了。 今天推荐下朋友开发的gpt 正则工具&…