资讯动态

ChatGLM3-6B Code Interpreter 部署实战:让大模型真正“动手“执行代码

发布时间:2026/9/11 23:01:32 来源:尧图企业网站定制
ChatGLM3-6B Code Interpreter 部署实战让大模型真正动手执行代码【免费下载链接】self-llm《开源大模型食用指南》针对中国宝宝量身打造的基于Linux环境快速微调全参数/Lora、部署国内外开源大模型LLM/多模态大模型MLLM教程项目地址: https://gitcode.com/GitHub_Trending/se/self-llm本文是一篇基于《开源大模型食用指南》self-llm 项目models/ChatGLM 目录下的 04-ChatGLM3-6B-Code-Interpreter.md 展开的实战指南。它面向想要在 Linux GPU 云主机上完整跑通 ChatGLM3-6B 代码解释器Code Interpreter的开发者覆盖从租用 24G 显存机器、配置 Python 3.10 环境、使用 ModelScope 下载模型到拉取官方 ChatGLM3 仓库并以 Streamlit 启动 composite_demo 的完整链路。读完本文你将掌握一套可复现的 Code Interpreter 本地部署方案并理解模型生成代码、Jupyter 内核执行代码、执行结果回流给模型这一闭环的工作原理。前置提醒本项目要求 Python 3.10 或更高版本请确保运行环境满足该版本约束。一、前置准备租用 GPU 云主机并选择合适镜像Code Interpreter 的运行依赖 ChatGLM3-6B 这一 6B 参数的对话模型其权重加载与推理对显存有一定要求。原文档给出的方案是在 AutoDL 这类 GPU 云平台上租用一张24G 显存的显卡机器如 RTX 3090以便让模型权重完整载入显存并获得流畅的交互体验。租用时镜像选择的组合至关重要因为它直接决定了 Python 版本与 CUDA 环境是否满足项目要求。按照原文档的指引镜像应选择基础框架Minicondaconda 版本conda3Python 版本3.10 (ubuntu20.04)—— 满足本项目 Python 3.10 或更高版本 的硬性要求CUDA 版本11.8完成实例创建后打开该实例自带的JupyterLab进入其中的终端后续的环境配置、模型下载与 demo 运行都在这个终端中完成。二、环境配置pip 换源与核心依赖安装为了加速依赖安装并锁定关键库版本原文档给出的做法是先将 pypi 源切换为清华镜像再依次安装以下核心依赖# 更换 pypi 源加速库的安装 # 升级pip python -m pip install --upgrade pip pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip install modelscope1.9.5 pip install transformers4.35.2 pip install torch2.0.1cu117 torchvision0.15.2cu117 torchaudio2.0.2 --index-url https://download.pytorch.org/whl/cu117几个依赖的用途与版本选择说明如下modelscope1.9.5阿里达摩院的开源模型下载与使用框架本教程用它来下载 ChatGLM3-6B 权重国内网络环境下比 Hugging Face 更稳定transformers4.35.2Hugging Face 的模型加载与推理框架该版本与 ChatGLM3-6B 官方代码兼容性良好torch / torchvision / torchaudioPyTorch 深度学习框架这里显式指定了cu117CUDA 11.7的 wheel 版本与租用机器上的 CUDA 驱动匹配注意需从 PyTorch 官方索引安装。如果你希望与本仓库其他 ChatGLM3 教程如 FastApi 部署、LangChain 知识库共用一套环境也可以参考仓库中的 requirements.txt其中整理了包含modelscope、transformers、ipykernel、streamlit、langchain、gradio等在内的完整依赖清单。三、模型下载使用 ModelScope 拉取 ChatGLM3-6B模型下载采用 ModelScope 的snapshot_download函数。其第一个参数为模型名称参数cache_dir指定模型的下载路径也即后续运行时指向的本地模型目录。在/root/autodl-tmp路径下新建download.py文件并写入以下内容保存后执行python /root/autodl-tmp/download.py开始下载import torch from modelscope import snapshot_download, AutoModel, AutoTokenizer import os model_dir snapshot_download(ZhipuAI/chatglm3-6b, cache_dir/root/autodl-tmp, revisionmaster)需要了解的几个要点模型名称为ZhipuAI/chatglm3-6brevisionmaster表示拉取 master 分支的最新权重模型整体大小约为14 GB在带宽正常的网络下下载耗时大约10~20 分钟下载完成后模型权重将落在/root/autodl-tmp/ZhipuAI/chatglm3-6b路径下该路径正是后续MODEL_PATH环境变量要指向的位置。四、代码准备clone 官方仓库并锁定 commit运行 Code Interpreter demo 需要官方 ChatGLM3 仓库中的composite_demo复合 Demo集成了 Chat、Tool 与 Code Interpreter 三种模式。clone 前先开启 AutoDL 平台自带的学术镜像加速以提升 GitHub 拉取速度source /etc/network_turbo接着切换路径并 clone 代码cd /root/autodl-tmp git clone https://github.com/THUDM/ChatGLM3.git为了保证与教程环境完全一致、便于复现原文档建议将仓库切换到固定的 commit 版本cd ChatGLM3 git checkout f823b4a3be9666b9b2a9daa43b29659e876a040dclone 完成后务必取消学术镜像加速——该加速代理可能对正常网络造成影响避免干扰后续其他模型的下载unset http_proxy unset https_proxy最后切换到composite_demo目录并安装其依赖cd /root/autodl-tmp/ChatGLM3/composite_demo pip install -r requirements.txt需要特别强调的是composite_demo的运行依赖 Jupyter 内核demo 通过内核来真正执行模型生成的 Python 代码因此请确保环境中已安装ipykernel等内核组件。五、demo 运行通过环境变量指定模型路径与内核composite_demo 启动前需要配置两个关键环境变量export MODEL_PATH/root/autodl-tmp/ZhipuAI/chatglm3-6b export IPYKERNELpython3MODEL_PATH指向第一步用 ModelScope 下载好的 ChatGLM3-6B 本地权重目录demo 将据此加载模型与分词器IPYKERNEL指定 demo 执行代码时使用的 Jupyter 内核名称此处为python3。该变量将模型生成代码的能力与 Jupyter 执行环境桥接起来——模型输出 Python 代码内核负责实际运行。随后启动 Streamlit 服务streamlit run /root/autodl-tmp/ChatGLM3/composite_demo/main.py --server.address 127.0.0.1 --server.port 6006--server.address 127.0.0.1将服务绑定在本机回环地址--server.port 6006指定监听端口如需从本地浏览器远程访问可在 AutoDL 控制台将该端口做自定义服务映射。启动成功后浏览器中即可看到 ChatGLM3 Demo 界面其顶部提供Chat、Tool、Code Interpreter三种模式切换左侧面板可调节top_p、temperature、repetition_penalty等生成参数六、Code Interpreter 的核心价值与原理为什么值得单独部署 Code Interpreter 模式关键在于它让模型从只会生成代码进阶为生成并执行代码、再基于执行结果继续推理。仓库内的 Extra-ChatGLM3-6B-Pipeline.md 给出了一个直观的对比使用普通对话模式提问帮我计算 1 到 100 的和模型只会返回代码片段sum(range(1,101))切换到 Code Interpreter 模式提出同样的问题模型不仅生成代码还会通过 Jupyter 内核执行它最终直接告诉你结果5050。这意味着可以基于该能力实现程序的自动调试与修正——模型能读取代码的运行输出包括报错信息据此调整代码重新执行而不必由用户一次次手工重试交互。这正是 Code Interpreter 在数据分析、数学计算、图表可视化、代码调试等场景下极具实用价值的原因。上图中生成心形绘制代码并输出图案的效果即直观展示了模型 执行器协同工作的结果。七、拓展学习将 Code Interpreter 融入 ChatGLM3 全栈实践Code Interpreter 只是 ChatGLM3-6B 能力矩阵中的一环。在 models/ChatGLM 目录下你可以沿着同一条部署主线继续深入基础推理01-ChatGLM3-6B Transformer部署调用.md 讲解最基础的 Transformers 推理与多轮对话调用方式是理解模型加载与model.chat()接口的起点服务化部署02-ChatGLM3-6B FastApi部署调用.md 将模型封装为 HTTP 服务方便其他系统以标准接口调用RAG 知识库05-ChatGLM3-6B接入LangChain搭建知识库助手.md 将 ChatGLM3-6B 接入 LangChain 与向量数据库赋予其基于私有文档问答的能力个性化微调06-ChatGLM3-6B-Lora微调.md 通过 LoRA 高效微调让模型获得特定角色风格配合训练脚本 06-ChatGLM3-6B-Lora微调.py 可直接运行一键整合流程Extra-ChatGLM3-6B-Pipeline.md 将上述各环节整合为一条从环境、推理、服务化到 Code Interpreter 的完整部署流水线并解决了过程中的版本匹配问题。八、常见问题与注意事项Python 版本不足项目要求 Python 3.10租机镜像务必选择 3.10 及以上版本否则composite_demo依赖的部分库将无法正常安装或运行版本不匹配transformers与模型仓库 commit 的兼容性直接影响加载是否成功建议严格按照本文给定的transformers4.35.2与f823b4a3be9666b9b2a9daa43b29659e876a040d复现后续自行升级依赖时需自行验证兼容性PyTorch 与 CUDA 匹配安装 torch 时显式指定cu117索引避免默认源安装出不匹配 CUDA 的 CPU 版本学术加速代理残留clone 完代码后务必unset http_proxy unset https_proxy否则后续访问国内资源时可能因代理异常而失败端口访问在 AutoDL 等云平台上127.0.0.1:6006默认仅本机可访问远程使用前需在平台控制台配置端口映射。至此你已经完成了 ChatGLM3-6B Code Interpreter 从零到一的完整部署一台 24G 显存的 GPU 云主机 Python 3.10 环境 14GB 模型权重 官方 composite_demo换来的是一个能写代码、能跑代码、还能根据运行结果自我修正的智能代码解释器。这套流程同样适用于仓库内其他模型家族的部署实践可作为理解模型即服务 工具执行范式的标准入口。【免费下载链接】self-llm《开源大模型食用指南》针对中国宝宝量身打造的基于Linux环境快速微调全参数/Lora、部署国内外开源大模型LLM/多模态大模型MLLM教程项目地址: https://gitcode.com/GitHub_Trending/se/self-llm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价