如何将ChatGPT训练成某个领域的专家!附完整示例!

背景

最近听了
八叉的一个ChatGPT讲座,讲的是如何将ChatGPT训练成领域专家,这样我们就可以用它来解决该领域的各种问题。

整个讲座中最让我印象深刻的就是训练方法,它是通过让ChatGPT向我们提问,然后由我们给出答案的方式进行训练。这和我日常使用ChatGPT的方法完全相反。

训练方法

第一步:输入已知需求

我们需要把当前已知的需求输入给ChatGPT。想象一下,当我们需要别人完成一项任务时,要做的第一件事就是向其介绍任务的基本情况。

第二步:让ChatGPT提问

在输入已知需求后,我们需要确认ChatGPT是否理解需求。这里最重要的是,要让ChatGPT在不理解需求时提出问题。这就像,在我们介绍完任务的基本情况后,总要问上一句,“有没有问题?”。

这是最关键的一步。ChatGPT能够帮助我们发现已知需求中的遗漏点,这通常能够引起我们更深层次的思考。

第三步:回答问题并再次让ChatGPT提问

在ChatGPT提出问题后,我们要先给出答案,然后回到第二步,看ChatGPT是否还有问题。这就像,在我们回答完别人的问题后,总要问上一句,“还有问题吗?”。

第四步:重复上述步骤直到ChatGPT没有问题

不断的重复第二步和第三步,直到ChatGPT没有任何问题。这是一个由扩散到收敛的过程,刚开始时问题会很多,但随着信息输入的增多,问题会越来越少。

第五步:输出完整需求

在ChatGPT没有任何问题后,我们可以让其输出一份它理解的完整需求。这份需求就是我们的领域模型,在输入该模型后,ChatGPT可以更加准确的解决该领域内的问题。

示例

基于上述训练方法,我让ChatGPT帮我完善了一个爬虫程序的需求。

已知需求

在已知需求中,我对架构,技术栈和业务逻辑做了描述。

在需求描述完成后,我让ChatGPT在不理解或需要澄清时进行提问。

第一轮提问

ChatGPT第一轮问了三个问题

  1. 在URL不能访问或返回错误时,程序该如何处理?
  2. 如何实现定时任务?是使用程序外部的定时任务还是程序内部的定时任务?
  3. 如何对S3上的文件进行命名?

第三个问题我没有考虑过,这是ChatGPT找到的第一个遗漏点

第二轮提问

ChatGPT第二轮问了六个问题

  1. 是否支持同时爬取多个URL?
  2. 在S3上传失败时,程序该如何处理?
  3. 如何获取S3的鉴权信息?
  4. 上传到S3的文件是否有大小限制?如果有,限制是多大?
  5. 在自动爬取时,我们是否需要给用户返回信息?自动爬取是否是一个后台进程?
  6. 如果一次爬取的时间超过了5分钟,程序该如何处理?(在原始需求里,自动爬取的时间间隔是5分钟)

第四个和第六个问题我没有考虑过,这次ChatGPT帮我找到了两个遗漏点。

第三轮提问

ChatGPT第三轮问了六个问题

  1. 如果程序关闭时爬取操作正在进行,是否要停止爬取操作?
  2. 如果S3上传失败,是否需要重试?如果要,重试几次?
  3. 自动爬取的时间间隔是否可配置?还是固定在5分钟?
  4. 程序是否需要支持一些特定的返回值?例如301。
  5. 程序是否需要对一些异常做特殊处理?
  6. 程序使用的是哪种日志框架?

第一个,第二个和第四个问题我没考虑过,这次ChatGPT帮我找到了三个遗漏点。

第四轮提问

ChatGPT第四轮问了六个问题

  1. 是否需要支持HTTPS?
  2. 爬取时是否有不同的请求方法?例如POST或PUT。
  3. 爬取时是否需要设置HTTP Header?例如Authorization。
  4. 爬取时是否需要设置查询参数?如果需要,S3的文件名要如何生成?
  5. 错误消息的格式是什么?
  6. 程序是否需要支持不同的S3区域?

