0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CodeGeexX 功能使用

jf_ro2CN3Fa 来源:芋道源码 2023-06-26 09:44 次阅读

特性

性能

使用指南

功能

CodeGeeX 是一个具有 130 亿参数的多编程语言代码生成预训练模型,采用华为 MindSpore 框架实现,在鹏城实验室“鹏城云脑 II”上使用 1536 个国产昇腾 910 AI 处理器训练而成。

CodeGeexX 支持十多种主流编程语言的高精度代码生成、跨语言代码翻译等功能,同时开发自动编程插件,更好的辅助程序开发和相关研究。

特性

高精度代码生成

支持生成 PythonC++Java、JavaScript 和 Go 等多种主流编程语言的代码,在 HumanEval-X 代码生成任务上取得 47%~60%求解率,较其他开源基线模型有更佳的平均性能。

跨语言代码翻译

支持代码片段在不同编程语言间进行自动翻译转换,翻译结果正确率高,在 HumanEval-X 代码翻译任务上超越了其它基线模型。

自动编程插件

CodeGeeX 插件现已上架 VSCode 插件市场(完全免费),用户可以通过其强大的少样本生成能力,自定义代码生成风格和能力,更好辅助代码编写。

模型跨平台开源

所有代码和模型权重开源开放,用作研究用途。CodeGeeX 同时支持昇腾和英伟达平台,可在单张 昇腾 910 或 英伟达 V100/A100 上实现推理。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

项目地址:https://github.com/YunaiV/ruoyi-vue-pro

视频教程:https://doc.iocoder.cn/video/

性能

全新多编程语言评测基准 HumanEval-X:HumanEval-X 是第一个支持功能正确性评测的多语言、多任务的基准,包含 820 个人工编写的高质量代码生成题目、测试用例与参考答案,覆盖 5 种编程语言(Python、C++、Java、JavaScript、Go),支持代码生成与代码翻译能力的评测。

cbc05266-13c1-11ee-962d-dac502259ad0.png

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

项目地址:https://github.com/YunaiV/yudao-cloud

视频教程:https://doc.iocoder.cn/video/

使用指南

CodeGeeX 最初使用 Mindspore 框架实现,并在 昇腾 910AI 芯片 上进行训练。为适配更多平台,我们将其转换到 Megatron-LM 框架,支持 Pytorch+GPU 环境。

安装

需要 Python 3.7+ / CUDA 11+ / PyTorch 1.10+ / DeepSpeed 0.6+,通过以下命令安装 codegeex:

gitclonegit@github.com:THUDM/CodeGeeX.git
cdCodeGeeX
pipinstall-e

模型权重

申请权重:https://models.aminer.cn/codegeex/download/request

通过申请权重,您将收到一个包含临时下载链接文件 urls.txt 的邮件。推荐使用 aria2 通过以下命令快速下载(请保证有足够的硬盘空间存放权重(~ 26GB)):

aria2c-x16-s16-j4--continue=true-iurls.txt

使用以下命令合并得到完整的权重:

catcodegeex_13b.tar.gz.part.*>codegeex_13b.tar
tarxvfcodegeex_13b.tar.gz

用 GPU 进行推理

尝试使用 CodeGeeX 模型生成第一个程序吧!首先,在配置文件 configs/codegeex_13b.sh 中写明存放权重的路径。其次,将提示(可以是任意描述或代码片段)写入文件 tests/test_prompt.txt ,运行以下脚本即可开始推理(需指定 GPU 序号):

bash./scripts/test_inference.sh./tests/test_prompt.txt

功能

隐匿模式

在该模式中,CodeGeeX将在您停止输入时,从光标处开始生成(右下角CodeGeeX图标转圈表示正在生成)。生成完毕之后会以灰色显示,按Tab即可插入生成结果。在生成多个候选的情况下,可以使用Alt/Option+[ 或 ]在几个候选间进行切换。

如果你对现有建议不满意,可以使用Alt/Option+N去获得新的候选。可以在设置中改变Candidate Num(增加个数会导致生成速度相对变慢)。

注意:生成总是从当前光标位置开始,如果您在生成结束前移动光标位置,可能会导致一些bugs。我们正在努力使生成速度变得更快以提升用户体验。

cbe95b16-13c1-11ee-962d-dac502259ad0.gif

交互模式

在该模式中,按Ctrl+Enter激活交互模式,CodeGeeX将生成X个候选,并显示在右侧窗口中(X 数量可以在设置的Candidate Num中修改)。

点击候选代码上方的use code即可插入结果到为当前光标位置。

cc189ea8-13c1-11ee-962d-dac502259ad0.gif

翻译模式

在当前的语言的文本编辑器中输入或者粘贴其他语言的代码,您用鼠标选择这些代码,然后按下Ctrl+Alt+T激活翻译模式,您根据提示选择该代码的语言,然后CodeGeeX会帮您把该代码翻译成匹配您当前编辑器语言的代码。

