您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[腾讯]:腾讯云AI代码助手 - 发现报告

腾讯云AI代码助手

2024-05-14腾讯W***
AI智能总结
查看更多
腾讯云AI代码助手

➢➢➢➢➢ ➢➢➢➢ 【模型】探索适合代码场景的行业模型 【应用形态】打造流畅高效的编程体验 ➢LLaMa系的模型token window size有限(2048),涉及到代码理解/生成这类prompt/output任务,易因超出token长度限制或由于上下文信息不全导致任务中断 ➢针对专业开发者,提升工作效率和质量,对AI辅助生成的代码存在批判性思维 ➢针对代码学习钻研用户,专注代码本身,创建小的、即时使用的任务型应用程序 ➢LLaMa系模型humanEval和MBPP测试结果低于专用代码生成模型 ➢响应速度更快、成本更低,基于更小的模型? ➢LLaMa是综合模型,预训练阶段私用代码知识库仅占6.5%,工程知识量存在天花板 ➢具备高粘度的编程体验,及时补全将调用的函数、方法等辅助性编码实践下文 【企业需求】符合国内行业客户诉求——SMAF 数据看板 多模能力 ➢代码补全是高频场景,优先度最高➢AI编码辅助之外,代码扫描、评审、以及DevOps上下游规划 A➢如何保障二次训练以及行业代码的训练效果➢有哪些效能指标,可以帮助管理者观察工具对开发工作的提升 M➢各部门的业务特性不同,可能需要多个性化行业模型➢根据不同业务特性,进行二次训练,补全模型 ➢保证基础模型里用于训练的代码是安全的➢保障补全出来的代码是安全的 nalysis Security 腾讯AI代码助手,基于混元代码模型之上的,面向开发者的,代码智能补全和开发辅助的工具,以帮助开发者提高代码完成速度和准度,帮助企业管理者洞察研发效能情况。 当前支持Python, JavaScript/TypeScript, Java, C/C++, Go,Rust,swift等十几款主流编程语言,支持JetBrains和VScode。 根据注释生成代码 补全行内代码 代码补全 根据注释描述及上下文,生成业务逻辑代码与函数 补全内容包含常见的特征,对象判空,循环定义,异常捕捉,日志定义等 根据上文补下文 根据光标上下文的代码或注释生成代码建议 情境感知的技术对话 提问推荐 技术对话 针对上文的回答自动生成下一个可能的提问推荐列表 根据当前上下文情况,有推理的解答回复 对话生成代码建议 对话指令操作 支持常用指令:翻译、互转、解释、排错等,通过精准的指令定义,让对话更有效 通过对话得到的代码建议,可以与编码区结合,支持建议对比,并根据问题答案生成代码片段 生成测试用例 生成冒烟测试 自动化测试 根据工程语境,生成冒烟测试,加强软件开发过程质量 根据代码逻辑生成测试文件,通过测试用例的描述,实现特定的单元测试 生成接口测试 生成优化方案 根据工程语境,准备测试所需数据,并进行大量的接口测试 对有问题的测试结果,可根据测试结果通过对话寻求修复建议,或寻求测试代码优化建议 发现潜在代码隐患 代码错误修复建议 代码诊断 发现代码存在的潜在异常问题、空指针、安全漏洞等,在开发阶段及时修正 代码语法问题、编译错误、运行报错等等,通过诊断,给予修复建议 提交代码前的检查 强化代码可读性 提交PR前进行代码诊断检查,并给出意见 针对代码可读性,复杂度进行诊断,并给出建议优化 AI代码助手能够检测和纠正语法错误和逻辑错误,降低代码的错误率,提高代码质量。 通过自动补全和生成代码,AI代码助手可以显著提高编程效率,使开发人员能够更快地完成代码编写任务。 AI代码助手根据业界最佳实践和编程规范,智能生成高质量的代码,有助于保持项目的整洁和可维护性。 针对一些复杂的模式化/框架化代码和一些不利于人类记忆的语法,AI代码助手可以更准确、更高效的生成。使研发人员能够专注于关键业务问题和创新性任务。 AI代码助手可以让研发的知识广度更加丰富,前端研发在AI辅助下可以完成部分后端代码的编写,后端研发也可以完成前端工作。 对于一些复杂问题,AI代码助手可通过多轮对话提供更详细的解决方案,帮助开发者轻松应对技术挑战。 AI代码助手部署分为TCS容器平台、后端服务、模型服务节点等几个部分,各个部分能够根据业务需要动态扩容。 TCS容器平台:提供企业级的K8S容器平台,并支持业务的监控、日志等可观测能力建设。 后端服务:部署AI代码助手后端服务,包括多模型接入、网关管理、License管理、效能度量、配置管理、账号集成、插件下发等,后端服务均为无状态服务,支持平滑扩容。 模型服务:提供模型服务,模型服务可以运行在TCSWorker上。 Ti-One训练平台(可选):如果需要对模型进行训练和微调,则需要部署Ti-One训练平台。 显卡资源估算逻辑: 传统的后端服务,一般速度的单位是"每条请求多少毫秒",而吞吐量(QPS、TPS等)的单位是"每秒多少个请求"。但是对于LLM服务,由于单条请求的执行时间差异很大,用户设置的prompt,max_new_tokens,stop_words等参数都会影响执行时间,导致单条请求耗费时间从几十毫秒到几十秒都是很常见的。LLM吞吐量和模型大小、GPU、部署框架、量化方案相关。 代码补全场景: 1.在代码补全场景中,模型是3B、部署框架采用的是vllm、量化方案采用的是fp16。它的吞吐量和GPU型号/数量正相关。 2.在代码补全场景中,推理触发的频率较高,正常范围在10~20/分钟,单次推理的输出假定单行平均为16个Token为标准(约为60个字符,符合大部分代码补全预期) 3.如果延时的要求为1s ,则一张A10的卡,可以同时支撑6个左右的用户。如果延时要求为200ms,则一张A10的卡,只能同时支持1.2个用户。(这里是并发估算逻辑) 4.如果是其他型号的显卡,可以参考显卡在FP16下的算力来估算所需数量。比如:A10显卡的FP16算力为125teraFLOPS,A100显卡的算力为312teraFLOPS,那么1张A100的显卡可以约等于2.5张A10的显卡 技术对话场景: 1.在技术对话场景中,模型是13B、部署框架采用的是vllm、量化方案采用的是fp16。推理的吞吐量和GPU型号/数量正相关。 2.由于技术对话场景中对话的输入与输出差异化较大,并且输入的token长度非常影响模型的吞吐量。假定一个输入的token长度为50的场景下,单张A10的显卡的输出token是18/s 3.假设我们有10张A10的显卡,那么10秒(一个对话场景,10秒左右给出完整结果是一个用户可以接受的时间)的总共输出token是1800个,而一个对话的返回token是从几十到几百不等的。所以1张A10的显卡,大概可以提供1-1.5个对话的并发。并发超过了就需要排队。 4.对话是交互式使用,因此用户使用对话的频率远低于补全。我们假定一个用户,在正常情况下使用对话的频率为3-5分钟一次,每次对话的占用时间为10~20秒不等,可以得出一张A10的卡,可以支撑15人左右使用(非并发逻辑,常规频率使用,GPU满负载)。 5.如果可以接受更长的流式对话输出时间,可以减少显卡需求 需求描述 在原有大模型助手的基础上,新增模型驱动短信发送功能。 1、通过“技术对话”,完成调用腾讯云短信的驱动函数; 2、通过“代码补全”,完成短信服务封装; Demo演示 传统人工开发时长:2H运用代码助手的开发时长:5min 需求描述 在原有大模型助手的基础上,新增模型驱动短信发送功能。 1、通过“技术对话”,完成调用腾讯云短信的驱动函数; 2、通过“代码补全”,完成短信服务封装; Demo演示 传统人工开发时长:2H运用代码助手的开发时长:5min 需求描述 在原有大模型助手的基础上,新增模型驱动短信发送功能。 1、通过“技术对话”,完成调用腾讯云短信的驱动函数; 2、通过“代码补全”,完成短信服务封装; Demo演示 传统人工开发时长:2H运用代码助手的开发时长:5min 需求与痛点 金融机构代码不可外泄开源模型难以定制和调优开发成本居高不下,开发周期紧张,开发者忽略测试用例编写技术人员查阅大量技术方案寻找灵感,降低开发效率 某金融机构通过AI代码助手,赋能全新开发形态,实现降本增效