位置: IT常识 - 正文

ChatGPT在编程中的应用(编程中char什么意思)

编辑:rootadmin
ChatGPT在编程中的应用 1. ChatGPT1.1. 简介

推荐整理分享ChatGPT在编程中的应用(编程中char什么意思),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:编程中的char,编程中的char,编程char怎么用,编程statement,编程中\t,编程里的char是什么意思,ch在编程中是什么意思,编程中\t,内容如对您有帮助,希望把文章链接给更多的朋友!

ChatGPT是一个大型语言模型(Large Language Model,LLM),是一种基于生成式预训练变换模型(Generative Pre-trained Transformer,简称GPT)的聊天机器人,由美国OpenAI团队研发。它可以根据聊天的上下文生成自然、流畅、有逻辑的回复,并能进行多轮对话。ChatGPT是OpenAI开发的一款产品,它基于GPT-3.5系列的模型,并使用了人类反馈强化学习(RLHF)的方法来优化其对话能力。 GPT-4.0是OpenAI于2023年3月发布的最新最先进的语言模型,它是一个大型的多模态模型(可以接受图像和文本输入,输出文本),在许多专业和学术的基准测试上表现出了人类水平的性能。GPT-4.0拥有15000亿个参数,是GPT-3.7(3700亿个参数)的四倍之多。GPT-4.0使用了一种新颖的训练方法,称为自适应稀疏注意力机制(Adaptive Sparse Attention),可以有效地处理大量的输入和输出序列,并降低计算和内存开销。 GPT模型主要分为两个阶段:预训练和微调。预训练阶段是在大规模的无标注文本数据上进行无监督学习,以学习语言的通用知识和规律;微调阶段是在特定领域或任务的有标注文本数据上进行有监督学习或强化学习,以适应不同的需求和目标。 模型参数是指深度学习模型中的权重和偏差。模型参数的数量会影响模型的大小、复杂度和准确率。一般来说,参数的数量越多,模型的容量越大,可以学习到更复杂的特征,但也容易导致过拟合和训练时间过长。 ChatGPT是一种通用的,生成式的人工智能。通用,说ChatGPT并不限定领域。生成式说明它的结果是生成的,而不是搜索出来的,是在理解的基础上生成的新的内容。 ChatGPT是基于Transformer架构,Transformer是一种基于自注意力机制(self-attention)的序列到序列模型,其中自注意力机制可以根据输入序列中的每个词在上下文中的重要性来动态地给出一个权重,从而更好地捕捉上下文信息。权重在这里,其实是统计的出现的概率。出现的概率更大,则更优先展示。更清晰的上下文,可以让ChatGPT展示更准确的结果。

1.2. 发展历程2015年12月,OpenAI成立,是一个非营利的人工智能研究机构,旨在创建和推广友善的人工智能,并避免存在潜在风险的人工智能。2018年6月,OpenAI发布了GPT-1,是一个基于Transformer架构的大型语言模型,可以生成连贯且有意义的文本。2019年2月,OpenAI发布了GPT-2,是一个比GPT-1更大更强的语言模型,可以生成各种类型和风格的文本,并引起了社会和媒体的广泛关注和讨论。2020年5月,OpenAI发布了GPT-3,是一个比GPT-2更大更强的语言模型,拥有1750亿个参数,并可以通过少量或无监督学习来适应不同领域和任务。2020年9月,OpenAI与微软达成独家合作协议,将GPT-3作为微软云服务Azure的一部分提供给用户和开发者。2021年7月,OpenAI发布了InstructGPT和Codex两个基于GPT-3.5(一种改进版的GPT-3)的模型。InstructGPT可以根据用户输入的指令来执行各种任务;Codex可以根据用户输入的自然语言来生成代码。2022年11月,OpenAI发布了ChatGPT,是一个基于GPT-3.7(一种更进一步改进版的GPT-3)的模型,并使用了监督学习和强化学习技术进行了微调。ChatGPT可以以对话形式与用户交互,并提供看起来非常人性化的回复。GPT-3.7有3700亿模型参数。2023年1月,OpenAI宣布将ChatGPT开放给所有用户和开发者,并提供了一个简单易用的接口和文档。2023年3月,ChatGPT-4.0发布,首次支持多模态,除了文本输入以外,还支持图像输入(图像输入暂时只支持特定人群)。1.3. 编程相关

