吴恩达 OpenAI 的Prompt教程笔记 - ChatGPT Prompt Engineering for Developers

文章目录

  • 第一课 Introduction
  • 第二课 Guidelines for Prompting
    • 一、两个原则
      • 1、编写明确和具体的指令
      • 2、给模型足够的时间来思考
    • 二、一个局限性
  • 第三课 lterative Prompt Development
  • 第四课 Summarizing
    • ![在这里插入图片描述](https://img-blog.csdnimg.cn/da068bfbe4604eba9dcddeeaa198aa30.png#pic_center =400x) ![在这里插入图片描述](https://img-blog.csdnimg.cn/a066dddac3a94f76b00abfd83ad49327.png#pic_center =400x)
  • 第五课 Inferring
  • 第六课 Transforming
  • 第七课 Expanding
  • 第八课 Building a Chatbot
  • 第九课 Conclusion
  • Reference

课程标题:ChatGPT Prompt Engineering for Developers (Andrew Ng & Isa Fulford)

课程章节:

  1. 课程简介(Introduction)
  2. 提示工程关键原则 (Guidelines)
  3. 提示工程需要迭代(lterative)
  4. 总结类应用(Summarizing)
  5. 推理类应用(Inferring)
  6. 转换类应用(Transforming)
  7. 扩展类应用(Expanding)
  8. 打造聊天机器人(Chatbot)
  9. 课程总结(Conclusion)

这个视频主要面向开发者,演示全程使用 API 调用。用 API 调用可以起“封装”的作用,让很多提示工程对外部用户不可见。与此同时,使用网页的话,有些提示是看不到的。教了很多开发技巧,逻辑偏向于后台交互尤其是识别分析技巧,而不仅仅是教如何GPT 的使用。


第一课 Introduction

大致有两种类型的 LLMs:

  • Base LLM 基础大模型
    • 基于文本训练数据来预测做“文字接龙”
    • 容易输出有问题的文本,例如有毒的输出
  • Instruction Tuned LLM 指令调整型模型
    • 经过微调,能更有可能输出有益、诚实和无害的文本
    • 实际应用场景大多转向指令调整 LLM
    • 建议大多数人使用指令调整 LLM,因为 OpenAI 等公司的工作使它更安全

这门课将重点介绍指令调整 LLM 的最佳实践 !
Prompt:大模型相当于一个很聪明的人,但不知道具体任务,所以要给它提示。

两种类型 LLMs


第二课 Guidelines for Prompting

API 调用

以下所有实战,都基于这块代码的 API 调用。

一、两个原则

1、编写明确和具体的指令

明确 ≠ 短,更长的提示实际上提供了更多的清晰度和上下文信息,可导致更详细和相关的输出。

四大策略
四大策略

  1. 使用分隔符清楚地指示输入的不同部分,分隔符可以是任何清晰的标点符号。

    分隔符还有一个作用:可以避免提示词冲突。

  2. 要求结构化输出内容。

  3. 要求模型检查是否满足条件。

    如果任务存在假设未必满足,那么可以告诉模型首先检查这些假设,如果不满足,则指示并停止尝试完全完成任务。

    我的理解是,这个步骤更多是针对开发者,用于对输入内容进行检查和判别,当输入内容和 Prompt 的要求不符合时,提供一个反馈。

    例如视频中,一个自动凝练文本内容步骤的任务,当文本内容被替换(不存在步骤)之后,任务无法执行。

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

  1. “少量训练提示”:要求模型执行任务之前,提供成功执行任务的示例。

在这里插入图片描述

2、给模型足够的时间来思考

如果模型因急于做出结论,而出现推理错误,则应尝试重新构建查询请求相关推理的链或序列。

如果给模型一个很复杂的任务,要求在短时间内或少数词中完成它,它可能会猜测结果,这是不正确的。

类似于人类,如果让某个人在没有时间先算出答案的情况下完成一个复杂的数学问题,也可能会犯错。

在这里插入图片描述

  1. 指定完成任务所需的步骤(给好回答步骤)

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

  1. 指示模型在匆忙做出结论之前思考解决方案

    (即在让模型说出答案是否正确之前,为模型提供足够时间去实际思考问题)

    明确指示模型在做出结论之前,先推理出自己的解决方案,然后再下最终结论,相比直接做结论,可以获得更好的结果。

    这个逻辑很有用,尤其在解决逻辑较深奥的问题时,例如视频里面的解数学题:直接判断学生的答题结果误认为是正确的,但先让它解题然判断,则正确判为做错。

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

二、一个局限性

在这里插入图片描述

  1. 即使模型在其训练过程中暴露于大量的知识,它并没有完全记住所看到的信息,因此它并不非常了解知识的边界,意味着它可能会尝试回答关于晦涩主题的问题,并编造听起来合理但实际上不正确的内容。我们将这些虚构的想法称为幻觉,这是模型的已知弱点之一。

    hallucination:幻觉
    可以尝试使用上面的技巧避免出现这种问题。
    在这里插入图片描述

  2. 在希望模型基于文本生成答案的情况下,减少幻觉的一种额外策略是:要求模型首先从文本中找到任何相关的引用,然后要求它使用这些引用来回答问题,并且可以追溯答案回溯文档,通常可以帮助减少这些幻觉


第三课 lterative Prompt Development

正如机器学习算法训练一样,一次训练就能正常工作的可能性很低,Prompt Development 也是一样,也许可能性会大一点。因此需要不断迭代训练。

下图参考吴恩达机器学习的一张图。

在这里插入图片描述

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

PS:Jupyter 直接输入下面代码,可以以 HTML 显示。

from IPython.display import display, HTML

display(HTML(response))

通常只有在应用程序更成熟并且需要这些指标来推动提示改进的最后几步时,才会进行这样的迭代评估。

Notes:

  1. 大语言模型使用分词器来解释文本,往往在计算字符时效果一般

第四课 Summarizing

在这里插入图片描述

概述总结的应用非常多,除了常用的文献凝练,还可以用于读取评论区并分别总结每一条内容。
我的理解:大量输入评论内容,让 GPT 自动总结并排版列表(仪表盘),分析每一条评论是否正面、核心问题、建议等等,有需要详细信息再返回原评论。

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

第五课 Inferring

把目标想象成模型以文本作为输入并执行某种分析的任务。

传统机器学习方法,提取标签、分析情感(正面或负面)等任务,流程复杂,包括标签数据、训练和部署等等,并且每个任务都需要单独的模型。相比之下,大模型有很多优势,只需要 Prompt 就可以开始工作,大大提高开发速度,同一个模型不同 API 完成不同任务。

JSON 是一种数据存储格式,可以被任意语言调用,和 Python 的字典很像。可以让 GPT 识别内容(提取主题列表),并以 JSON 结构化输出,方便 Python 调用。

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

在机器学习中,这类型算法被称为零样本学习算法。因为没有提供任何带标签的训练数据,所以是零样本学习。


第六课 Transforming

大语言模型非常擅长将其输入转换为不同的格式,例如翻译、拼写和语法纠正。相对以往,这些都是通过一堆正则表达式实现的,实现难度较大。


第七课 Expanding

技术是双面性的,文本扩展可以帮助人们写邮件写文章,但也可能会导致垃圾邮件等滥用,是不是同时催生了这类垃圾邮件的检测需求?

语言模型的输入参数:温度,模型响应中变化探索的程度和多样性。

教程的任务:自动回复邮件,回复消费者邮件,根据情感是否积极来对应回复。
在这里插入图片描述

在构建需要可靠和可预测回复的应用程序时,建议使用温度为 0;想要创造性则调高温度值。总之,较高温度下,模型的回答更随机。


第八课 Building a Chatbot

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

系统消息有助于设置助手的行为和人设,并作为高层指令用于对话,可以将它视为在助手的耳边低语,引导它的回应,而用户不会意识到系统消息的存在。
好处:为开发者提供了一种在不将请求本身作为对话一部分的情况下引导助手并指导其回复的方式。

这时候温度值可以调高一点。

💡 很新颖的一个逻辑,理解为向助手描述其应该如何表现,作为一种指导或约束。

在这里插入图片描述

原文表述:

从用户界面中收集提示,然后将其追加到一个名为上下文的列表中,并每次使用该上下文调用模型,模型的响应也会添加到上下文中。所以模型的消息被添加到上下文中,用户的消息也被添加到上下文中,以此类推,这样它就会不断增长,这样模型就拥有了它需要的信息,以确定下一步要做什么。

理解:

可否理解为上下文记忆,就是通过把每次的新消息,都 append 到所有上下文对话的列表里面,然后再一次性全部输入模型,实现类似的“记忆”效果?

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

很酷的交互!已经可以包装成一个点餐应用程序了。
这里使用了较低的温度值,因为这些任务,希望输出是相当可预测的。

在这里插入图片描述


第九课 Conclusion

在这里插入图片描述


Reference

【中文完整版全9集】ChatGPT提示工程师|AI大神吴恩达教你写提示词|prompt engineering

ChatGPT Prompt Engineering for Developers

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

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

相关文章

ChatGPT全栈开发实战:从需求分析到数据可视化,一站式指南助你快速构建全面应用

《ChatGPT全栈开发实战:从需求分析到数据可视化,一站式指南助你快速构建全面应用》是一本旨在引领我们进入全栈开发世界的综合指南。通过结合强大的ChatGPT技术和全栈开发的实践,我们将探索需求分析、后端开发、前端开发、测试、运维、算法优…

ChatGPT:你真的了解网络安全吗?浅谈攻击防御进行时之网络攻击新威胁

ChatGPT:你真的了解网络安全吗?浅谈网络安全攻击防御进行时 网络攻击新威胁1) 人工智能的应用2) 5G和物联网的崛起3) 云安全4) 社交工程的威胁 总结 ChatGPT(全名:Chat Generative Pre-trained Transformer)&#xff0…

