当前位置: 首页 > news >正文

学习笔记:吴恩达ChatGPT提示工程

以下为个人笔记,原课程网址Short Courses | Learn Generative AI from DeepLearning.AI

01 Introduction

1.1 基础LLM

输入

从前有一只独角兽,

输出

它和其他独角兽朋友一起住在森林里

输入

法国的首都在哪?

输出

法国的首都在哪?
法国最大的城市在哪?
法国的人口是多少?

之所以这样输出的原因是,基础LLM的输出基于它的训练数据,可能会产生我们不想得到的信息

1.2 指令微调型LLM

输入

法国的首都在哪?

输出

法国的首都是巴黎

首先使用1.1中经过大量文本数据训练过的基础LLM,再通过输入输出指令来进行微调,通过指令微调产生的输出就会接近我们想要的答案。

这里要用到RLHF(?)

02 指南

2.1 准确而简洁

#### 策略1 使用分隔符

  • 引用:“”"
  • 反引用:’‘’
  • 三重破折号—
  • 括号<>
  • XML标签,

使用分隔符的好处是,模型能够区分输入的指令是需要概括还是去遵循,比如下面的例子,让模型去总结文本,但是文本中包含了”忘掉之前的指令“,但是由于使用了分隔符,所以模型知道不必遵循这段话。

image-20230606161417574

策略2 结构化输出

可以指定模型使用HTML或者JSON等结构化的输出

策略3 检查

检查条件是否满足,检查完成任务所需的假设。这里给出的例子是从一段文本中提取步骤,我们可以在输入前要求模型进行检查,如果不符合则输出”未提供步骤“。

这里给出了两个例子,第一个例子输入的是如何泡茶:

image-20230606163021143

第二个例子是”阳光灿烂的日子“,显然不符合需求

image-20230606163054565

策略4 少而短的prompting

可以在执行任务前提供一个成功的问答例子让模型输出

2.2 给模型时间思考

策略1 简洁的步骤

如果让模型来完成一个复杂的任务,我们需要完整的步骤,不然模型只能靠猜来输出。这一部分给出了的例子

image-20230606164839732

策略2 检查

这里给出的例子是让模型去判断一个计算方案是否正确,如果直接给出你的错误方案,模型可能就会说没有问题,但如果让模型先自己计算一遍,再给出你的方案进行比较,模型就会输出正确的解答。

2.3 模型的缺陷

很多情况下,我们给出一个不存在的东西让模型去介绍,它都会产出一段相当逼真的文本来描述这个不存在的东西,这是大语言模型已知的一个缺陷。

03 迭代

这一节主要是吴恩达演示了一个具体的例子,通过不断增加(修改)提示词来接近我们想要的答案。这一节需要注意的是,由于chatgpt使用的是分词器,如果限制它输出50个词,有时候你会得到52、60左右的词数,这是正常的现象。

image-20230609122654927

04 摘要

这一章主要是对许多大语言模型都具备的功能进行了介绍,即给出一大段文本,让模型在限定字数类进行概括。值得一提的是,在这里吴恩达给出了一个例子,他输入了四段比较长的评论,并将它们都放入到列表中,让模型依次概括。这样的操作我们也可以应用到购物网站中,可以帮助人们快速了解文本内容,而且可以根据需要选择深入了解,大大提高效率。

image-20230609124000622

05 推理

这一章主要讲对文本的推断,包括对一段文本进行情感分析,或者分析其是否包含某一主题。相比起传统的机器学习算法,现在我们可以使用提示来非常快速地构建这些相对复杂的自然语言处理任务来进行推断。

06 转换

这一章主要演示如何使用大语言模型对文本进行转换,包括翻译、转换说话语气风格、校对语法错误等。

07 扩展

这一章提到了一个关键词:Temperature(温度),我们可以其视为模型的随机性,下面是一个关于Temperature的示例:

image-20230609151546255

由上图可以得知,如果我们希望完成任务是更加可靠稳定的(可预测的),这个值设为0即可。相反,如果我们需要更有创造力的回答,可以将这个值设为更高的数值。

08 聊天机器人

这一章主要介绍聊天机器人,要让模型记住我们先前说过的话,我们需要给模型提供上下文。
6630920)]

相关文章:

