CodeGeeX环境变量设置教程
时间:2026-04-24 09:03:40 210浏览 收藏
想要充分发挥CodeGeeX的GPU加速、本地模型缓存、Ollama集成与量化推理等核心能力?关键在于精准配置CUDA_VISIBLE_DEVICES、HF_HOME、OLLAMA_HOST等环境变量——不仅需在系统终端正确设置,更须通过VSCode专属配置强制注入,避免插件因环境继承失效而“看不见”GPU或模型路径;本文手把手详解从单/多卡指定、HuggingFace缓存重定向、Ollama端口映射到Python运行时动态适配的全链路操作,助你彻底打通本地部署与高效推理的最后一公里。

如果您在使用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进程需先终止。
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窗口,重新通过开始菜单或桌面快捷方式启动,确保新环境变量生效。
今天关于《CodeGeeX环境变量设置教程》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
241 收藏
-
495 收藏
-
375 收藏
-
151 收藏
-
417 收藏
-
135 收藏
-
259 收藏
-
293 收藏
-
492 收藏
-
273 收藏
-
216 收藏
-
327 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习