ChatGPT 引爆全网热议,如果当它是“聊天机器人”,那你可就错了

近日来,智能聊天机器人ChatGPT的出现引发众多网友讨论,那它到底是什么呢? 2022年11月,人工智能公司OpenAI推出了一款聊天机器人:ChatGPT。它能够通过学习和理解人类语言来进行对话,还能与聊天对象进行有逻…

如何诱导 ChatGPT 露出真实面目?

没上当,继续。 然后,我一次次的询问,让它更新它的答案。 ChatGPT 为了避免出现法律问题,在生成答案的时候,可能设置了答案截断策略,所以有些答案看着明显没有讲完。 再次引导。 开始说具体的一些方法了。 …

ChatGPT上线GPT-4以来最强应用代码解释器(CodeInterpreter),5分钟教会你熟练使用比肩博士

7月9日消息,OpenAI的语言模型ChatGPT推出了新功能:代码解释器(CodeInterpreter)。这个新功能已经对所有Plus订阅用户开放,代码解释器扩展了ChatGPT的功能,为用户带来了更好的交互式编程体验和强大的数据可视…

chatgpt的第一次尝试

openai最近很火,火的公司的市场部门都已经用chatgpt来写市场方案和产品方案了,是市场部总监在一个公寓里住着,两人昨天交流了一些有关chatgpt的认识,在市场部的影响下,开始了chatgpt的第一次试用。 我试用了2个主题&am…