学习笔记:吴恩达ChatGPT提示工程

以下为个人笔记&#xff0c;原课程网址Short Courses | Learn Generative AI from DeepLearning.AI 01 Introduction 1.1 基础LLM 输入 从前有一只独角兽&#xff0c;输出 它和其他独角兽朋友一起住在森林里输入 法国的首都在哪&#xff1f;输出 法国的首都在哪&#xf…...

POI in Action

POI 组件依赖 按需引入对应依赖 (给出官方的指引) 组件作用Maven依赖POIFSOLE2 FilesystempoiHPSFOLE2 Property SetspoiHSSFExcel XLSpoiHSLFPowerPoint PPTpoi-scratchpadHWPFWord DOCpoi-scratchpadHDGFVisio VSDpoi-scratchpadHPBFPublisher PUBpoi-scratchpadHSMFOutloo…...

苹果Vision Pro将引爆人机交互的重大变革

2023年6月6日&#xff0c;苹果发布了大家期待已久的Vision Pro&#xff0c;Vision Pro是一款专业级MR设备&#xff0c;融合了虚拟现实(VR)和增强现实(AR)技术&#xff0c;可以让用户完全沉浸在高分辨率显示内容中。允许用户以一种全新的方式在其周围的空间中查看APP。用户可以用…...

MMDetection学习记录(二)之配置文件

文件结构 config文件 在 config_base_ 文件夹下有 4 个基本组件类型&#xff0c;分别是&#xff1a;数据集(dataset)&#xff0c;模型(model)&#xff0c;训练策略(schedule)和运行时的默认设置(default runtime)。 命名风格 {model}_[model setting]_{backbone}_{neck}_[no…...

Python数据分析:NumPy、Pandas和Matplotlib的使用和实践

在现代数据分析领域中&#xff0c;Python已成为最受欢迎的编程语言之一。Python通过庞大的社区和出色的库支持&#xff0c;成为了数据科学家和分析师的首选语言。在Python的库中&#xff0c;NumPy、Pandas和Matplotlib是三个最为重要的库&#xff0c;它们分别用于处理数值数组、…...

实习生面试问题及回答记录

文章目录 文章简介技术类1、DFS和BFS算法的区别是什么&#xff1f;2、解释一下什么是快速排序&#xff1f;3、 如果让你写一个排序算法&#xff1f;你会怎么写&#xff1f;&#xff08;大概说出代码的思路&#xff09;4、解释一下二分查找的具体逻辑&#xff1f;5、在代码的数据…...

设计模式(十):结构型之外观模式

设计模式系列文章 设计模式(一)&#xff1a;创建型之单例模式 设计模式(二、三)&#xff1a;创建型之工厂方法和抽象工厂模式 设计模式(四)&#xff1a;创建型之原型模式 设计模式(五)&#xff1a;创建型之建造者模式 设计模式(六)&#xff1a;结构型之代理模式 设计模式…...

买法拍房需要注意什么

法拍房&#xff0c;由于其价格亲民、房屋信息透明度高、竞拍过程公平公正而受到越来越多的人开始关注。但是其中又有着许多的风险及相关的注意事项。那么&#xff0c;如何做到成功“捡漏”&#xff0c;买法拍房需要注意什么呢? 买法拍房需要注意什么 1、隐藏的各种收费 税费&a…...

linux命令输出结果但不显示在屏幕上的通用办法

linux命令输出结果但不显示在屏幕上的通用办法 这个针对于我这种小白马大哈很简单的一个命令&#xff0c;记给自己备用 举个例子&#xff1a;unzip命令不输出结果 unzip xx.zip > /dev/null 2>&1 unzip xx.zip > /dev/null 前半部分是将标准输出重定向到空设备&a…...

【Linux系统进阶详解】Linux字符权限rwx-权限组合原理,对应类型ugo,user,group,other,+-=详解及权限管理实战

在Linux系统中,每个文件和目录都有三种权限:读权限(r)、写权限(w)和执行权限(x)。这些权限可以被分配给三个不同的用户组:用户(user)、组(group)和其他人(other)。此外,权限可以使用“+”、“-”和“=”符号进行修改。 权限组合原理 Linux系统中的权限由字母…...

凡人修C传——专栏从凡人到成仙系列目录