ChatGPT是生成式的,它会先理解问题,再来存储扫描的信息提取相关信息,实时生成回答给用户。在编程方面,ChatGPT-3.0经过了大量的训练,效果非常好。ChatGPT-4.0进一步优化,进步巨大,参考基于Leetcode的测试:

1.4. 机遇与挑战

如果工业革命时期,机械的出现,对手工业者带来巨大的冲击,但是冲击是暂时的。机器带来社会效率的大幅提升,学习并利用机械的人获得了更多的收益,真正受到冲击的是那些抗拒机械的人。ChatGPT的出现,同样是一场革命,同样是机遇与挑战并存。大胆拥抱机遇,努力规避挑战。

机遇更好的聊天机器人,可以应用于智能客服,语音助手,教育培训等。更好的自然语言处理,可以应用于机器翻译,语音识别等。更好的文本生成,可以应用于文档撰写,内容提炼等。更好的开发辅助,可以应用于代码生成,代码审查,代码补全等。挑战基础文字工作的需求替代。基础代码工作的需求替代。数据隐私安全风险提升。行动

大模型的AI,带来新的巨大变革,我们需要顺势而为。AI最先冲击的是翻译行业,初级翻译,尤其是科技类的翻译的市场需求大幅萎缩。最耗时间的初翻,基本都是交给机器翻译来完成,然后翻译工作者再来进行精校。我们编码工作者也应该如此,初级的工作能够交给ChatGPT的尽量交由它来完成,然后在其生成的基础上进行调整优化。这样可以节省大量的时间,让我们精进提升,应对更高需求的任务。

2. 应用

ChatGPT是对话式的,其回复的格式默认是使用markdown语法。ChatGPT的基础数据更多为英文,所以我们的问题,GPT会先转为英文进行分析生成英文回答,然后再翻译为中文。编程方面的英文资料更多,GPT在编程方面表现出来的能力是远超过我们用中文在网络上进行搜索的。 ChatGPT-3.0支持4096个Token(BPE分词算法的最小单位),大概对应64000个英文单词,或2000个中文汉字。也就是说ChatGPT-3.0每次对话的输入和输出,上下文总共都不通过超过4096个Token。ChatGPT-4.0的上下文长度为8192个Token。查询Token数据,访问https://gpttools.com/estimator。因此,一个复杂的问题,我们需要分解为多个小问题来询问GPT。

2.1. 准备工作2.1.1. 提问建议提问前,先想清楚你想要知道什么,然后用简洁、明确、具体的语言表达出来。提问时,尽量避免使用模糊、含糊、复杂的词语和句子,例如“什么”、“怎么样”、“为什么”等。提问时,可以给出一些背景信息或者上下文,让ChatGPT能够更好地理解你的问题和需求。提问后,可以对ChatGPT的回答进行反馈或者追问,让它能够更好地学习和改进,来获取更好的回答。角色扮演,可以让ChatGPT扮演一个咨询师的角色,可以获取更好的对话效果。甚至可以让ChatGPT扮演一个Linux电脑,来测试自己的命令响应情况。反提问,有时不知道如何问问题,甚至可以让ChatGPT向自己提问。2.1.2. 更好地提问GPT是按概率给出的答案,如果我们当前的问题不够明确,给出的答案也未必是最合适的。此时,我们要尽量问GPT是否还有其他方法,问到最后,再让GPT分析一下几种方法的区别。然后再根据我们的情况选择适合的答案。例如,我需要用PyQt制作添加一个按钮,按钮左边显示一个红色的圆点,圆点在不停闪烁。GPT能够给出很多答案,但是更好的答案是封闭一个自定义的按钮,在这个自定义的按钮中来实现闪烁的红色按钮,这样的代码封装性才好,才是好的代码。2.2. 撰写技术文章

GPT的回答是Markdown的风格,非常简洁美观,可以很好的移植到相差知识平台。 如果觉得不完善,还可以提示补充相差内容。文章撰写得非常好,除了没有图片外,接近完美。

