程序员大杀器?带你玩转ChatGPT
作者:京东零售 栗鸿宇
ChatGPT简介
ChatGPT是一款基于AI技术的机器人对话软件,它能够与用户进行智能化的聊天对话,帮助用户解决日常生活中的问题,为用户提供丰富的信息和服务。它集成了海量知识库,能够回答用户的各种问题,包括日常生活中的常识性问题、文理科专业问题等,并且能够根据用户的需求提供个性化的信息服务。
同时,ChatGPT还拥有强大的学习能力,通过收集互联网上海量的文本资源,并在交流中不断地学习用户的交流习惯和语言表达方式,从而不断优化自身的对话能力,让用户在使用ChatGPT时感到越来越自然和舒适。
总之,ChatGPT是一款先进的机器人对话软件,能够为用户提供丰富的信息和服务,让用户在日常生活中获得更多便利和乐趣。
让ChatGPT自己介绍一下自己:
训练机制
官方博客中介绍到,ChatGPT是基于GPT-3.5(模型card:https://datalearner.com/ai-resources/pretrained-models/gpt-3-5 )微调的结果。ChatGPT是InstructGPT的兄弟模型(InstructGPT是官方训练的一个比GPT-3更好的遵循用户意图的语言模型,是基于OpenAI的alignment research技术研发的,比GPT-3更强的语言模型)。ChatGPT的训练使用了基于人类反馈的强化学习( Reinforcement Learning from Human Feedback,RLHF)。这点与InstructGPT一样,但是在数据收集方面有差异。OpenAI使用监督下的微调训练了一个初始模型:人类人工智能trainer提供对话,他们在对话中扮演双方—用户和人工智能助理。这可以让训练者接触到模型编写的建议,以帮助组成对应的回应。
编程能力
目前几家硅谷大厂都在朝着AI自动化编程努力:
•DeepMind的AlphaCode,据说「吊打72%人类程序员」,但尚未开放;
•传闻中谷歌的「神秘项目」Pitchfork,也还在酝酿中;
•前段时间大火的GitHub Copilot主要是一个代码补全工具。
但是要说以上工具完全代替人类程序员,它们还不够格。那么号称能学习人类思维来编程的ChatGPT能做到什么程度呢?
笔者首先丢给他一个LeetCode上经典的Hard难度问题:接雨水( https://leetcode.cn/problems/trapping-rain-water/ )
我在提问时并没有说明这是一道编程题,ChatGPT也能够正确识别并回答,说明拥有了一些理解提问者思想的能力。不到10秒钟,他就给出来了相应的示例代码,而且代码在leetcode上是可以AC的
但是上面的这些问题是不是直接通过搜索引擎搜出来,甚至是从AC的Solution里面摘抄出来的呢?
接着我给了一个面试时经常会问到的SQL问题:
这种应该就不是搜出来的,但是AI算法经过学习还是能够理解并写出答案。虽然这段代码还不能拿过来直接使用,但是基本逻辑是正确的,开发者可以按照真实的表结构修改后使用。
在回答的最后,ChatGPT甚至还会简单分析下代码的逻辑,因此这款工具对于理解复杂算法提供了很好的辅助手段。
作为实验,我又让他解释了下快速排序的时间复杂度:
可以看出虽然解释的内容相对简单,但是对于有一定基础的人还是可以快速理解的。
所以各位远程面试的面试官要小心咯!因为你不知道电话另一边的回答是不是来自于一个机器人的手笔
程序员终结者?
我在日常沟通、专业解答、编程方案等方面和ChatGPT聊了很久,发现这个AI确实要比之前那些聊天机器人强很多,大多数情况下给出的回答都能够符合预期
但是聊得多了就能发现,ChatGPT解决问题的策略更像是一个优秀的答案缝合思路,看到题目先联想是否做过类似的,然后通过已知的答案缝合成另一个答案,所以我觉得现阶段ChatGPT让大量程序员失业还不太可能
从已有的成果和调研来看,AI绘画出的图片(如Deep Dream、stable diffusion)可以抵得上很多有较长练习经验的人的水平,但是chatGPT输出的程序尚且达不到中高级程序员的可靠性,而且其给出的代码全部是方法级、片段式的,无法直接满足一个完整需求。如果把AI当做是一个私人助理,chatGPT是合格的,虽然他说的很多都是车轱辘话,但是也能保证说出的是“正确的,客观的,中肯的...”,尤其是针对编程问题和理科问题, 大部分时候给出的建议还是挺靠谱的 (不靠谱的回答会非常明显,一眼看穿)。
因此,作为一个类似于Siri或是Google Assistant的聊天机器人来说,是绝对比之前的AI好的,但是拿来写代码,我觉得基本上不太可能。因为程序员的工作不仅仅需要写代码,更需要遵循逻辑、根据复杂的需求场景构思出符合要求的完整工程。另外,根据我自身对于ChatGPT的测试结果来看,目前阶段,靠ChatGPT去写代码还不如靠搜索引擎,最多能看作一个助手,对于广大程序员来说是一个不错的辅助工具。
至于替代程序员的工作,只能说如果有人如果能被这玩意替代,应该也找不到什么好工作……
但是,这AI写车轱辘话的水平一流!营销号狂喜!
注册使用流程
技术有国界,想玩用梯子
要注册使用 ChatGPT,我们需要准备以下内容:
•能够访问Google的全局代理,推荐美国节点(实测亚洲节点如香港、新加坡节点会被ban);
•一个邮箱用于注册,如Gmail,Outlook;
•一个国外手机号,如果没有可以在第1步中通过第三方接码平台来完成注册
1. 账号注册
进入注册页面:https://chat.openai.com/auth/login
点击注册按钮,输入邮箱,还有你的注册账号,并设置密码
邮箱确认好之后,接下来要填入电话。
这里请大家注意,中国区的+86是不行的,如果你用GoogleVoice的话,也会被判别是虚拟电话,而做不了验证码。
需要通过下方平台接收短信
2. 使用第三方接码平台
打开网站:https://sms-activate.org/cn
点击右上角的注册按钮,在注册页面输入自己的邮箱账号,设置密码后提交。会给你的邮箱发一条验证邮件,点击邮件中的链接确认即完成注册。
我们注册后登录,在「余额」那里点击「充值」,使用支付宝充值 0.2 美金即可
然后,回到首页,搜索并选择OpenAi服务,加车后购买即可
3. 使用购买的号码激活
购买完成后,然后就可以在激活区域看到待使用的号码。
复制这个号码,然后把这个号码放在第1步最后的验证码接收区
点击接收验证码按钮后,可以回到第三方接码平台网站,看到验证码(从上面的截图中应该能够看到我有一个印度号码的使用记录),再次复制这个验证码填进去,这样就成功完成注册了
注册完后,就可以ChatGPT网站去登陆:
https://chat.openai.com/auth/login
大家快去调戏ChatGPT吧~~
程序员大杀器?带你玩转ChatGPT的更多相关文章
- 使用docker-compose 大杀器来部署服务 上
使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始. 好吧,可能在小白的眼中噼里啪啦的对着 ...
- 使用docker-compose 大杀器来部署服务 上(转)
使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始. 好吧,可能在小白的眼中噼里啪啦的对着 ...
- [转]使用docker-compose 大杀器来部署服务 上
本文转自:https://www.cnblogs.com/neptunemoon/p/6512121.html 使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker ...
- 使用docker-compose 大杀器来部署服务
使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始. 好吧,可能在小白的眼中噼里啪啦的对着 ...
- DSP已经英雄迟暮了吗?FPGA才是未来的大杀器?
DSP技术,在某些人看来,或者已经面临着英雄迟暮的感觉,就我们当前所知道的.Freesacle.ADI.NXP早就停掉了新技术发展,而当前从大的方面说只剩下TI一家扛着Digital Si ...
- Postgresql-模糊匹配大杀器
# Postgresql-模糊匹配大杀器 ## 问题背景 随着pg越来越强大,abase目前已经升级到5.0(postgresql10.4),目前abase5.0继承了全文检索插件(zhparser) ...
- [NewLife.XCode]反向工程(自动建表建库大杀器)
NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netstandard,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示 ...
- postgres模糊匹配大杀器
ArteryBase-模糊匹配大杀器 问题背景 随着pg越来越强大,abase目前已经升级到5.0(postgresql10.4),目前abase5.0继承了全文检索插件(zhparser),使用全文 ...
- 一文读懂机器学习大杀器XGBoost原理
http://blog.itpub.net/31542119/viewspace-2199549/ XGBoost是boosting算法的其中一种.Boosting算法的思想是将许多弱分类器集成在一起 ...
- 离群点检测与序列数据异常检测以及异常检测大杀器-iForest
1. 异常检测简介 异常检测,它的任务是发现与大部分其他对象不同的对象,我们称为异常对象.异常检测算法已经广泛应用于电信.互联网和信用卡的诈骗检测.贷款审批.电子商务.网络入侵和天气预报等领域.这些异 ...
随机推荐
- Aspose.Cell篇章3,设置写入到Excel文件的各种样式及输出
Aspose.Cell的Style.Number设置全部设置 /// <summary> /// 单元格样式编号 /// 0 General General /// 1 Decimal 0 ...
- 打地鼠(susliks) 方法记录
[SDOI2011]打地鼠 题目描述 2020.4.29 数据更新. 打地鼠是这样的一个游戏:地面上有一些地鼠洞,地鼠们会不时从洞里探出头来很短时间后又缩回洞中.玩家的目标是在地鼠伸出头时,用锤子砸其 ...
- MongoDB - 入门指南
组件结构 核心进程 在 MongoDB 中,核心进程主要包含了 mongod.mongos 和 mongosh 三个. 其中最主要的是 mongod 程序,其在不同的部署方案中(单机部署.副本集部署. ...
- 如何快捷地修改虚拟机镜像——libguestfs-tools工具集介绍
前言 在使用云服务器产品时,由于问题修复.功能添加.软件更新等原因,往往需要对已有系统镜像进行二次修改. 这种情况下,最为简单的做法是:使用原镜像创建实例,在实例中进行修改,修改完毕后再转镜像.这种做 ...
- C#多线程之高级篇(上)
前言 抛开死锁不谈,只聊性能问题,尽管锁总能粗暴的满足同步需求,但一旦存在竞争关系,意味着一定会有线程被阻塞,竞争越激烈,被阻塞的线程越多,上下文切换次数越多,调度成本越大,显然在高并发的场景下会损害 ...
- 数据库可视化工具分享 (DBeaver)
前提:最近公司下发通知,所有开发人员 必须 卸载 Navicat 数据库可视化工具,不知道兄弟们有没有在使用的,可能现在的反应跟我一样,一脸懵逼,Navicat为什么不能使用呢? 有事没事找度娘,于是 ...
- vim-瞬间移动打发
一,常用基本命令 set rnu 显示相对行号 1.ctrl+F 将屏幕向下滚动一屏 2.ctrl+u pageUp,ctrl+d pageDown 3.行内移动:W,b在单词间移动,ge向上跳,f ...
- 简单的WebAssembly应用搭建
1 WebAssembly简介 WebAssembly是一种新兴的Web技术,网上的资料并不是很多,简单的可以理解为让C/C++程序运行在浏览器上,官网上用四个词来描述该技术:高效.安全.开 ...
- 面试官不按套路,竟然问我Java线程池是怎么统计线程空闲时间?
背景介绍: 你刚从学校毕业后,到新公司实习,试用期又被毕业,然后你又不得不出来面试,好在面试的时候碰到个美女面试官! 面试官: 小伙子,我看你简历上写的项目中用到了线程池,你知道线程池是怎样实现复用线 ...
- 机器学习模型评价指标之ROC 曲线、 ROC 的 AUC 和 投资回报率
前文回顾: 机器学习模型评价指标之混淆矩阵 机器学习模型评价指标之Accuracy.Precision.Recall.F-Score.P-R Curve.AUC.AP 和 mAP 1. 基本指标 1. ...