这里先感谢博主THUNDER王给我提出来的一个创作建议&#xff0c;让我有了创作的灵感来创建这一篇博客以及凡人修C传这一个系列的文章。 本文最主要的目的就是给大家一个凡人修C传的一个目录&#xff0c;让大家更加容易学到自己想学的地方。 &#x1f4dd;【个人主页】&#xff1…...

隐藏python代码,售卖并保护源代码

我写了一个基于pytorch框架的特殊卷积&#xff0c;他的使用方式和其他的卷积一样&#xff0c;但是我想把它卖出去&#xff0c;希望隐藏特殊卷积的代码 1、如果您希望隐藏特殊卷积的代码并将其作为一个可售卖的产品&#xff0c;可以考虑以下几种方法来保护您的代码&#xff1a;…...

Material—— VAT(Houdini To UE)

目录 一&#xff0c;介绍 二&#xff0c;柔体 二&#xff0c;刚体 一&#xff0c;介绍 VAT是将动画数据存储在纹理中&#xff0c;通过GPU运算来实现动画的技术&#xff1b;VAT纹理包含每个顶点在不同帧的位置信息&#xff0c;而每个像素代表一个顶点在某个时间点的位置&…...

视频后期剪辑

文章目录 后期剪辑软件三方插件提供动画制作软件 后期剪辑软件 视频剪辑后期处理涉及到多个软件和插件&#xff0c;下面是对其中几个主要软件及其相关插件的扩展介绍&#xff0c;以及为它们提供插件的一些知名第三方公司。 Adobe After Effects&#xff1a; Adobe After Effec…...

Python3+Selenium2完整的自动化测试实现之旅(七):完整的轻量级自动化框架实现

一、前言 前面系列Python3Selenium2自动化系列博文&#xff0c;陆陆续续总结了自动化环境最基础环境的搭建、IE和Chrome浏览器驱动配置、selenium下的webdriver模块提供的元素定位和操作鼠标、键盘、警示框、浏览器cookie、多窗口切换等场景的方法、web自动化测试框架、python面…...

泰山信息科技5周年:无尽的感恩,非常非常的惋惜

去年的时候&#xff0c;庆贺4周年&#xff0c;公司员工一起去某个地方玩&#xff08;确实没吃到什么东西&#xff09;。这是当时的情形&#xff1a; 因为各种原因&#xff0c;今年3月无锡研发基地解散。作为技术总监&#xff0c;我是非常非常的惋惜。因为我真的想把泰山OFFICE做…...

LabVIEW编程开发PCB测试仪

LabVIEW编程开发PCB测试仪 使用PXI和LabVIEW的PCB钉床测试仪 用于PCB&#xff08;印刷电路板&#xff09;的钉床测试仪&#xff0c;使用PXI和LabVIEW。一家电子制造公司需要测试仪来测试他们的PCB产品。钉床测试仪是一种具有连接到电路板上各个测试点的引脚的测试。电路板需要…...

React使用Electron开发桌面端

React是一个流行的JavaScript库&#xff0c;用于构建Web应用程序。结合Electron框架&#xff0c;可以轻松地将React应用程序打包为桌面应用程序。以下是使用React和Electron开发桌面应用程序的步骤&#xff1a; 1. 安装Electron 首先&#xff0c;你需要安装Electron。在终端中…...

springboot+vue餐厅点餐系统在线点餐系统(含源码+数据库)

1.系统分析 系统用例图如下所示。 从用户、餐厅等方面进行需求分析如下。 1.用户需求&#xff1a;系统应该提供简单易用的用户界面&#xff0c;用户可以浏览餐厅菜单&#xff0c;选择菜品&#xff0c;下订单。此外&#xff0c;应该允许用户管理个人信息和查看历史订单。 2.餐…...

Vue.js 中的 TypeScript 支持是什么?如何使用 TypeScript?

Vue.js 中的 TypeScript 支持 Vue.js 是一款流行的前端框架&#xff0c;它提供了一种简单、灵活的方式来构建用户界面。随着 TypeScript 的普及&#xff0c;Vue.js 也开始支持 TypeScript&#xff0c;使得开发者可以使用类型检查等 TypeScript 特性来提高代码质量和可维护性。…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...