2.2. 撰写API使用手册

通过下图可以看出,只要显式地指定手册中包含的内容,GPT就会按要求撰写详细的API手册,语言科技风格,简洁流畅,并且是markdown风格,非常适合制作文档。

2.3. 解释代码功能

2.4. 撰写代码注释

可以提示只注释关键点,否则GPT会每个地方都注释,注释太多了。另外可以提示Markdown风格显示,否则代码有可能显示在一行,导致风格错乱。

2.5. 编写测试用例

2.6. 修改Bug2.6.1. 变量大小溢出

GPT给出的答案并不是一成不变的,例如下面的代码,有时它能够第一次就找出问题所在。但是有时,得再次让其确认才能够发现问题。甚至有时多次都无法发现问题。

2.6.2. 内存溢出ChatGPT在编程中的应用(编程中char什么意思)

示例32.7. 补全代码

直接函数名补全,因为这功能的算法有很多种。如果默认补全的话,其实GPT生成的是移位的算法,这种算法网络上出现得最多,但是效率不是最优的。增加了“最优效率”的提示,GPT依然只是想了一个相对最优效率的算法,依然不是最优效率的。如果还想找更优效率的算法,可以继续提示询问,一直询问到GPT没有找到更优的算法为止。补全代码时,GPT是通过函数名或已经完成的代码来推导出请问者想的代码是什么样的,然后再生成相应的代码。

2.8. 生成代码2.8.1. UI代码

纯粹的UI代码逻辑相对简单,正是GPT擅长的。尤其是在Python下做UI开发,因为没有专门的图形工具,编写UI代码会麻烦很多,而且都是一些单调的位置、属性的修改等。这类工作交给GPT之后,开发人员只用在GPT生成的代码的基础上,做适当的调整,就可以使用了。

2.8.2. 算法代码

如果默认生成的代码,其实GPT生成的是移位的算法,这种算法网络上出现得最多,但是效率不是最优的。增加了“最优效率”的提示,GPT依然只是想了一个相对最优效率的算法,依然不是最优效率的。如果还想找更优效率的算法,可以继续提示询问,一直询问到GPT没有找到更优的算法为止。

2.8.3. 嵌入式代码

2.8.4. 框架代码Python TCP Server并发

串口多线程事件模型

2.9. 代码评审

2.10. 优化代码2.10.1. 优化代码风格

2.10.2. 优化代码

优化代码根据需要可以和优化代码风格一起进行。另外,可以根据需要加入更多优化的准则。

2.11. 询问代码作用

针对一段代码,可以就自己不明白的某一行代码,要求GPT重点解释。从给出的答案来看,解析得非常清晰,达到高级或以上的水平。

2.12. 答疑解惑

可以问题GPT技术问题,让它编写makefile,shell脚本等。 GPT给出的答案非常好,既有简要介绍,又给出了选择的原因。是学习,工作的好帮手。

2.13. 翻译

2.14. 智能识别

有一些工作,人工识别耗时长,编程识别难度大。这类工作交给GPT非常适合,如下面的示例:

2.15. 自动化

ChatGPT有提供API,使用起来非常方便,但是前提是得有一个VPN代理。使用方法如下:

import openaiopenai.api_key = os.getenv("OPENAI_API_KEY")response = openai.Completion.create(model="text-davinci-003", prompt="Hello world", max_tokens=1024) print(response) # or completion = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hello world!"}])print(completion.choices[0].message.content)自动整理邮件内容,提炼主旨。集成进CI,自动读取源代码,调用API进行Code Review和静态分析。数据分类,由于API Token的限制,支持的数据量大概在2048左右。优化代码,可以自动根据Git/SVN上传的新代码进行优化,并给出优化代码,进行比较确认,提升代码评审优化的效率。3. 其他3.1. ChatGPT的使用方法注册或网络购买一个ChatGPT帐号,使用VPN将网络代理到非中国区,登录chat.openai.com即可以开始对话。新版的Edge浏览器,有提供一个“发现”功能,里面有提供基于ChatGPT-4.0的对话、撰写文章的功能。新版bing.com有提供聊天功能,其实现也是基于ChatGPT-4.0。VS Code中有一些ChatGPT的插件是免费的,安装即可使用。Cusor代码编辑软件,有集成ChatGPT-4.0,免费使用,https://www.cursor.so/。如果有Openai Key,可以直接代码编程使用,在Python中使用非常简单(需要开启VPN全局代理使用)。3.2. 注意

