位置: 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目标检测)

  • 银行开具的票据怎么查询
  • 年末是否结转本年利润
  • 食堂用固定资产可以抵扣吗
  • 权益法核算转成本法
  • 车船税每年都要交吗,一般是多少钱交强险可以晚交吗
  • 租厂房需要交租赁税吗
  • 建筑行业分包款要分项目扣除吗
  • 房产出租增值税税目
  • 会计报废怎么处理
  • 小规模纳税人核算方式选什么
  • 小企业货币资金1710元正常吗
  • 非正常户发票管理
  • 餐饮业购买餐桌椅会计分录
  • 多开进来的发票怎么结算税点呢?
  • 2020年餐饮业销售额
  • 关税不可以抵扣吗
  • 代账公司收取服务费能开增值税票吗?
  • 金蝶软件不审核直接过账
  • 财政资金安排促进高质量发展
  • 中国的农业成本为什么高
  • 公益性捐赠包括向脱贫地区捐赠吗
  • i7 5960X评测跑分参数介绍
  • 企业福利费支出范围
  • 用人单位发放工资时跨行手续费应由谁支付
  • 电脑很空但是占用率90
  • 贷款利息不能抵扣进项税
  • 低值易耗品的管理和流程ppt
  • php用mysql连接数据库并查询
  • framework怎么用
  • 巴黎拉丁区有个著名的人文景点叫做先贤祠
  • 聊聊vue3的defineProps、defineEmits、defineExpose
  • php 遍历字符串
  • javascript常用的数据类型
  • 反向选择命令
  • 兼职工作是单位工作吗
  • 合并范围外关联方需要函证吗
  • 单位交的那部分医保去哪了
  • 挖机租赁如何做账
  • 周转材料属于什么
  • 专家劳务费能否抵扣个税
  • 企业主营业务收入净额怎么算
  • sqlserver分布式事务
  • 企业为职工支付的补充医疗保险费
  • mysql 优化技巧
  • 应交税费的核算范围
  • 政府补助收入的现金流属于什么
  • 小规模纳税人出租不动产优惠政策
  • 电子商务会计科目有哪些
  • 低值易耗品属于资产类账户吗
  • 固定资产全套账务处理2021
  • 对外贸易出口公司
  • 费用化是计入当期损益吗
  • 房地产行业的特殊性表现在哪些方面
  • 应交税费会计分录实例分析
  • 数据库表的创建心得体会
  • mysql进阶之路
  • win7系统摄像头打不开
  • centos7添加ip地址
  • linux安装与基本命令
  • windows7禁止开机启动
  • win7如何使用usb无线网卡
  • 安卓软件集
  • 批处理文件命令大全
  • 简单的分享一下
  • linux压缩命令compress
  • linux sleep 2
  • shell脚本编程实验报告
  • unity script api
  • 安卓手机管家推荐
  • jQuery插件是什么
  • 安卓手机如何查
  • java多线程编程实战指南
  • 税控盘开电子发票流程
  • 一般纳税人销售收入分录
  • 拒绝税务机关检查
  • 国家税务总局2016年17号公告
  • 养老机构范畴
  • 陕西税务干部学校副教授李刚简历
  • 罗湖税务局在哪
  • 公司财务专用章的用途
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设