AI智能总结
讲师简介 黎槟华(临城),阿里巴巴通义实验室算法专家,北京大学毕业,研究领域包括预训练、代码大模型、结构化问答等。在学术会议上发表论文20+篇。相关研究成果在通义灵码、通义晓蜜等产品中落地应用。 通义实验室通义灵码技术负责人 基于代码大模型的智能编码助手 通义灵码编码助手 应用层 [智能代码生成] [智能研发问答] 能力层 大模型 目录 •通义代码大模型•智能补全生成•智能研发问答•未来展望 通义代码大模型 文本vs代码 1980年9月12日傍晚,姚明出生于上海市第六人民医院,出生时体重5公斤,比普通新生儿重了几乎一倍[11]。姚明的父亲姚志源身高2米08,母亲方凤娣身高1米88,两人均是打篮球出身[12]。姚志源退役后,分配到上海海事局。方凤娣则进了体育科研所[13]。当时姚家居住在西康路一老式里弄住宅[14]。 1982年,姚明随父母搬进位于康平路95号的上海体育学院职工宿舍602室[12][15]。楼里住的都是上海体委的职工,王良佐、沈富麟等当时都是姚家的邻居[13]。姚明出生后,姚明父母工资的大部分都用在伙食上,方风娣很长一段时间每个月只有四十多元的收入。姚明长身体的时候,食量很大。为了保证姚明的营养,姚明父母只能省吃俭用[13]。由于姚明对牛奶的需求也特别大,姚志源从牛奶厂工人朋友那里得到了牛奶卡,才使姚明每天都有牛奶喝[16]。 1986年的秋天,姚明提前一年进入高安路一小读书[17],当时姚明身高是1.47米[18]。姚明一家离开了体育学院的职工宿舍,搬入到康平路的新居[19]。小学的姚明是个喜欢读书的孩子,但因为身高不得不开始篮球训练[16]。姚明自己小时候因身高超群而感到自卑。性格内向,也是最受欺负的一个[20]。 代码的特点-代码是解决问题的步骤 代码的本质是解决问题的步骤,运行代码才能得到结果,所以,代码就是思维链(COT)本身 代码的特点-复用类库 www.top100summit.com调用类库解决子问题其他类库 代码文件并非standalone,通常会引入build-in类库、外部类库来解决对应的问题,所以,代码包含大量利用外部知识解决问题的过程 代码的特点-数据内聚 Sample 2 代码从整体看是内聚的,同一个文件的各个函数,语法一致,解决的同一类问题,所以,代码文件形成了天然的ICL数据 代码大模型发展路线 代 码 大 模 型 到 底 需 要 什 么 能 力? 通 义 灵 码大 模 型 能 力 构 成 万亿级开源代码/积累代码增强代码理解能力 海量技术文档、教程、书籍构筑自然语言和代码生成之间的桥梁 基于通义千问大模型基座增强自然语言能力 通义灵码代码大模型 打造代码生成、注释生成、UT生成等10+代码领域技能 在通义灵码大模型加持下,HumanEval效果超过所有同规模模型 效果 模型层 通义灵码代码大模型 基于通义千问基座,有效结合文本和代码,打造通义灵码大模型 基座 通义千问基座 沉淀海量代码、API文档、技术书籍等11类专业、高质量数据,打造坚实大模型数据基础 智能代码生成 代码生成--从单行补全开始 行级补全是最基础的能力,即根据上文和下文,补全当前行中代码逻辑缺失的部分 更准确-自适应多粒度生成 灵码可以从行、逻辑块、函数、类等多个补全粒度上启发编程者,提供更合适的生成代码 更懂你-根据你的规范多步推理续写 在代码上下文中,参考上下文的风格和代码逻辑,为用户自动补全风格一致、逻辑合理的代码,为用户极大的提升编程效率 多步推理续写 根据上下边界点,自动推理续写左右边界点 多步推理续写 根据左上点,自动推理续写右上、右下、左下点 更全局-跨文件感知代码生成 通义灵码能够感知整个项目的信息,在代码补全中,严格参考类、函数、变量的定义,确保完全符合名称、类型等信息,从而避免代码幻觉问题 有了跨文件感知能力 没有跨文件感知能力 DwcReport的类初始化过程 DwcReport的类初始化过程 •成员变量正确•成员函数正确•函数参数类型正确•函数参数个数正确•函数参数顺序正确 •自动捏造不存在的变量•自动捏造不存在的函数 没有产生任何幻觉问题 生成大量幻觉内容 智能研发问答 痛点分析 写代码 测代码 读代码 了解实现逻辑,但细节代码实现还是要查,一边写代码,一边搜索引擎 刚接手新代码、新模块,逻辑不了解,甚至连注释都没有,完全看不懂 每实现一个函数,都要花费很多时间写单元测试,大量重复性的框架性工作 智能研发问答–智能读代码-代码解释 用户选定某个函数,点击通义灵码图标,即可自动生成该函数的解释内容并能够生成更详细解释或英语解释 代码解释生成 •生成简单解释•生成详细解释•生成中文解释•生成英文解释 智能研发问答–智能写代码-代码领域问答 智能研发问答–智能测代码-单元测试生成 开发者只需要准备好函数,模型可自动为函数生成单元测试类 单元测试生成 支持按不同的测试框架生成单元测试类,供用户自由选择,节省开发时间 “通义灵码编码助手只是开始,人能突破应用限制,与机器无障碍沟通才是终极目标” 基于NL2SQL打造ChatBI 端到端生成可执行SQL 支持NL2SQL复杂场景 支持动态选表、动态选字段、多表联合查询、TOPN/同比/环比/排名等分析类查询需求 SQL生成一步到位,直接在数据库中执行,减少传统技术在前后处理环节的复杂度 企业数据安全隔离 支持企业干预和增强 支持企业自定义同义词、检索召回、增加字段描述等作为知识增强手段,提升模型生成效果 企业无需将原始数据透传给大模型,调用时仅需要提供表结构、模型不接触企业原始数据 基于NL2Script打造Excel助手 直接将自然语言转换为脚本代码(Script),完成Excel操作 生成公式 生成透视图 生成图表 基于NL2DSL打造低代码应用助手 直接将自然语言转换为低代码描述语言(DSL),完成表单应用搭建 未来展望 微 信 官 方 公 众 号 : 壹 佰 案 例关 注 查 看 更 多 年 度 实 践 案 例