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

这篇具有很好参考价值的文章主要介绍了吴恩达 & OpenAI 的Prompt教程笔记 - ChatGPT Prompt Engineering for Developers。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

课程标题: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:大模型相当于一个很聪明的人,但不知道具体任务,所以要给它提示。

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


第二课 Guidelines for Prompting

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

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

一、两个原则

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

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

四大策略
吴恩达 & OpenAI 的Prompt教程笔记 - ChatGPT Prompt Engineering for Developers

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

二、一个局限性

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

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

    hallucination:幻觉
    可以尝试使用上面的技巧避免出现这种问题。
    吴恩达 & OpenAI 的Prompt教程笔记 - ChatGPT Prompt Engineering for Developers

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


第三课 lterative Prompt Development

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

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

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

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

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

from IPython.display import display, HTML

display(HTML(response))

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

Notes:

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

第四课 Summarizing

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

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

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

第五课 Inferring

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

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

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

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

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


第六课 Transforming

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


第七课 Expanding

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

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

教程的任务:自动回复邮件,回复消费者邮件,根据情感是否积极来对应回复。
吴恩达 & OpenAI 的Prompt教程笔记 - ChatGPT Prompt Engineering for Developers

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


第八课 Building a Chatbot

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

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

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

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

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

原文表述:

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

理解:

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

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

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

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


第九课 Conclusion

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


Reference

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

ChatGPT Prompt Engineering for Developers文章来源地址https://www.toymoban.com/news/detail-468249.html

到了这里,关于吴恩达 & OpenAI 的Prompt教程笔记 - ChatGPT Prompt Engineering for Developers的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 吴恩达与OpenAI官方合作的ChatGPT提示工程课程笔记

    🥸 下述代码均在煮皮特上运行喔 Base LLM:基于文本训练数据来预测做“文字接龙” Instruction Tuned LLM(指令调整型LLM):接受了遵循指示的培训,可以根据提前培训的输入输出对结果进行调整 编写明确和具体的指令(明确 ≠ 短) 策略一:用分隔符清楚的指示输入的不同部分

    2024年02月07日
    浏览(33)
  • 玩转ChatGPT:吴恩达/OpenAI合作教程《面向开发者的ChatGPT提示工程》

    一、写在前面 最近,吴恩达与Close Open AI合作出了一个教程《面向开发者的ChatGPT提示工程》,第一时间就观摩了,有些体会,现在把个人觉得有意思的搬运过来。 我的机器学习入门就是看的吴恩达的教程!大佬长得像冯巩,哈哈哈。 原版视频地址: https://www.deeplearning.ai/sh

    2024年02月02日
    浏览(33)
  • 吴恩达和OpenAI的《面向开发者的ChatGPT提示工程》精华笔记

    《ChatGPT Prompt Engineering for Developers》  面向开发者的ChatGPT提示工程 shadow 趁着假期,学习了prompt课程,做了一些精简和关键知识点的梳理,分享给大家。 LLM 可完成的任务 包括: 总结(如总结用户评论) 推断(如情绪分类、主题提取) 转换文本(如翻译、改写) 扩展(如

    2024年02月06日
    浏览(44)
  • 吴恩达 Chatgpt prompt 工程--1.Guidelines

    课程链接 Setup Prompting 原则 原则1: Write clear and specific instructions(写清楚具体的说明) 原则 2: Give the model time to “think”(给模型时间“思考”) 策略(原则1) 策略 1: Use delimiters to clearly indicate distinct parts of the input(使用分隔符清楚地指示输入的不同部分) 分隔符可以是任

    2024年02月03日
    浏览(31)
  • 【AI提示】ChatGPT提示工程课程(吴恩达&OpenAI)转换文本(中文chatgpt版)

    设置 翻译 通用翻译器 语调变换 格式转换 拼写检查/语法检查。 转换 在本笔记中,我们将探索如何使用大型语言模型进行文本转换任务,例如语言翻译、拼写和语法检查、语气调整和格式转换。 ChatGPT 使用多种语言的资源进行训练。这使模型能够进行翻译。以下是如何使用

    2024年02月07日
    浏览(62)
  • 【AI提示】ChatGPT提示工程课程(吴恩达&OpenAI)推理文本(中文chatgpt版)

    设置 Setup 产品评论文本 情感(正面/负面)Sentiment (positive/negative) 识别情绪类型 从客户评论中提取产品和公司名称 一次完成多项任务 Inferring topics 推断主题 为某些主题制作新闻提醒 Inferring 推理 在本课中,您将从产品评论和新闻文章中推断情绪和主题。 设置 Setup 产品评论

    2024年02月07日
    浏览(64)
  • Openai+Coursera: ChatGPT Prompt Engineering(二)

    这是我写的ChatGPT Prompt Engineerin的第二篇博客,如何还没看过第一篇的请先看我写的第一篇博客: ChatGPT Prompt Engineerin(一) 今天我们的重点关注按特定主题来总结文本。 下面我们来定义一段文本,该文本来自于一个电商网站的客户评论,我们要让ChatGPT来对这段文本进行总结,由

    2024年02月05日
    浏览(23)
  • Openai+Coursera: ChatGPT Prompt Engineering(一)

    今天我学习了DeepLearning.AI的 Prompt Engineering 的在线课程,我想和大家一起分享一下该门课程的一些主要内容。 下面是我们访问大型语言模(LLM)的主要代码: 原则1:写出清晰和具体的说明 ( Write clear and specific instructions ) 原则2:给模型时间“思考” ( Give the model time to “think”

    2024年02月07日
    浏览(25)
  • 吴恩达+Open AI 《面向开发者的ChatGPT Prompt 工程》课程学习2——prompt指导原则1

    吴恩达+Open AI 《面向开发者的ChatGPT Prompt 工程》课程学习1——课程介绍 吴恩达+Open AI 《面向开发者的ChatGPT Prompt 工程》课程学习2——prompt指导原则1(本博文) prompt编写指导原则1:写出清晰而具体的指示。 本节课讲述方式:理论+代码实践。 1 在整个课程中,我们将使用

    2024年02月07日
    浏览(30)
  • Openai+Deeplearning.AI: ChatGPT Prompt Engineering(六)

    想和大家分享一下最近学习的Deeplearning.AI和openai联合打造ChatGPT Prompt Engineering在线课程.以下是我写的关于该课程的前五篇博客: ChatGPT Prompt Engineering(一) ChatGPT Prompt Engineering(二) ChatGPT Prompt Engineering(三) ChatGPT Prompt Engineering(四) ChatGPT Prompt Engineering(五) 今天我们来学习第五部分

    2024年02月07日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包