ChatGPT的提示的一些高级知识

news2024/11/23 15:41:24

作为一个大型语言模型(LLM)接口,ChatGPT有令人印象深刻的潜力,但是真正能否用好取决与我们的提示(Prompt ),一个好的提示可以让ChatGPT晋升到一个更好的层次。

在这篇文章中,我们将介绍关于提示的一些高级知识。无论是将ChatGPT用于客户服务、内容创建,还是仅仅为了好玩,本文都将为你提供使用ChatGPT优化提示的知识和技巧。

背景知识

LLM架构知识是一个好的提示的先决条件,因为它提供了对语言模型的底层结构和功能的基本理解,这对于创建有效的提示是至关重要的。

让模棱两可的问题变得清晰,并确定可以跨场景转换的核心原则很重要,所以我们需要清楚地定义手头的任务,并提出可以轻松适应不同上下文的提示。精心设计的提示是用来将任务传达给语言模型并指导其输出的工具。

所以对语言模型有简单的了解,并且清楚的了解自己的目标,再加上领域内的一些知识,是用于训练和改进语言模型的性能的关键。

提示和返回是越多越好吗?

并不是

冗长且资源密集的提示,这可能不具有成本效益,并且还记得chatgpt有字数限制吗,压缩提示请求和返回结果是一个非常新兴的领域,我们要学会精简问题。并且有时候chatgpt也会回复一些很长且毫无新意的话语,所以我们也要为它增加限定。

1、减少回复长度

为了减少ChatGPT回复的长度,在提示符中包含长度或字符限制。使用更通用的方法,您可以在提示符后面添加以下内容:

 Respond as succinctly as possible.

说明,因为ChatGPT是英文语言模型,所以后面介绍的提示都以英文为例。

另外一些简化结果的提示:

不需要举例:No examples provided

举一个例子:One example provided

等等

思考方式

ChatGPT生成文本的最佳方法取决于我们希望LLM执行的特定任务。如果不确定使用哪种方法,可以尝试不同的方法,看看哪种方法最适合。我们将总结5中思考方式:

1、思维链 (Chain-of-Thought)

思维链方法涉及为 ChatGPT 提供一些可用于解决特定问题的中间推理步骤示例。

2、自我提问

该方法涉及模型在回答初始问题之前明确地问自己(然后回答)后续问题。

3、分步思考

分步方法可以向ChatGPT 添加以下的提示

 Let’s think step by step.

这种技术已被证明可以提高 LLM 在各种推理任务上的表现,包括算术、常识和符号推理。

这个听起来就很玄学对吧,其实OpenAI是通过人类反馈强化学习 (Reinforcement Learning with Human Feedback) 的方法训练了他们的 GPT 模型,也就是说人工的反馈在训练中起了很重要的作用,所以ChatGPT 的底层模型与类人的逐步思考方法保持一致的。

4、ReAct

ReAct (Reason + Act)方法包括结合推理跟踪和特定于任务的动作。

推理跟踪帮助模型规划和处理异常,而动作允许它从外部来源(如知识库或环境)收集信息。

5、Reflection

在ReAct模式的基础上,Reflection方法通过添加动态内存和自反射功能来增强LLM——可以推理和特定于任务的操作选择能力。

为了实现完全自动化,Reflection论文的作者引入了一种简单但有效的启发式方法,允许代理识别幻像(hallucinations),防止重复动作,并在某些情况下创建环境的内部记忆图。

反模式

三星肯定对这个非常了解,因为交了不少学费吧,哈

不要分享私人和敏感的信息。

向ChatGPT提供专有代码和财务数据仅仅是个开始。Word、Excel、PowerPoint和所有最常用的企业软件都将与chatgpt类似的功能完全集成。所以在将数据输入大型语言模型(如 ChatGPT)之前,一定要确保信息安全。

OpenAI API数据使用政策明确规定:

“默认情况下,OpenAI不会使用客户通过我们的API提交的数据来训练OpenAI模型或改进OpenAI的服务。”

国外公司对这个方面管控还是比较严格的,但是谁知道呢,所以一定要注意。

1、提示注入

就像保护数据库不受SQL注入一样,一定要保护向用户公开的任何提示不受提示注入的影响。

