AI大模型开发架构设计(7)——人人都需要掌握的AI编程及应用案例实战
文章目录
人人都需要掌握的AI编程及应用案例实战 1 AI代码生成模型与AI编程助手介绍
2 AI编程助手的代码生成模型架构剖析 以 CodeGeeX 为例-发展过程 以 CodeGeeX 为例-训练过程 以 CodeGeeX 为例-大规模代码数据处理 以 CodeGeeX 为例-模型架构 以 CodeGeeX 为例-模型训练框架及算力 以 CodeGeeX 为例-如何评估代码生成模型的性能?
3 AI编程助手应用案例 基于 CodeGeeX 大模型架构 应用案例一:正则表达式编写 应用案例二:代码重构 应用案例三:重构实现业务逻辑 应用案例四:改Bugs 应用案例五:写单测 应用案例六:取名字
4 AI 编程软件架构的几点思考 第1点思考:代码仓库 第2点思考:需求变更 第3点思考:架构模式/编程范式 第4点思考:程序员的核心竞争力
人人都需要掌握的AI编程及应用案例实战
1 AI代码生成模型与AI编程助手介绍
程序设计方式的发展
从机器语言到人类语言,越来越 简单化、智能化、降本增效、提质
自动代码生成
自动代码生成或程序合成(Program Synthesis)是计算机科学领域 长久以来的一大难题
AI编程工具
基于大模型的AI编程工具—Github Copilot
基于大模型的AI编程工具
Cursor:https://www.cursor.so/ Bito:https://bito.ai/ CodeWhisperer:https://aws.amazon.com/codewhisperer/ CodeGeeX2:https://codegeex.cn/zh-CN
2 AI编程助手的代码生成模型架构剖析
以 CodeGeeX 为例-发展过程
以 CodeGeeX 为例-训练过程
以 CodeGeeX 为例-大规模代码数据处理
以 CodeGeeX 为例-模型架构
以 CodeGeeX 为例-模型训练框架及算力
框架:基于华为 Mindspore 1.7 计算资源:1536 张昇腾 910 AI 处理器 混合精度:FP16(Layernorm,Softmax 使用 FP32 保证稳定性) 并行训练:192 路数据并行 + 8 路模型并行 全局批大小:3072 训练时长:2个月 训练量:~8500 亿 tokens
以 CodeGeeX 为例-如何评估代码生成模型的性能?
语义相似性 VS 功能正确性 代码正确性基准评估
HumanEval:仅支持Python HumanEval-X:支持多语言
3 AI编程助手应用案例
基于 CodeGeeX 大模型架构
开发了 VS Code、IDEA、PyCharm等 IDE 上的编程助手插件 提供多种交互模式
应用案例一:正则表达式编写
基于 Prometheus 的可观测平台研发,PromQL 是服务治理领域常用的查询语言,我们需要写一个正则表达式,来检测 PromQL 的合法性,以便于尽早发现不合法的 PromQL,抛出错误。
应用案例二:代码重构
我们写代码的过程中,往往会因为疏忽,而产生各种 bug 和坏味道。可以试试 ChatGPT-4 能帮我们做什么,下面是随机从代码仓库拿出的一段基础代码。
应用案例三:重构实现业务逻辑
我们要求一次性交付整个完整需求有点过分,但我们依然可以把需求拆分成小的逻辑单元让TA实现,并要求TA编写单测。 需求,做一个事件的聚合能力,服务治理平台会收集各个平台的事件数据,聚合之后以更加可视化的方式给用户展示。
应用案例四:改Bugs
服务治理平台支持自定义指标,底层识别的变量类型是1,2,$3这种形式,为了用户可读性,前端页面表现为 A、B、C。最近出现了一个 BUG,A+B+C+D+E+F+G+H+I+J+K 配置上去再加载上来之后变成了A+B+C+D+E+F+G+H+I+J+B0。原因 K 是11,但是前端转码的实现是 for 循环遍历处理的,所有处理两位数字有 Bug,转回来识别成了1和0。
应用案例五:写单测
相信上面的例子也足够体现 ChatGPT-4 写单测的能力了,它不管是表驱动、测试用例的构造能力、代码的 Readability 能力都非常强。
应用案例六:取名字
我们知道取变量名和函数名是工程师们最头疼的问题,ChatGPT-4 非常擅长,毕竟这是它的母语呀,例如上面的解析存储容量的函数,它给的建议确实比原名好太多了。
4 AI 编程软件架构的几点思考
第1点思考:代码仓库
第2点思考:需求变更
AI 重新生成代码还是 AI 辅助生成(手动修改原来代码)?
第3点思考:架构模式/编程范式
微服务分层架构模式还适用吗? Serverless 架构会是一种适合的模式吗?
第4点思考:程序员的核心竞争力
程序员经历从手工编码、到低代码、零代码 再到 AI 生成代码 的新时代,时代在进步,繁琐 Coding 终究交由机器来完成 我们去从事更有思考深度的工作,做一个积极拥抱变化马车夫
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1426810.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!