点击翻译结果上方的use code即可插入。您还可以在设置中选择您希望插入的时候如何处理被翻译的代码,您可以选择注释它们或者覆盖它们。

cc9883e8-13c1-11ee-962d-dac502259ad0.gif

提示模式(实验功能)

在该模式中,您可以在输入中添加额外的提示来实现一些有趣的功能,包括并不限于代码解释、概括、以特定风格生成等。该模式的原理是利用了CodeGeeX强大的少样本生成能力。当您在输入中提供一些例子时,CodeGeeX会模仿这些例子并实现相应的功能。

比如,您可以自定义模板中提供一段逐行解释代码的例子。选择您想要解释的代码,按Alt/Option+t触发提示模式,选择您写好的模板(如explanation),CodeGeeX就会解释您输入的代码。以下我们会详细介绍如何制作模板。

ccf87348-13c1-11ee-962d-dac502259ad0.gif

开源地址

https://github.com/THUDM/CodeGeeX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程语言
    +关注

    关注

    9

    文章

    1879

    浏览量

    33227
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79573
  • 训练模型
    +关注

    关注

    1

    文章

    35

    浏览量

    3757

原文标题:多编程语言代码生成神器 CodeGeeX,编码效率提升十倍!

文章出处:【微信号:芋道源码,微信公众号:芋道源码】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    GPIO功能使用注意事项

    GPIO即可编程输入输出口,LTK320T有3组GPIO口,每组最多32条口线。GPIO口线可以实现很多的功能,可以说掌握了GPIO功能也就MCU编程也就基本实现了MCU的入门。GPIO功能使
    发表于 12-09 08:15

    IO复用功能使

    IO复用功能占用时,普通GPIO功能使
    发表于 01-18 07:54

    AT32F系列DMA弹性映射功能使用的方法

    AT32F系列DMA弹性映射功能使用演示AT32F系列DMA弹性映射功能使用的方法。
    发表于 10-27 08:20

    ipod 功能使用手册(2006年末)

    ipod 功能使用手册(2006年末)
    发表于 12-10 15:16 40次下载

    基于HT56R678的A/D功能使

    基于HT56R678的A/D功能使用 HT56R678微控制器内建8通道,12位解析度的A/D转换器.本篇应用范例将介绍如何使用HT56R678微控制器的A/D功能
    发表于 03-27 09:27 26次下载

    CAXA工艺图表XP新增功能使用说明

    CAXA工艺图表XP新增功能使用说明 增加了形位公差的插入方法和编辑方法形位公差的输入:填写状态下,单击鼠
    发表于 10-18 18:46 2435次阅读

    定位导航功能使用说明

    定位导航功能使用说明。
    发表于 05-19 15:16 11次下载

    MTS数据外发功能使用说明文档下载

    中兴物联网合作内容--MTS数据外发功能使用说明
    发表于 01-15 15:43 1次下载

    EG4 MULTI BOOT功能使用指南

    电子发烧友网站提供《EG4 MULTI BOOT功能使用指南.pdf》资料免费下载
    发表于 09-27 09:23 6次下载
    EG4 MULTI BOOT<b class='flag-5'>功能使</b>用指南

    EF3 DUAL BOOT功能使用指南

    电子发烧友网站提供《EF3 DUAL BOOT功能使用指南.pdf》资料免费下载
    发表于 09-27 10:24 3次下载
    EF3 DUAL BOOT<b class='flag-5'>功能使</b>用指南

    EF3 MULTI BOOT功能使用指南

    电子发烧友网站提供《EF3 MULTI BOOT功能使用指南.pdf》资料免费下载
    发表于 09-27 10:23 1次下载
    EF3 MULTI BOOT<b class='flag-5'>功能使</b>用指南

    ELF2 DUAL BOOT功能使用指南

    电子发烧友网站提供《ELF2 DUAL BOOT功能使用指南.pdf》资料免费下载
    发表于 09-27 11:21 2次下载
    ELF2 DUAL BOOT<b class='flag-5'>功能使</b>用指南

    EF2 MULTI BOOT功能使用指南

    电子发烧友网站提供《EF2 MULTI BOOT功能使用指南.pdf》资料免费下载
    发表于 09-26 15:17 4次下载
    EF2 MULTI BOOT<b class='flag-5'>功能使</b>用指南

    AT32 MCU Printf的功能使用方法

    AT32 MCU Printf的功能使用方法
    的头像 发表于 10-27 09:27 460次阅读
    AT32 MCU Printf的<b class='flag-5'>功能使</b>用方法

    OTG功能使用方法

    OTG功能使用方法  什么是OTG功能? OTG(On-The-Go)即为“即插即用”的高速USB接口,在目前的市场上企业和普通消费者极度青睐,其在人们的生活中的应用场景非常广泛,比如U盘、键盘
    的头像 发表于 10-30 09:57 2034次阅读