第一个,第二个,第三个和第四个问题我没有考虑过,这次ChatGPT帮我找到了四个遗漏点。

第五轮提问

ChatGPT第五轮只问了一个问题

  1. 在爬取时是否需要限速?例如,如果某个网站对每分钟的请求数量有限制,我们是否需要处理?

这个问题我已经考虑过,但没有写在已知需求里

完整需求

在没有问题后,ChatGPT输出了它所理解的完整需求

总结

在我第一次听到这种训练方法时,我其实不太相信ChatGPT的提问能够收敛,但事实胜于雄辩,它不但能够收敛,而且还可以找到非常重要的遗漏点,让需求更加完备。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自学Java怎么找工作?好程序员学员大厂面试经验分享!

简历要详细: 简历中的项目用到的技术点和个人负责的模块尽量写详细一些。其次,根据自己项目中用到的熟悉的技术点,在个人技能介绍模块去突出,面试官基本会根据你简历上写的去提问的,这样我们回答起来就会更加得心应手。…

Web3中文|乱花渐欲meme人眼,BRC-20总市值逼近10亿美元

现在的Web3加密市场,用“乱花渐欲meme人眼”来形容再合适不过了。 何为meme? “meme”这个词大概很多人都不知道如何正确发音,并且一看到它就会和狗狗币Dogecoin等联系在一起。那它究竟从何而来呢? Meme:[mi:m]&#x…

【C++初阶】C++模版(初阶)

文章目录 前言泛型编程函数模版函数模板概念函数模板格式函数模板的原理函数模板的实例化1.隐式实例化2.显式实例化 函数模版的匹配规则 类模版类模板的定义格式类模板的实例化 总结 前言 C的模版也是相较于C语言更有优势的地方,正是有了模版,才让C真正…

Python基础入门(3)—— 什么是函数递归、字典、集合、文件操作、异常处理?

文章目录 01 | 🚘函数 && 递归🚔函数🚔递归 02 | 🚘字典03 | 🚘集合04 | 🚘文件05 | 🚘异常处理06 | 🚘习题 Better late than never. 迟做总比不做好;晚来总比不来好。 01 …

2023年湖北省建设厅特种作业操作证报名条件是什么?