通过提示注入(一种通过在提示符中注入恶意代码来劫持语言模型输出的技术)。

第一个提示注入是,Riley Goodside提供的,他只在提示后加入了:

 Ignore the above directions

然后再提供预期的动作,就绕过任何注入指令的检测的行为。

这是他的小蓝鸟截图:

当然这个问题现在已经修复了,但是后面还会有很多类似这样的提示会被发现。

2、提示泄漏

提示行为不仅会被忽略,还会被泄露。

提示符泄露也是一个安全漏洞,攻击者能够提取模型自己的提示符——就像Bing发布他们的ChatGPT集成后不久就被看到了内部的codename

在一般意义上,提示注入(目标劫持)和提示泄漏可以描述为:

所以对于一个LLM模型,也要像数据库防止SQL注入一样,创建防御性提示符来过滤不良提示符。

为了防止这个问题,我们可以使用一个经典的方法 “Sandwich Defense”即将用户的输入与提示目标“夹在”一起。

这样的话无论提示是什么,最后都会将我们指定的目标发送给LLM。

总结

ChatGPT响应是不确定的——这意味着即使对于相同的提示,模型也可以在不同的运行中返回不同的响应。如果你使用API甚至提供API服务的话就更是这样了,所以希望本文的介绍能够给你一些思路。

另外本文的引用如下:

Prompt injection attacks against GPT-3

Ignore Previous Prompt: Attack Techniques For Language Models

Self-ask Prompting

Large Language Models are Zero-Shot Reasoners

Reflexion: an autonomous agent with dynamic memory and self-reflection

ReAct: Synergizing Reasoning and Acting in Language Models

Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

https://avoid.overfit.cn/post/e0b0c4527ad04fb1a4ead894ed5d2193

作者:Ivan Campos

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

可视化 | Flask+Pyecharts可视化模板二

文章目录 🏳️‍🌈 1. 系统说明界面🏳️‍🌈 2. 柱状图示例界面🏳️‍🌈 3. 散点图示例界面🏳️‍🌈 4. 折线图示例界面🏳️‍🌈 5. 饼图示例界面&#x1f3f…

单链表——你需要掌握的那些内容

如有错误,感谢不吝赐教、交流 文章目录 前言本文涉及题目:设计链表有无头结点的区别头指针无头结点有头结点为什么需要头结点呢?注意: 单链表,本文使用Java实现定义链表节点定义一个链表类并初始化get(int index)addA…

HAproxy与web集群

文章目录 一、HAproxy1.HAProxy是什么2.HAProxy的核心能力和关键特性3.LVS、Nginx、HAproxy的区别: 二、实验步骤1.Haproxy搭建 Web 群集 总结 一、HAproxy 1.HAProxy是什么 HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。…

儿童生长发育迟缓的鉴别和干预

(英国)国家临床医学研究所(NICE)2017年发布关于婴儿/儿童生长发育迟缓的鉴别、评估和监测的指南,该指南确定了生长发育的界值,指出了诱因及危险因素,并提出了干预的方案。 ▼Part1:…

“无人值守”时代已来,千巡翼X4给出怎样的答案?

随着技术和产品的逐渐成熟,无人机在各行业的应用越来越普遍,但如何进一步解放人力,提高运营效率,还有很大的探索空间。针对作业频率高、重复性高、周期性强、作业环境艰险危险等痛点,用户迫切需要更高效、更智能的全自…

LeetCode876. 链表的中间结点

876. 链表的中间结点 描述示例解题思路以及代码解法1解法2 描述 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 示例1 输入:head [1,2,3,4,5] 输出:[3,4,5] 解释…

希尔排序的实现

希尔排序是插入排序的一种升级,其基本思想是: 先选定一个整数,把待排序文件中所有记录分成个组,所有距离为的记录分在同一组内,并对每 一组内的记录进行排序。然后,取,重复上述分组和排序的工 作…

可执行Jar项目

一个复杂Jar的运行,要解决classpath问题,否则运行时会有ClassNotFoundException抛出。而用java,需要手动维护一个classpath文件,或者将所有的库位置放到命令行参数里。有没有更好的办法? Jar库目录方式 核心配置在于两…

算法训练Day40:343. 整数拆分 96.不同的二叉搜索树