Python实现批量修改文件中的时间属性

在我们平时使用电脑的时候,有时候会有一种需求,需要将目录中文件的访问时间、修改时间修改为近几天。使用python语言恰好可以非常简单的实现我们的需求,将需要修改的目录复制进来即可修改,为了实现仿真性,我们可以将时…

【gpt】免费部署个人gpt平台(无需tz)

方案一:api-key 准备平台 chatgpt api-key:https://beta.openai.com/account/api-keysgithub账号:https://github.com/个人免费域名:https://nic.eu.org/vercel 账号(可以使用github登录):htt…

本地部署chatgpt根据开源项目Pandora

机缘巧合下看了零度解说的视频,然后发现一个巨强大的本地部署的chatgpt的项目,高仿官网的。 项目地址:https://github.com/pengzhile/pandora 本地部署 1、下载并安装Docker 【官网下载】(window、mac、linux都支持) …

【Python小技巧】使用Gradio 构建基于ChatGPT的AI绘图 Web 应用(附源码)

文章目录 前言一、Gradio是什么?二、使用Gradio构建基于ChatGPT的 Web 应用1. 安装gradio库2. 安装openai库(ChatGPT的python库)3. Web 应用示例(源代码) 总结 前言 都说ChatGPT也可以生成图片,好奇的我也…

