新知榜官方账号
2023-08-04 16:22:48
CodeGeeX2是多语言代码生成模型CodeGeeX的第二代模型,不同于一代CodeGeeX,CodeGeeX2是基于ChatGLM2架构加入代码预训练实现。得益于ChatGLM2的更优性能,CodeGeeX2在多项指标上取得性能提升(+107%>CodeGeeX),仅60亿参数即超过150亿参数的StarCoder-15B近10%。相较于一代模型,二代具有更强大的代码能力、更优秀的模型特性、更全面的AI编程助手和更开放的协议。
GLM团队开发了支持VSCode、IntelliJIDEA、PyCharm、GoLand、WebStorm、AndroidStudio等IDE的CodeGeeX插件。在插件中,可以更直接地体验到CodeGeeX2模型在代码生成与补全、添加注释、代码翻译及技术问答方面的能力为开发效率带来的提升。CodeGeeX2目前支持在多种不同平台上进行推理,包括CPU推理,多卡推理,加速推理等。
使用transformers快速调用CodeGeeX2-6B:
fromtransformersimportAutoTokenizer,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')
#如使用CPU推理,device='cpu'
model=model.eval()
#CodeGeeX2支持100种编程语言,加入语言标签引导生成相应的语言
prompt="#language:Python
#writeabubblesortfunction
"
inputs=tokenizer.encode(prompt,return_tensors="pt").to(model.device)
outputs=model.generate(inputs,max_length=256,top_k=1)
#示例中使用greedydecoding,检查输出结果是否对齐
response=tokenizer.decode(outputs[0])
>>>print(response)
#language:Python
#writeabubblesortfunction
defbubble_sort(list):
foriinrange(len(list)-1):
forjinrange(len(list)-1):
iflist[j]>list[j+1]:
list[j],list[j+1]=list[j+1],list[j]
returnlist
print(bubble_sort([5,2,1,8,4]))fastllm中模型接口和huggingface不完全相同,可以参考demo/run_demo.py中的相关实现:
model.direct_query=True
outputs=model.chat(tokenizer,prompt,max_length=out_seq_length,top_p=top_p,top_k=top_k,temperature=temperature)
response=outputs[0]
微信扫码咨询
相关工具
相关文章
推荐
阿里Accio中文版上线!一键搞定复杂采购
2025-08-19 09:13
视频“用嘴编辑”的时代来了,但钱包顶得住吗?
2025-08-15 17:59
智谱新模型GLM-4.5V全面开源,玩家们有福啦!
2025-08-12 17:56
扎心文案+AI插画=爆款!揭秘8万赞视频的制作全流程
2025-08-12 10:08
GPT-5没你想的那么好,附实测体验~
2025-08-11 11:07
一站式搞定AI绘图+视频,AI短片效率飙升的秘密在这儿!
2025-08-08 09:26
打工人新神器!10款国产AI,让你告别996!
2025-08-08 09:24
豆包视觉推理深度体验,AI也能“边看边想”了!
2025-08-08 09:19
300美元的AI男友来了!马斯克的情感生意从女友做到男友
2025-08-01 17:56
Agent智能体:2025年企业新员工,月薪仅需一度电?
2025-07-30 17:49