让ChatGLM3自己写代码并执行:Code Interpreter代码解释器实战指南
让ChatGLM3自己写代码并执行Code Interpreter代码解释器实战指南【免费下载链接】ChatGLM3ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型项目地址: https://gitcode.com/zai-org/ChatGLM3ChatGLM3是智谱AI与清华KEG实验室联合发布的开源双语对话大模型。它的Code Interpreter代码解释器能让模型连接一台电脑自己编写 Python 代码、在 Jupyter 环境中执行并拿到结果自动连续跑多轮代码直到任务完成。本指南带你用 3 步部署并上手这个能力。什么是 Code Interpreter 代码解释器普通对话模型只会说而 Code Interpreter 让模型能够做。绘制图表画爱心、画函数曲线数据分析读取文件、找缺失值、做统计符号运算求导、积分等数学任务你只需给出任务模型会自动写代码 → 执行 → 看结果 → 改错 → 再执行循环直到搞定。 综合 Demo 内置Chat / Tool / Code Interpreter三种模式切换即用无需额外安装。一键安装3 步部署 ChatGLM3 代码解释器第 1 步克隆仓库git clone https://gitcode.com/zai-org/ChatGLM3 cd ChatGLM3/composite_demo第 2 步创建环境并装依赖建议用 Conda 管理环境需Python 3.10conda create -n chatglm3-demo python3.10 conda activate chatglm3-demo pip install -r requirements.txt第 3 步安装 Jupyter 内核代码解释器依赖一个 Jupyter 内核来跑代码ipython kernel install --name chatglm3-demo --user依赖清单见 requirements.txt核心是ipykernel与jupyter_client。启动代码解释器streamlit run main.py进入 Demo 目录后一条命令即可启动streamlit run main.py启动后在命令行会看到访问地址浏览器打开即可。初次访问会下载并加载模型稍等片刻。两个可选环境变量变量作用MODEL_PATH指定从本地加载模型如export MODEL_PATH/path/to/modelIPYKERNEL自定义 Jupyter 内核名如export IPYKERNELchatglm3-demo在页面顶部切到‍ Code Interpreter模式即可开始。让模型自己写代码并执行完整流程拆解代码解释器的工作由 demo_ci.py 驱动核心循环如下模型思考先分析任务决定要跑什么代码输出代码块以|assistant|interpreter角色给出 Python 代码执行内核调用 Jupyter 内核运行拿到text或image结果回填观察把结果作为|observation|喂回模型自动迭代模型据结果决定是否继续最多连续执行多个代码块你 → 任务 模型 → 写代码 内核 → 执行结果 模型 → 看结果、改错、继续 …直到完成一个典型提示词帮我画一个爱心模型会自动导入numpymatplotlib用参数方程描点执行后返回一张 PNG 图片。Code Interpreter 的 Prompt 格式与角色设计ChatGLM3 为工具调用、代码执行、Agent 设计了统一对话格式详见 PROMPT.md。代码执行场景涉及 4 种角色角色标记含义|system|系统提示声明连着一台电脑、不能联网|user|用户指令|assistant|interpreter模型要执行的代码块|observation|代码执行的返回结果系统提示固定为你是一位智能AI助手你叫ChatGLM你连接着一台电脑但请注意不能联网。在使用Python解决任务时你可以运行代码并得到结果如果运行结果有错误你需要尽可能对代码进行改进。你可以处理用户上传到电脑上的文件文件默认存储路径是/mnt/data/。 角色与消息拼装逻辑见 conversation.py其中Role.INTERPRETER与Role.OBSERVATION专为代码解释器设计。关键机制执行结果若为错误模型会自动改进代码重试结果过长会被截断默认truncate_length1024防止撑爆上下文。代码执行内核Jupyter Kernel 工作原理demo_ci.py中的CodeKernel类封装了一个后台 Jupyter 内核jupyter_client.KernelManager负责启动/重启/中断内核blocking_client()执行代码并等待返回execute()轮询消息区分text/image/png两种输出图片自动转为PIL.Image展示模型生成的代码会先经extract_code()用正则代码块提取再剥离特殊标记后送入内核保证只运行真正的 Python 代码。实用示例与进阶技巧能做的事 数据可视化折线图、散点图、柱状图 文件处理读取/mnt/data/下用户上传的文件 数学求解符号运算、数值计算小技巧操作效果点页面右上角Stop模型生成/执行时打断刷新页面清空对话历史侧边栏调top_p/temperature控制代码生成的随机性常见问题排查模型加载慢先把模型下载到本地再用MODEL_PATH指定本地路径。代码执行报错确认已执行ipython kernel install且内核名与IPYKERNEL一致。显存不够参考 README 的量化 / CPU 部署方案降低资源占用。 完整文档composite_demo/README.md入口逻辑main.py。现在切换Code Interpreter模式试着让 ChatGLM3 给你画张图吧【免费下载链接】ChatGLM3ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型项目地址: https://gitcode.com/zai-org/ChatGLM3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