ChatGPT是需要将问题上传至服务器来进行分析解答的,ChatGPT的对话是会参入Openai的模型训练的,所以隐私信息注意保护。

3.3. 后ChatGPT时代依然要学习好基础知识,才能更好地问出问题,才能得到更有质量的回答。要积极拥抱ChatGPT,可以大幅提升开发速度、代码调试速度、代码质量。借助ChatGPT来学习,提升学习效率,少走弯路。
本文链接地址:https://www.jiuchutong.com/zhishi/300314.html 转载请保留说明!

上一篇:猿创征文|深度学习基于ResNet18网络完成图像分类(猿创部落是干什么的)

下一篇:YOLOv7(目标检测)入门教程详解---环境安装(yolov3目标检测)

  • 微信商家积分在哪里查询和兑现(微信商家 积分)

    微信商家积分在哪里查询和兑现(微信商家 积分)

  • 微信视频号关闭了在哪里打开(微信视频号关闭位置)

    微信视频号关闭了在哪里打开(微信视频号关闭位置)

  • 索尼xm3怎么连接蓝牙呢(索尼xm3怎么连接手机)

    索尼xm3怎么连接蓝牙呢(索尼xm3怎么连接手机)

  • 微信运动步数要联网吗(微信运动步数要开蓝牙吗)

    微信运动步数要联网吗(微信运动步数要开蓝牙吗)

  • 苹果手机id停用无法开机(苹果手机id停用怎么退出登录)

    苹果手机id停用无法开机(苹果手机id停用怎么退出登录)

  • 安卓手机黑屏了怎么导出照片(安卓手机黑屏了怎么办)

    安卓手机黑屏了怎么导出照片(安卓手机黑屏了怎么办)

  • hms 包括哪些服务(hms包含哪些)

    hms 包括哪些服务(hms包含哪些)

  • iphone零售机什么意思(iphone零售机是正品吗)

    iphone零售机什么意思(iphone零售机是正品吗)

  • 一台打印机可以连接几台电脑(一台打印机可以连几个电脑)

    一台打印机可以连接几台电脑(一台打印机可以连几个电脑)

  • 高通和骁龙的区别(高通与骁龙的区别)

    高通和骁龙的区别(高通与骁龙的区别)

  • 相册打不开闪退怎么办(相册打开就闪退怎么办)

    相册打不开闪退怎么办(相册打开就闪退怎么办)

  • 存储主要分为哪些类型(存储主要分为哪两类)

    存储主要分为哪些类型(存储主要分为哪两类)

  • 华为开发者选项在哪里关闭(华为开发者选项无线调试开关在哪)

    华为开发者选项在哪里关闭(华为开发者选项无线调试开关在哪)

  • 手机jovi是干什么用的(手机里面的jovi是什么意思)

    手机jovi是干什么用的(手机里面的jovi是什么意思)

  • 手机铃声变小怎么回事(手机铃声变小怎么弄)

    手机铃声变小怎么回事(手机铃声变小怎么弄)

  • vivo拉黑能收到短信吗(vivo手机拉黑人还能收到短信吗)

    vivo拉黑能收到短信吗(vivo手机拉黑人还能收到短信吗)

  • 打印机副本是什么意思(打印机副本处于错误状态是什么原因)

    打印机副本是什么意思(打印机副本处于错误状态是什么原因)

  • mkpx2电容是什么电容(mkp x2电容)

    mkpx2电容是什么电容(mkp x2电容)

  • 微信朋友圈可以对指定人开放吗(微信朋友圈可以编辑修改吗)

    微信朋友圈可以对指定人开放吗(微信朋友圈可以编辑修改吗)

  • uc下载的视频在哪个文件夹(uc下载的视频在手机哪个文件)

    uc下载的视频在哪个文件夹(uc下载的视频在手机哪个文件)

  • 华为如何取消录屏黑屏(华为如何取消录屏的白点设置)

    华为如何取消录屏黑屏(华为如何取消录屏的白点设置)

  • 小米8拍星星要怎么调(小米8拍星星要开灯吗)

    小米8拍星星要怎么调(小米8拍星星要开灯吗)

  • iphone6s扩容后稳定吗(iphone6s扩容后遗症)

    iphone6s扩容后稳定吗(iphone6s扩容后遗症)

  • plsql中文乱码(plsql中文乱码显示?????)

    plsql中文乱码(plsql中文乱码显示?????)

  • 手机用户体验怎么关闭(手机用户体验怎么删除)

    手机用户体验怎么关闭(手机用户体验怎么删除)

  • 爱奇艺版本在哪看(爱奇艺版本在哪里查看)

    爱奇艺版本在哪看(爱奇艺版本在哪里查看)

  • 免征的增值税怎么计算
  • 什么是销项税额抵减
  • 固定资产的更新改造支出计入什么科目
  • 期初和期末余额均在借方的账户,一般属于
  • 为什么营业成本比营业收入大的时候没有计提减值准备呢
  • 企业所得税为什么那么高
  • 权益性支出与收益性支出区别
  • 小规模印花税计税金额是什么
  • 会计凭证归档后几年后可销毁
  • 应付账款周转率分析
  • 应收账款客户少了几毛没有付怎么处理
  • 公司换法人公司账户怎么办
  • 股东用技术股出售股票
  • 事业单位预算外收入
  • 租个人房子开发票税率是多少
  • 公司迁移注册地税务问题
  • 受托加工物资如何做账
  • 股东分红如何合理节税
  • 水泥厂水泥增值税率是多少?
  • 有进项没有销项可以零申报吗
  • 预付账款可以用应付账款借方
  • 递延所得税资产怎么计算
  • 不需要缴纳增值税和免税的区别
  • 推广费属于什么税收编码
  • 积分抵现金活动怎么做
  • 当月的费用次月入账可以么
  • 企业接受捐赠的固定资产账务处理
  • 市政府的财政拨款怎么算
  • 清算所得税申报表范本
  • win8.1技巧
  • 如何做好系统备案工作
  • 如何在qq好友旁边打字
  • PQV2ISECURITY.EXE - PQV2ISECURITY是什么进程 有什么用
  • 增值税专用发票抵扣期限
  • uniapp示例
  • 长期借款利息的会计科目
  • elementui 手机端
  • 图文详解一本通
  • webpack常用属性
  • jdbc连接mysql的url怎么写
  • detr训练自己的数据集
  • 利润的调增和调减
  • 质量事故发生后,有责任就所发生的质量事故
  • 破解版微擎框架如何升级
  • 公司员工抽奖活动
  • 帝国cms自定义列表
  • vue多平台
  • 购买商品优惠怎么做账
  • 一般计税预缴增值税2%怎么算
  • 信用减值借贷方向增减
  • 团体意外险投保
  • 劳动合同要给税收吗
  • 法定公益金和法定保险金
  • 职工釆暖费有何新政策
  • 采购未到票如何入账
  • 房屋免租期的房子能卖吗
  • 2018城镇医疗保险缴费
  • 成品油生产库存
  • 异地出租房屋
  • 多缴所得税返还会计分录
  • 资产减值损失和资产处置损益区别
  • 个税抵扣项目是什么
  • sql集合包含关系
  • spoolsv.exe是什么文件
  • 手把手教你如何退税
  • 怎么看80端口被占用
  • 电脑windows8怎么样
  • win7系统防火墙无法关闭
  • Linux禁止MySQL开机自启动的小技巧
  • linux装完显卡驱动分辨率低
  • android开启adb
  • 画布canvas的基本步骤
  • js setTimeout opener的用法示例详解
  • javascript如何定义一个函数
  • js测试工具
  • iframe和frame
  • 北京国家税务局网上办税服务厅
  • 小规模纳税人收什么税
  • 企业税务自查报告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设