三分钟教你如何定义自己的ChatGPT

三分钟教你如何定义自己的ChatGPT 成品预览材料准备MyChatGPT自定义AI 成品预览 ![苍老师](https://img-blog.csdnimg.cn/5ec33f6b23064da4a380aa72fdbf528b.png#pic_center 材料准备 总共有两种方式: 一种是使用自己的OpenAI账号,这种方式是可控性比…

【Python小技巧】使用Gradio构建基于ChatGPT的 Web 应用(附源码)

文章目录 前言一、Gradio是什么?二、使用Gradio构建基于ChatGPT的 Web 应用1. 安装gradio库2. 安装openai库(ChatGPT的python库)3. Web 应用示例(源代码) 总结 前言 随着人工智能的不断发展,各种智能算法越…

ChatGPT Plus价格太贵,可以约上三五知己一起上车体验一下,这个项目就能帮到你

对于想体验ChatGPT PLus的小伙伴,可能觉得自己一个人一个月花费20美元,相对于人民币每月137多,确实是一个不少的开支,如果,几个人合作一个账号,这样负担就减少了。刚好,最近逛github发现刚好有一…

科大讯飞回应了:中国版ChatGPT可以乐观以待,有信心实现类似技术跃迁

杨净 萧箫 发自 凹非寺量子位 | 公众号 QbitAI 国内玩家打造中国ChatGPT的劲头,甚至都有点谷歌微软争先恐后那味了。 最具代表性的玩家有两位,一个是有着互联网基因优势的百度,一个是人工智能领域A股龙头企业科大讯飞,都率先做出了…

Web3中文|AI战幔拉开,百度、微软、谷歌等科技企业拉响「红色警报」

2月6日,路透社报道称,谷歌母公司Alphabet宣布将推出名为“Bard”的AI(人工智能)聊天机器人服务以及更多的人工智能项目。 2月7日,百度聊天机器人项目名字确定为“文心一言”,英文名ERNIE Bot,将…

ChatGPT 的 18 种高级玩法,惊到我了!!

点击关注公众号,Java干货及时送达学习 Spring Cloud 微服务的正确姿势!用上 ChatGPT 啦,强的离谱!终于把 Spring Boot 3.0 写成书了!作者:ㄣ知冷煖★ 链接:blog.csdn.net/weixin_42475060/artic…

体验了一下火爆全球的 ChatGPT,我惊呆了

这几天,要说编程圈最热的话题,莫过于OpenAI的ChatGPT,写小说,写代码,找BUG,写论文,画漫画,谱曲……简直没有它干不了的事。 趁着下班时间,我也光速注册体验了一下&#…

Qt6.2教程——1.Qt安装及编写登录界面

本文旨在帮助读者理解如何使用ChatGPT来辅助安装和学习Qt 6.2。我们将从Qt 6.2的基本概念开始,然后深入了解其安装过程,并探讨如何使用ChatGPT作为一个强大的辅助工具。对于那些寻求在学习和使用Qt 6.2中找到有效支持的人来说,这篇文章将提供…

ChatGPT 如何促进智能客服行业发展

章节一:智能客服的背景及发展趋势 随着人工智能技术的快速发展,智能客服正逐渐成为企业服务中不可或缺的一环。相比于传统客服方式,智能客服能够快速地为客户提供满意的解决方案,大幅降低企业的客服成本,提高客户的满意…

AIGC 专栏简介

人工智能(AI)是近年来飞速发展的一门技术,已经在诸多领域得到了广泛的应用,如自然语言处理、图像识别、语音识别、机器翻译、智能客服、自动驾驶等领域。 随着深度学习等技术的发展,人工智能在模型精度和运行效率等方…