GIS局放检测:特高频与超声波协同定位原理与工程实践

GIS局放检测:特高频与超声波协同定位原理与工程实践

简介:本资源是一份面向电力系统运维工程师、高压电气试验人员及高校电气工程专业师生的专业技术学习课件,聚焦GIS设备局部放电检测核心方法——特高频(UHF)与超声波(AE)技术。课件系统梳理了GIS局放检测的工…

2026/9/19 23:56:44 阅读更多 →
ImageGlass 2026路线图前瞻:下一版本的规划、方向与社区支持

ImageGlass 2026路线图前瞻:下一版本的规划、方向与社区支持

ImageGlass 2026路线图前瞻:下一版本的规划、方向与社区支持 【免费下载链接】ImageGlass 🏞 A fast, open-source, modern image viewer for 90 formats – including WEBP, GIF, SVG, AVIF, JXL, HEIC and more – built for smooth browsing across W…

2026/9/19 23:56:44 阅读更多 →
Wails v2 Vue-TS 模板完全指南:用 Vue 3 + TypeScript + Vite 构建跨平台桌面应用

Wails v2 Vue-TS 模板完全指南:用 Vue 3 + TypeScript + Vite 构建跨平台桌面应用

Wails v2 Vue-TS 模板完全指南:用 Vue 3 TypeScript Vite 构建跨平台桌面应用 【免费下载链接】wails Create beautiful applications using Go 项目地址: https://gitcode.com/gh_mirrors/wa/wails 本指南围绕 Wails v2 官方模板 vue-ts 展开,…

2026/9/19 23:56:44 阅读更多 →

最新新闻

Claude开源项目核心技术解析与优化实践

Claude开源项目核心技术解析与优化实践

1. 项目背景与核心价值作为AI领域的技术从业者,我最近花了三周时间深入研究了Claude的代码实现。这个开源项目在自然语言处理领域引起了广泛关注,但网上缺乏系统性的技术解析。本文将基于最新稳定版本(v2.3.1)的代码库&#xff0c…

2026/9/20 0:38:03 阅读更多 →
Midjourney --style raw参数详解:如何精准控制AI出图风格

Midjourney --style raw参数详解:如何精准控制AI出图风格

1. 一个百万元级别的参数争议:--style raw 到底改变了什么第一次看到“一个百万元的Midjourney问题”这个说法,我以为是某个商业项目因为出图风格跑偏导致返工赔钱。后来跟几个做视觉外包的朋友聊完才明白,这个“百万”指的是因为没搞懂--sty…

2026/9/20 0:38:03 阅读更多 →
手写 ReAct Agent 时 llm(prompt) 没通道?TaoToken 这样改 Base URL

手写 ReAct Agent 时 llm(prompt) 没通道?TaoToken 这样改 Base URL

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 0:38:03 阅读更多 →
基于Python Flask的房价预测系统开发实践

基于Python Flask的房价预测系统开发实践

1. 项目背景与核心价值商品房价格预测分析系统是我在房地产数据挖掘领域的一次完整实践。这个基于Python Flask框架的系统,整合了网络爬虫、数据清洗、可视化分析和机器学习预测等多项技术,为购房者、投资者和行业分析师提供了一个直观的数据决策工具。在…

2026/9/20 0:38:03 阅读更多 →
用VBA与ADO将Excel变成SQL查询终端:连接串与执行对象详解

用VBA与ADO将Excel变成SQL查询终端:连接串与执行对象详解

简介:面向需要在 Excel 中通过 VBA 连接 SQL 数据库的办公自动化人员与数据分析师,这份梳理文档聚焦 ADO 技术的实际落地,内容深浅适中,适合已掌握 Excel 基础操作、希望进一步提升数据自动化处理能力的读者。包内含 1 个 doc 文件…

2026/9/20 0:38:03 阅读更多 →
QTextEdit HTML 丢格式?用 TaoToken Key 让 Codex 对照 QTextDocument

QTextEdit HTML 丢格式?用 TaoToken Key 让 Codex 对照 QTextDocument

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 0:37:03 阅读更多 →

日新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →