CodeGeeX2
国产60亿参数多语言代码生成大模型,支持100+编程语言,超越150亿参数的StarCoder-15B
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
国产60亿参数多语言代码生成大模型,支持100+编程语言,超越150亿参数的StarCoder-15B
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

想象一下这个场景:深夜加班改一个棘手的算法实现,脑子里已经有了思路,但落笔时却被语法细节绊住——这时候如果有一个人,能实时读懂你的意图,帮你把思路翻译成正确的代码,你会作何感想?CodeGeeX2 正是这样一个存在。
作为国内最早开源的多语言代码生成大模型之一,CodeGeeX2 由清华大学团队与智谱AI联合研发,是 CodeGeeX 系列的第二代产品。与第一代纯国产昇腾芯片训练不同,CodeGeeX2 基于 ChatGLM2-6B 架构微调而来,凭借 60 亿参数,在代码生成任务上已经能与国际上 150 亿参数量级的 StarCoder-15B 正面竞争,在部分编程语言上甚至实现超越。
传统的代码补全工具往往只擅长一种编程语言,遇到项目混用 Python、JavaScript、Go 等多语言时就「哑火」了。而 CodeGeeX2 的核心优势恰好在于 多语言——它支持超过 100 种编程语言,包括 Python、C++、Java、JavaScript、Go、Rust 等主流语言,中英文 prompt 均可输入。
在 HumanEval-X 基准评测中,CodeGeeX2-6B 的 Python 一次性通过率达到 35.9%,超越规模更大的 StarCoder-15B;Rust 语言提升幅度高达 +321%,JavaScript 提升 +83%,C++ 提升 +71%。这些数字背后,是团队在 6000 亿 tokens 代码数据上持续预训练的成果。
对于有 NVIDIA 显卡的开发者,CodeGeeX2 提供了最原生的使用方式——直接通过 transformers 库调用模型。只需几行代码,就能在本地跑起一个代码补全助手:
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained(
"THUDM/codegeex2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained(
"THUDM/codegeex2-6b", trust_remote_code=True, device='cuda')
model.eval()
# 加上语言标签效果更好
prompt = "# language: Python\n# write a bubble sort function\n"
inputs = tokenizer.encode(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(inputs, max_length=256, top_k=1)
print(tokenizer.decode(outputs[0]))
没有 GPU 也不必担心,CodeGeeX2 还提供了一个 Gradio 驱动的 Web 界面(demo/run_demo.py),可以在 CPU 模式下运行,虽然速度慢一些,但体验完整。运行方式极为简单:
pip install -r requirements.txt
# CPU 模式
python demo/fastapicpu.py
# GPU 多卡加速模式
python demo/gpus.py

图1:CodeGeeX2 支持 VS Code、JetBrains 全家桶插件,以及 Web Gradio Demo 多端体验
CodeGeeX2 的真正威力释放在 IDE 插件中——它支持 VS Code、IntelliJ IDEA、PyCharm、GoLand、WebStorm、Android Studio 等主流开发工具。安装插件后,你可以:
CodeGeeX2 的技术选型非常务实:基于 ChatGLM2-6B 基座进行代码预训练。ChatGLM2 本身在自然语言理解上已经表现优异,而代码本质上也是一种结构化语言——CodeGeeX2 团队在 600B tokens 规模的代码数据上进行二次预训练,使得基座模型学会了代码的「语法」和「风格」。
模型的核心参数规模为 60 亿,FP16 精度下需要约 12GB 显存,量化后(INT4)最低仅需 6GB 显存即可运行,这对个人开发者来说相当友好。最大支持 8192 token 的上下文长度,可以处理较长函数或整个代码文件的生成需求。
评测框架(evaluation/ 目录)包含了 HumanEval-X 基准的完整实现,包括代码执行(execution.py)、生成(generation.py)和评测(evaluation.py)三个核心模块,确保评测结果可复现。
硬件需求方面,GPU 不是必需的——CPU 量化模式可以运行,但推理速度会显著变慢(一个请求可能需要几十秒到数分钟)。如果你有一块 NVIDIA GPU(6GB+ 显存),体验会好很多。磁盘空间需要约 15GB(模型权重 + 分词器)。
软件依赖方面,核心依赖包括 transformers>=4.30.2、torch>=2.0、accelerate、cpm_kernels 等,没有特殊的第三方依赖,安装过程相对标准化。
上手难度评为「中等」——有 Gradio Demo 可以零配置体验,但深度使用(本地推理、IDE 插件集成)需要一定 Python 基础和对深度学习推理流程的基本了解。
没有任何项目是完美的,CodeGeeX2 也不例外:
CodeGeeX2 的出现,标志着国产代码大模型从「追赶者」向「竞争者」角色的转变。在 KDD 2023 发表论文、GitHub 获得 7500+ star、并在 HuggingFace 上开放模型下载,这套组合拳让 CodeGeeX2 成为了 AI 辅助编程领域的重要参考实现。
更重要的是,CodeGeeX2 的后续版本 CodeGeeX4 已经发布,技术迭代速度很快。对于开发者和企业来说,关注这个项目不仅是使用一个工具,更是跟踪国产代码大模型技术演进的窗口。
项目信息: