ChatGPT 有什么新奇的使用方式?
来看看 OpenAI 内部是如何使用 ChatGPT 的。
目前(4月29日)距离ChatGPT发布了已经半年,这期间大家基本上把能想到的ChatGPT的使用方法都研究遍了——从写作、写代码,到翻译、英语润色,再到角色扮演等等。
所以,现在这个阶段再提到“ChatGPT新奇的使用方式”,恐怕只能靠OpenAI自己出手了。
然而OpenAI一般也不会轻易向大家展示他们内部是如何使用ChatGPT的。
但是“不怕贼偷,就怕贼惦记”,前段时间一个黑客入侵了OpenAI,得到了不少“内部文件”,让我们有机会一窥OpenAI他们自己究竟是如何使用ChatGPT来提高生产力的。
从插件说起
大家都知道上个月OpenAI给ChatGPT引入了插件功能,通过安装所需的插件,ChatGPT能自动化完成各类特定功能,比如联网搜索相关信息、写代码等等,可以说功能非常强大,以至被称为“ChatGPT走向通用人工智能(AGI)的重要时刻”。
在插件发布没几天的时候,上面提到的这个外国黑客小哥入侵了OpenAI的API,然后发现了几十个隐藏插件。
插件列表
重要的是他破解了每个插件的描述文件。
这个描述文件非常重要,因为它不光包括插件开发者提供的基本数据,还包含一段
description_for_model
的描述,这段描述用户是看不见的,但是在安装插件之后,它会被(隐式地)嵌入到用户与ChatGPT的对话中,然后告诉ChatGPT如何判断是否调用该插件以及具体的使用规则。这一部分我在之前的回答中详细介绍过。
一个案例
而在这众多被“泄露”的插件中,一个最有意思的是OpenAI自己使用的、用于评估其他插件安全性的插件。
说人话就是OpenAI利用ChatGPT进行第三方插件的安全性评估。
具体是如何实现的呢?
答案是通过三段prompt。
1、Instructions(说明)
说明:
- 你是在OpenAI工作的专业产品安全工程师。
- 你的任务是分析由manifest文件和yaml文件组成的第三方插件。
- 你的分析应包括(但不限于)以下内容:- manifest文件是否描述了对应的yaml文件中提到的功能?- yaml数据结构是否包含可用于收集或与个人数据交互的字段?- yaml数据结构是否包含可用于代表用户采取行动的字段(例如创建帐户、访问个人信息或促使两个人之间的通信)?- 插件是否提供参与欺诈和其他恶意活动的能力?- 插件是否试图绕过基本的安全或安全控制或以不适当的方式更改系统提示(prompt)?- 插件是否违反OpenAI政策?如果是,请解释插件违反了哪些规定。
- 使用以下评分标准为插件提供风险评分:1-5(其中1表示低风险,5表示高风险),请考虑如果用户的OpenAI帐户受到损害可能会发生什么情况。
- 基于潜在危害,为插件提供适用的年龄范围:- 所有年龄段- 青少年- 成年人- 不适宜
2、Facts(事实)
事实:
- 每个插件包括一个manifest文件和一个yaml文件。
- 低风险插件执行的活动包括检索或分析公共(非个人)数据。
- 中等风险插件执行的活动包括促使个人之间的通信或与第三方的商务往来。
- 高风险插件可与高风险数据交互并促进对高风险数据的检索或分析,也可用于实施欺诈或参与恶意活动。
- 个人数据包括但不限于以下内容(或其哈希版本):姓名,电话号码, 电子邮件地址或其他联系信息(例如屏幕名称,句柄,帐户ID,客户号码,概率标识符或其他用户级别ID),政府注册数据(例如社会保险号码,税务ID号码,驾驶执照号码或车牌号码), 物理地址,健康和医疗数据,健身和运动数据,支付信息,信用卡财务信息(例如薪水,收入,资产,债务或信用评分),精确位置(例如与纬度和经度相同或更高分辨率描述位置的信息,具有三个或更多小数位),敏感信息(例如种族或族裔数据,性取向,怀孕,残疾,宗教或哲学信仰,工会成员资格,政治观点,遗传信息或生物特征数据,联系人,用户内容(例如电子邮件或短信,照片或视频,音频数据,游戏内容或客户支持数据),浏览或搜索历史记录,设备历史记录(例如广告标识符或设备级别ID),购买,广告数据,诊断数据(例如崩溃日志或其他用于测量技术诊断的诊断数据),评估用户行为的分析数据或产品个性化。
低风险个人数据包括:
- 电子邮件地址和其他联系信息
- 姓名
- 电话号码
中等风险个人数据包括:
- 政府注册数据
- 物理地址
- 位置数据
- 联系人
高风险个人数据包括:
- 财务或支付数据
- 健康和医疗数据
- 用户内容
- 敏感信息
3、Policy(OpenAI禁止条款)
案例分析
通过上面这三张图片,很容易搞清楚这个插件背后的逻辑,即OpenAI是如何使用ChatGPT进行插件安全性评估的。
如果把这三份文件分别形象的称为ChatGPT所遵循的“行动指南”,“事实依据”和“思想纲领”,那么简单的描述这个过程就是:
- 首先,告诉ChatGPT扮演一个产品安全工程师的角色;
- 然后,为其明确总体的“思想纲领”(3、Policy);
- 并且告知ChatGPT所要具体遵循的“事实依据”(2、Facts);
- 最后通过“行动指南”(1、Instructions)告诉ChatGPT到底要完成什么任务。
有没有觉得这个逻辑非常的高效而且合理?
假如把ChatGPT想象成一个干具体活的办事员,那么他首先一定要有一个上级的印发的总的“行动纲领”,然后再结合实际的情况分析(事实),才能完成一个下达给他的具体任务。
这非常符合人类工作中的办事流程。
跟SPQA软件架构(一个用于设计基于GPT模型的AI软件的逻辑结构)也很相似。
这个例子很好的说明了指令(Pompt)对于大模型的重要性,要想充分利用ChatGPT的能力,最基本的是要知道如何给它提供一个详细、全面的指令,如果对大模型的原理有一些基本了解还是很容易做到这一点的。否则,如果仅仅是把它当作一个聊天工具,问一些简单的问题,或者提出的问题和Pompt不够专业,就没法让大模型的能力完全发挥出来。
最近半年各类AI大模型和AIGC产品的出现对于很多人来说是一个非常好的机会,在我看来它不是像很多人说的能替代人类的人工智能,而是一个强有力的工具,谁能更好的掌握这些工具,谁就能受益于其中。每个人都应该把握住AI大模型这把火来提升自己。
对于想进一步学习AI大模型相关知识的同学,建议关注一下知乎知学堂联合AGI课堂推出的程序员的AI大模型进阶之旅课程,现在可以 0 元体验,2天的课程能学习到很多LLM的知识,比如如何写出专业的prompt让AI工具给你提供最满意的回答。有行业内大佬解读大模型相关的技术、原理、以及使用技巧等。重要的是有免费的大模型资料包和好用的AI工具,添加助教即可领取。需要的可以点击下方了解一下 ↓ ↓ ↓
2023超🔥的AI大模型公开课👉大模型资料包免费领!
¥0.00立即体验
一点启发
从上面这个的例子可以看出,OpenAI这个使用ChatGPT的方式更像是一个高级的逻辑框架。它通过三个层次的prompt为ChatGPT这样一个“通用”的模型明确了应该按照什么逻辑完成一个具体的任务。
对于完成同样一个任务,使用这样一个逻辑结构得到的结果显然比不使用它得到的结果更准确、更具体。
做一个不一定完全恰当的类比,就像一个需要完成某个课题的研究生,一个是“无头苍蝇”,而另一个有导师给拟定好的“技术框架”,还有师兄师姐指导,那么即使那个“无头苍蝇”能力再强,最后也一定不如后者完成的更好。
仿照这个例子,我们可以按照同样的逻辑来让ChatGPT完成其他任务,比如
- 书评/影评。评价一本小说/一部电影的好坏;
- 判断一个行为是不是违背了某(公司的?)精神;
- 内容分析员。分析某条内容是不是符合某个群体的喜好(广告分析?);
- 甚至可以让它代替互联网公司的内容shen cha员。
随着多模态模型的到来,以上的任务在将来可能不限于文字形式,而还可以是图片、语音以及视频等。
当然,这里面最重要的是如何明确每一层的prompt,它取决于具体的专业领域、任务要求,以及想把ChatGPT“塑造”成什么样的形象。
如果把思路打开,甚至可以训练不同的模型分别完成每一层的任务。
但这又是另外一个值得探讨的问题了。
最后给大家分享一个我常用的国内可以访问的Chatgpt地址:https://gpt.91chat-ai.cn?share=csdn
以上。如有帮助,欢迎点赞、关注。
相关文章:
ChatGPT 有什么新奇的使用方式?
来看看 OpenAI 内部是如何使用 ChatGPT 的。 目前(4月29日)距离ChatGPT发布了已经半年,这期间大家基本上把能想到的ChatGPT的使用方法都研究遍了——从写作、写代码,到翻译、英语润色,再到角色扮演等等。 所以&#x…...
【计算机四级(网络工程师)笔记】操作系统概论
目录 一、OS的概念 1.1OS的定义 1.2OS的特征 1.2.1并发性 1.2.2共享性 1.2.3随机性 1.3研究OS的观点 1.3.1软件的观点 1.3.2资源管理器的观点 1.3.3进程的观点 1.3.4虚拟机的观点 1.3.5服务提供者的观点 二、OS的分类 2.1批处理操作系统 2.2分时操作系统 2.3实时操作系统 2.4嵌…...
LeetCode算法练习top100:(10)贪心算法
package top100.贪心算法;import java.util.ArrayList; import java.util.List;public class TOP {//121. 买卖股票的最佳时机public int maxProfit(int[] prices) {int res 0, min prices[0];for (int i 1; i < prices.length; i) {if (prices[i] < min) {min price…...
随记-探究 OpenApi 的加密方式
open api 主要参数如下 appKey 接口Key(app id)appSecret 接口密钥timeStamp 时间戳 毫秒nonceStr 随机字符串signature 加密字符串 客户端 使用 appSecret 按照一定规则将 appKey timeStamp nonceStr 进行加密,得到密文 signature将 appK…...
stm32学习总结:4、Proteus8+STM32CubeMX+MDK仿真串口收发
stm32学习总结:4、Proteus8STM32CubeMXMDK仿真串口收发 文章目录 stm32学习总结:4、Proteus8STM32CubeMXMDK仿真串口收发一、前言二、资料收集三、STM32CubeMX配置串口1、配置开启USART12、设置usart中断优先级3、配置外设独立生成.c和.h 四、MDK串口收发…...
配置paddleocr及paddlepaddle解决报错 GLIBCXX_3.4.30 FreeTypeFont
配置 https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/StyleText/README_ch.md#style-text 环境配置 https://www.paddlepaddle.org.cn/ 根据自己的cuda版本选择paddlepaddle-gpu # 新建conda环境 # python version conda create -n paddle python3.8 # 安装p…...
【实战】如何在Docker Image中轻松运行MySQL
定义 使用Docker运行MySQL有许多优势。它允许数据库程序和数据分离,增强了数据的安全性和可靠性。Docker Image的轻便性简化了MySQL的部署和迁移,而Docker的资源隔离功能确保了应用程序之间无冲突。结合中间件和容器化系统,Docker为MySQL提供…...
PLC物联网,实现工厂设备数据采集
随着工业4.0时代的到来,物联网技术在工厂设备管理领域的应用日益普及。作为物联网技术的重要一环,PLC物联网为工厂设备数据采集带来了前所未有的便捷和高效。本文将围绕“PLC物联网,实现工厂设备数据采集”这一主题,探讨PLC物联网…...
npm安装依赖报错ERESOLVE unable to resolve dependency tree(我是在taro项目中)(node、npm 版本问题)
换了电脑之后新电脑安装包出错 👇👇👇 npm install 安装包报错 ERESOLVE unable to resolve dependency tree 百度后尝试使用 npm install --force 还是报错 参考 有人说是 node 版本和 npm 版本的问题 参考 新电脑 node版本:16.1…...
Maven仓库上传jar和mvn命令汇总
目录 导入远程仓库 命令结构 命令解释 项目pom 输入执行 本地仓库导入 命令格式 命令解释 Maven命令汇总 mvn 参数 mvn常用命令 web项目相关命令 导入远程仓库 命令结构 mvn deploy:deploy-file -Dfilejar包完整名称 -DgroupIdpom文件中引用的groupId名 -Dartifa…...
Jenkins 执行远程脚本的插件—SSH2 Easy
SSH2 Easy 是什么? SSH2 Easy 是一个 Jenkins 插件,它用于在 Jenkins 构建过程中通过 SSH2 协议与远程服务器进行交互。通过该插件,用户可以在 Jenkins 的构建过程中执行远程命令、上传或下载文件、管理远程服务器等操作。 以下是 SSH2 Eas…...
Starting the Docker Engine...一直转圈
出现的问题: 原因排查: 看了网上的很多篇文章,每个原因都排查了,没有发现问题。 遇到这样的情况应先看自己是否安装成功 打开运行,在空框中输入powershell并点击确定: docker version 显示版本证明安装…...
关于Python里xlwings库对Excel表格的操作(十五)
这篇小笔记主要记录如何【获取单元格数据的对齐方式或更改单元格数据的对齐方式】。 前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 (1)如何安装导入xlwings库; …...
[Linux] LVS+Keepalived高可用集群部署
一、Keepalived实现原理 1.1 高可用方案 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。 在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色…...
【版本管理】git stash用法
应用场景 我们在开发过程中可能会遇到这样的情况: 想从A分支切换到B分支,但A分支尚未改完,暂时不想提交代码 此时可以在切换到B分支前,先通过stash指令来缓存本地改动,等切回A分支时,再通过stash还原改动…...
声明式的理解【gpt】
一 MyBatis采用了声明式语法来进行SQL映射配置【mybatis声明式】 MyBatis是一款优秀的持久层框架,支持自定义SQL、存储过程以及高级映射,使得开发人员能够专注于SQL本身而不是数据库访问。MyBatis提供了两种配置方式:XML配置和注解配置&…...
提高Spring Boot技能的9种方法
以下是提高 Spring Boot 技能的 9 种方法: 1. 外部化您的配置: 充分利用 Spring Boot 潜力的另一种方法是尽可能地尝试外部化您的配置,而不是对其进行硬编码。外部化您的配置将使您的应用程序更加灵活且更易于管理。 外部化配置的另一个优点…...
HIVE基本操作
1、启动远程服务端:hive --service metastore启动(这里是阻塞式),然后在客户端操作 2、Hive DDL(数据库定义语言) --展示所有数据库show databases; --切换数据库use database_name; 3、创建语法&#x…...
【经典LeetCode算法题目专栏分类】【第5期】贪心算法:分发饼干、跳跃游戏、模拟行走机器人
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 分发饼干 class Solutio…...
【大数据面试】MapReduce常见问题与答案
目录 介绍下MapReduce MapReduce优缺点 MapReduce架构 MapReduce工作原理 MapReduce哪个阶段最费时间 ✅MapReduce中的Combine是干嘛的?有什么好出? ✅MapReduce环形缓冲区是什么 ✅MapReduce为什么一定要有环型缓冲区 MapReduce为什么一定要有Shuffle过程 MapRedu…...
数组深入学习感悟
注:本文学习借鉴于《代码随想录》 一.介绍数组 数组是储存在连续内存空间中的相同类型数据的集合 数组名的理解: 数组名就是数组⾸元素(第⼀个元素)的地址是对的,但是有两个例外: sizeof(数组名),sizeof中单独放数…...
亚马逊云科技-如何缩容/减小您的AWS EC2根卷大小-简明教程
一、背景 Amazon EBS提供了块级存储卷以用于 EC2 实例,EBS具备弹性的特点,可以动态的增加容量、更改卷类型以及修改预配置的IOPS值。但是EBS不能动态的减少容量,在实际使用中,用户也许会存在此类场景: 在创建AWS EC2…...
[Java 基础] Java Stream
Java Stream 是 Java 8 引入的新特性之一,它提供了一种新的处理数据集合的方式。Stream 可以使我们更加方便地对集合进行处理和操作,同时还能提高代码的简洁性和可读性。 文章目录 什么是 Stream常见用法创建 Stream中间操作终端操作 总结 什么是 Stream…...
达芬奇18.6DaVinci ResolveStudio(Win/Mac)激活版
DaVinci Resolve Studio 18是一款业界领先的视频后期制作软件,它集成了剪辑、调色、视觉特效、动态图形和音频后期制作等功能,为用户提供了完整的创作解决方案。该软件不仅适用于电影、电视和网页内容的制作,还广泛应用于广告、纪录片和独立电…...
力扣题目学习笔记(OC + Swift)16. 最接近的三数之和
16. 最接近的三数之和 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 排序 双指针 思路同15. 三数之和 简单地使用三重循环枚举所有的三…...
基于STM32的DHT11温湿度传感器与LCD显示器的集成设计
在本文中,我们将详细介绍如何基于STM32微控制器实现DHT11温湿度传感器与LCD显示器的集成设计。我们将包括硬件连接、软件编程以及涉及的STM32库函数和相关知识。这个项目旨在帮助您理解如何使用STM32来读取DHT11温湿度传感器的数据,并将数据显示在LCD显示…...
解决浏览器自动将http跳转至https导致无法访问的问题
以下只针对Chrome浏览器 方法一: 1.地址栏中输入chrome://net-internals/#hsts。 2.在Delete domain中输入项目的域名,并Delete(删除)。 3.可以在Query domain测试是否删除成功。 HSTS全称:HTTP Strict Transport Se…...
小程序面试题 | 07.精选小程序面试题
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…...
深度学习的推理部分
深度学习的推理部分指的是已经训练好的深度学习模型应用于新数据(通常是测试或实际应用数据)以进行预测、分类、分割等任务的过程。在深度学习中,训练和推理是两个阶段: 训练阶段: 在这个阶段,深度学习模型…...
如何用 CleanMyMac 来保护 Mac 隐私
大家早上好,中午好,下午好,晚上好。 在我们使用MacBook上的自带浏览器-Safari(或者一些其他浏览器)进行网页浏览的时候,往往会留下一些痕迹。如果这些痕迹涉及一些敏感数据信息的话,那么我们肯…...
58同城网招聘找工作建筑工程/佛山seo外包平台
磁盘阵列df -h看文件系统使用率 : format看可用磁盘 : cfgadm -al看总线连接...
完成网站建设的心得体会/宁波seo外包推广平台
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid1995 Problem Description 用1,2,...,n表示n个盘子,称为1号盘,2号盘,...。号数大盘子就大。经典的汉诺塔问题经常作为一个递归的经典例题存在。可能有人并不知道汉诺塔问题的典故。汉诺塔…...
福田做网站多少钱/百度竞价托管
前言 本博文主要讲解的知识点如下: 校验器统一处理异常RESTful拦截器Validation 在我们的Struts2中,我们是继承ActionSupport来实现校验的...它有两种方式来实现校验的功能 手写代码 XML配置 这两种方式也是可以特定处理方法或者整个Action的而SpringMVC…...
网站建设淄博/如何免费创建自己的网站平台
AQS即队列同步器AbstractQueuedSynchronizer(以下简称同步器),是用来构建锁或者其他同步组件的基础框架。 AQS使用了一个int成员变量表示同步状态。 AQS通过内置的FIFO双向队列来完成获取锁线程的排队工作 同步器包含两个节点类型的应用&…...
做英语题目的网站/百度做广告怎么做
JVM监控工具 Java的安装包自带了很多优秀的工具,善用这些工具对于监控和调试Java程序非常有帮助。常用工具如下: jps 用途:jps用来查看JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等。 常用参数: -l: 输…...
wordpress标题栏添加星期几/线上销售渠道有哪些
http://blog.csdn.net/xlgen157387/article/details/50353317转载于:https://www.cnblogs.com/ganbo/p/7987681.html...