必须正确配置cuda_visible_devices、hf_home、ollama_host等环境变量,并在vscode中显式注入,才能启用codegeex的gpu加速、模型缓存、ollama本地服务及量化推理功能。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用CodeGeeX进行代码生成或本地部署时,需要为其正确配置环境变量以启用GPU加速、量化推理或多卡并行等关键能力,则必须确保系统级和运行时环境变量设置准确无误。以下是实现该目标的具体操作路径:
一、设置CUDA_VISIBLE_DEVICES指定GPU设备
该环境变量用于显式声明CodeGeeX可访问的GPU设备编号,避免模型加载时自动占用全部显卡或与其它进程冲突。其值直接影响模型能否成功加载至CUDA设备及显存分配策略。
1、打开系统终端(Windows使用PowerShell或CMD,Linux/macOS使用bash/zsh)。
2、执行命令临时设置单卡模式:export CUDA_VISIBLE_DEVICES=0(Linux/macOS)或 set CUDA_VISIBLE_DEVICES=0(Windows)。
3、执行命令临时设置双卡模式:export CUDA_VISIBLE_DEVICES=0,1(Linux/macOS)或 set CUDA_VISIBLE_DEVICES=0,1(Windows)。
4、在Python脚本运行前,将该变量嵌入启动命令:例如 CUDA_VISIBLE_DEVICES=0,1 python run_demo.py --quantize 4。
二、配置HuggingFace缓存与模型路径
CodeGeeX依赖HuggingFace Transformers库加载模型,其默认缓存位置可能因权限或磁盘空间不足导致下载失败或路径混乱。通过显式设定环境变量可强制指定模型存储位置,规避权限错误与路径不可写问题。
1、确定一个具有读写权限的本地目录,例如 D:\hf_cache(Windows)或 /home/user/hf_cache(Linux/macOS)。
2、执行命令设置缓存根目录:export HF_HOME=/home/user/hf_cache(Linux/macOS)或 set HF_HOME=D:\hf_cache(Windows)。
3、同步设置TRANSFORMERS_CACHE指向同一路径:export TRANSFORMERS_CACHE=/home/user/hf_cache(Linux/macOS)或 set TRANSFORMERS_CACHE=D:\hf_cache(Windows)。
4、验证设置是否生效:在Python中运行 import os; print(os.environ.get('HF_HOME')),确认输出为所设路径。
三、启用Ollama本地服务端口映射
当CodeGeeX插件切换至本地Ollama后端时,需确保其能通过HTTP协议访问Ollama API服务。若Ollama默认监听的11434端口被占用,必须通过环境变量覆盖其绑定地址,否则插件将无法建立连接。
1、停止当前Ollama服务:ollama serve进程需先终止。
CodeGeeX 2.21.0是智谱AI推出的AI编程助手版本,对Inline Chat功能进行了重大优化,包括UI设计升级、支持流式输出以提升响应速度,并新增“查看思路”按钮以便理解代码原理。同时,该版本在编辑器中新增CodeLens控件,支持一键“解释”代码或“添加注释”。目前该工具对个人开发者免费开放。
2、启动Ollama并指定新端口:OLLAMA_HOST=127.0.0.1:11435 ollama serve(Linux/macOS)或 set OLLAMA_HOST=127.0.0.1:11435 && ollama serve(Windows)。
3、在VSCode中打开CodeGeeX设置页面,将“API Base URL”字段修改为 http://127.0.0.1:11435。
4、保存设置后重启CodeGeeX插件,检查状态栏是否显示“Connected to Ollama”。
四、配置Python运行时设备与量化参数
在直接调用CodeGeeX模型代码(如AutoModel.from_pretrained)时,环境变量本身不生效,需在Python代码中显式传入设备标识与量化指令。此时需结合os.environ读取预设变量,实现动态适配。
1、在Python脚本开头添加环境变量读取逻辑:import os; device = 'cuda' if os.environ.get('USE_CUDA') == '1' else 'cpu'。
2、根据量化级别选择加载方式:若需INT4量化,调用 model.quantize(4);若需CPU推理,传入 device='cpu' 参数。
3、完整初始化示例:model = AutoModel.from_pretrained('THUDM/codegeex2-6b', trust_remote_code=True).quantize(4).to(device)。
4、确保当前Python进程已继承系统环境变量——避免在IDE内置终端中运行时未加载用户级环境配置。
五、修复VSCode插件环境变量继承失效
VSCode默认不会从系统shell完整继承环境变量,尤其在Windows图形界面启动时,可能导致CodeGeeX插件无法识别CUDA_VISIBLE_DEVICES或HF_HOME。必须通过VSCode专属配置强制注入。
1、打开VSCode设置(Ctrl+,),搜索“Environment”,点击“Edit in settings.json”。
2、在settings.json中添加如下字段:"terminal.integrated.env.linux": {"CUDA_VISIBLE_DEVICES": "0"}, "terminal.integrated.env.windows": {"CUDA_VISIBLE_DEVICES": "0"}。
3、为CodeGeeX插件单独配置:在settings.json中加入 "codegeex.apiBaseUrl": "http://127.0.0.1:11434" 和 "codegeex.useLocalModel": true。
4、关闭所有VSCode窗口,重新通过开始菜单或桌面快捷方式启动,确保新环境变量生效。