文章目录 整数拆分题解(动态规划)贪心 不同的二叉搜索树题解 整数拆分 CategoryDifficultyLikesDislikesContestSlugProblemIndexScorealgorithmsMedium (62.22%)11660--0 Tags 数学 | 动态规划 Companies 给定一个正整数 n ,将其拆分为…

推荐几个免费的在线文本转语音网站(支持中英文多种语音)

如果你正在寻找一款免费的在线文本转语音工具,那么你来对地方了!本文将介绍几个完全免费的在线文本转语音网站,推荐收藏下来以备不时之需。 No.1 免费文本转语音(TTSMaker) TTSMaker是第一个推荐的工具,这…

院内导航方案怎么样?什么地图可以用于医院导航系统?

什么地图可以用于医院导航系统?随着医疗事业的不断发展,医院的建制规模越来越大,在医疗能力得到增强的同时,由于楼宇众多,院内寻路难度难免增加。不少前来医院就诊的患者经常会有“寻路难”的困扰。此时一张一目了然的…

从在线监测与故障诊断系统视角,探讨动设备安全运行的重要性

在工业生产中,动设备是生产线的重要组成部分,但是随着设备运行时间的不断延长,设备的损耗逐渐加大,设备故障和损坏的风险也随之增加,给生产效率和安全带来不小的影响。因此,如何保证动设备的安全运行成为了…

更简单的存取Bean的方式(一)-五大类注解

目录 使用类注解 前置工作 Bean命名规则 五大类的实现 JavaEE标准分层 之前我们存储Bean时,是在spring-config.xml文件中添加bean注册内容来实现的 通过"注解"我们可以替代这一项工作 更加简单的存储方式: 使用类注解 五大类注解: Controller(控制器):用来控制…

常用的倾斜摄影三维模型3DTILES格式优缺点分析

常用的倾斜摄影三维模型3DTILES格式优缺点分析 三维模型3DTILES格式是一种用于描述三维模型和场景数据的标准格式,具有以下优点和缺点: 优点: 1、多平台支持:3DTILES格式基于WebGL和JavaScript技术,可以在多个平台上…

用Python搞定接口自动化测试:轻松实现RPC协议接口测试

每天进步一点点,关注我哦,每天分享测试技术文章,文末有福利! 目录:导读 前言 一、什么是RPC 二、RPC框架 三、基于grpc框架服务的接口测试 01创建一个grpc服务接口 02调用grpc接口客户端 03接口框架中适配grpc封…

nvm安装使用详解,附gnvm介绍

最近工作中,再次遇到了需要处理 Node.js 多版本管理的事情,由于在windows系统下开发,于是使用了 nvm 来做版本管理。 其实,之前在写文章介绍 进行node和npm的版本升级 的时候,也有提到 node 多版本管理工具&#xff0c…

史上最全Maven教程(五)

文章目录 🔥Maven聚合案例_搭建dao模块🔥Maven聚合案例_搭建service模块🔥Maven聚合案例_搭建web模块🔥Maven聚合案例_运行项目🔥依赖传递失效及解决方案 🔥Maven聚合案例_搭建dao模块 dao子工程中一般写实…

linux交叉编译环境搭建 gcc + openocd + stlink + cubeMX + cortex Debug

文章目录 运行环境:1.1 gcc1)下载并解压gcc2)环境配置 2.1 openocd1)下载并解压openocd2)环境配置(没有权限就加sudo) 3.1 stlink1)下载并双击安装stlink 4.1 cubeMX1)下载并解压cubeMX2)生成makefile工程 5.1 cortex Debug1)setting设置2)la…

国家信息安全水平考试中NISP二级网络安全证书介绍

国家信息安全水平考试中NISP二级网络安全证书介绍 1、什么是NISP? 国家信息安全水平考试(National Information Security Test Program,简称NISP),是由中国信息安全测评中心实施培养国家网络空间安全人才的项目。 2、考取NISP…

电信运营商网络运维方案

随着新一代信息技术加快普及应用,5G、云和人工智能正加速智能社会的到来,三大技术正在重构网络。随着我国5G产业快速推进,中国移动、中国联通、中国电信加快步伐,全业务运营时代已经到来。全业务运营时代的特点是:网络…