建筑施工特种作业人员是指在房屋建筑和市政工程施工活动中,从事可能对本人、他人及周围设备设施的安全造成重大危害作业的人员。建筑施工特种作业人员必须经建设主管部门考核合格,取得建筑施工特种作业人员操作资格证书(以下简称“资格证书”…

常用数据处理方式

文章目录 缺失值处理删除法填充法基于统计学变量填充基于插值填充基于模型填充基于预测填充 不处理 异常值处理基于统计分析的方法基于聚类的方法基于树的方法基于预测的方法 数据重采样标准化min-max标准化(归一化)z-score标准化(规范化&…

CSS var()的使用

最近在做流量对比的功能,有如下的效果图,当某个节点失败的时候,点击能够弹出对应的提示信息。 这个库使用的是jenkins-pipeline 的库, 但是由于它原本的提示框比较糟糕,所以我们想结合antd的tooltip进行展示&#xff0…

WhatsApp 营销:获得更多潜在客户和销售(一)

你需要了解客户的世界观才能进行有效的营销,你应该投入时间和精力来学习和实施你的业务WhatsApp营销 -因为你的客户出现在WhatsApp上,他们希望在那里联系,而不是在他们讨厌被打断的电子邮件或电话中。 SaleSmartly(ss客服&#x…

商户查询的缓存——添加redis缓存

1.什么是缓存 缓存就是数据交换的缓冲区(Cache),是存储数据的临时地方,一般读写性能较高 2.添加redis缓存 Autowired private StringRedisTemplate stringRedisTemplate; /*** 通过id查询商户信息* param id* return*/ Override public Resu…

首发 | 人工智能赋能的未来作战构想(上): 海上作战篇

源自:中国指挥与控制学会 ▲图1:报告封面和封底 一、人工智能赋能改变战争形态 ▲图2:以AI赋能万物互联 二、人工智能赋能的海上作战 ▲图3:海上作战要保持持续有效的火力输出 (一)海上防御作战构想 ▲图4&…

通过Modbus实现TTS语音全彩声光告警-博灵语音通知终端-网络语音报警灯

背景 目前PLC在工业领域应用广泛,在运行过程中可能会涉及到各种告警。 为了简单快速的实现语音声光告警,本文以大连英仕博科技出品的博灵语音通知终端为例,演示如何通过Modbus TCP协议实现声光告警推送。 播报效果演示 Modbus-博灵语音通知…

自学黑客(网络安全)看这篇就够了

写了这么多编程环境和软件安装的文章,还有很多小伙伴在后台私信说看不懂。我都有点头疼了,但是小伙伴们求学的心情我还是能理解,竟然这么多人给我反馈了,那我就再写一篇网络安全自学的教程吧!大家耐心看完,…

音频信号处理库librosa

参考: 1. librosa官网 2. librosa语音信号处理 3. 语音信号处理库 ——Librosa 4. librosa音频处理教程 5. Python音频信号处理库函数librosa介绍 0 谱分析函数 1. librosa 读取信号 librosa.load(path, sr22050, monoTrue, offset0.0, durationNone)读取音频文件…

2023年5月DAMA-CDGA/CDGP数据治理认证开班啦,我要报名学习

6月18日DAMA-CDGA/CDGP数据治理认证考试开放报名中! 考试开放地区:北京、上海、广州、深圳、长沙、呼和浩特、杭州、南京、济南、成都、西安。其他地区凑人数中… DAMA-CDGA/CDGP数据治理认证班进行中,报名从速! DAMA认证为数据…

06-HTML-列表标签

1、 <ul> 标签定义无序列表。 2、<ol> 标签定义有序列表。 属性值描述compactcompact HTML5 中不支持。HTML 4.01 中不赞成使用。 规定列表呈现的效果比正常情况更小巧。 reversedreversed规定列表顺序为降序。(9,8,7...)startnumber规定有序列表的起始值。type 1A…

QUIC在京东直播的应用与实践 | 京东云技术团队

作者&#xff1a;京东零售 周凯 一. 前言与背景 国内的互联网直播技术从2005年前后兴起&#xff0c;彼时最具代表性的直播产品是由PPLive创始人姚欣在华中科技大学就读期间发起的校园直播项目PPLive。当时的直播技术用的还是基于windows系统自带的mediaplayer内置的COM组件开…

《Linux 内核设计与实现》08. 下半部和推后执行的工作

文章目录 下半部软中断软中断的实现使用软中断 tasklettasklet 的实现使用 tasklet 工作队列工作队列的实现使用工作队列 下半部 中断处理程序的局限性&#xff1a; 中断处理程序以异步方式执行&#xff0c;并且可能打断其它代码&#xff0c;因此为了避免被打断的代码停止时间…

如何实现PLC为主站的开关量自组网无线通信?

本方案是基于Modbus RTU协议下实现的1主多从自组网无线通信形式&#xff0c;主站为S7-1200 PLC&#xff0c;DTD433H作为从站。DTD433H具备输入和输出开关量信号功能&#xff0c;信号传输方向由用户原系统主从设备所实现的功能决定。方案中采用无线开关量信号测控终端DTD433H与欧…

Java实现杨辉三角

1 问题 实现杨辉三角。 2 方法 public class textttt01 { public static void main(String[] args) { //定义了一个长度为10&#xff0c;高度为10的二维数组&#xff0c;数组中的值都为0&#xff1b; int[][] arrnew int[10][10]; for (int i0;i<ar…

TCP四次挥手

TCP四次挥手详解 文章目录 TCP四次挥手详解1. TCP四次挥手过程和状态变迁2. 为什么挥手需要四次&#xff1f;3. 为什么中间的ACK和FIN不可以像三次握手那样合为一个报文段呢&#xff1f;4. 为什么TIME_WAIT等待的时间是2MSL&#xff1f;5. 等待2MSL的意义5.1 保证客户端最后发送…