Ollama+ChatGLM3-6B-128K构建轻量Agent:工具调用、代码执行与自主规划演示
本文介绍了如何在星图GPU平台上自动化部署【ollama】ChatGLM3-6B-128K镜像,构建具备工具调用、代码执行与自主规划能力的轻量级AI Agent。该镜像适用于本地化智能协作者场景,如自动分析销售数据、生成技术方案PPT大纲及实时天气比对决策等任务,兼顾隐私安全与高效推理。
Ollama+ChatGLM3-6B-128K构建轻量Agent:工具调用、代码执行与自主规划演示
你有没有试过让一个本地运行的AI模型,不只是回答问题,还能自己决定要不要查天气、要不要算个数学题、要不要写段Python代码来验证想法?不是靠人一步步指挥,而是它自己想、自己选、自己做——这正是今天要带你亲手搭出来的轻量级Agent能力。
我们不用动不动就上GPU集群,也不需要折腾复杂的推理框架。就用一台普通笔记本,配合Ollama这个极简部署工具,加载ChatGLM3-6B-128K模型,三步完成环境搭建,五分钟左右就能跑通一个真正会“思考”的本地Agent。它能调用工具、执行代码、拆解任务、自主规划步骤——而且全程离线、可控、不传数据。
这篇文章不讲抽象概念,不堆参数指标,只聚焦一件事:让你亲眼看到、亲手运行、真正理解一个轻量Agent是怎么从“聊天机器人”进化成“智能协作者”的。所有操作都基于真实终端命令和可复现的交互过程,小白照着敲就能跑通。
1. 为什么是ChatGLM3-6B-128K?
1.1 它不是另一个“更大更好”的模型,而是一个“更懂怎么做事”的模型
很多人看到“128K上下文”第一反应是:“哇,能读超长文档了”。这没错,但对构建Agent来说,真正关键的不是“能读多长”,而是“读完之后能不能分清哪些事该自己干、哪些事该交给工具干”。
ChatGLM3-6B-128K在基础版ChatGLM3-6B之上,做了两件对Agent至关重要的事:
-
原生支持Function Call(工具调用)协议:它不需要你额外加一层中间件或重写提示词模板,模型输出里天然包含结构化的工具调用请求,比如
{"name": "get_weather", "arguments": {"city": "北京"}}。你只要按标准JSON Schema定义好工具,它就能自己生成、自己校验、自己触发。 -
内置Code Interpreter(代码解释器)能力:它不只是“会写代码”,而是知道什么时候该写、写完后该不该执行、执行结果怎么解读。比如你问“帮我算一下2023年北京平均气温比2022年高多少”,它不会只返回一段Python代码,而是直接执行、解析结果、再组织成自然语言回答。
这两点加起来,意味着它具备了Agent最核心的“感知-决策-行动”闭环能力——而这一切,都封装在一个6B参数量的模型里,能在消费级显卡甚至Mac M系列芯片上流畅运行。
1.2 128K上下文,解决的是“记忆断层”,不是“堆字数”
你可能疑惑:日常对话哪用得着128K?确实,普通聊天8K足够。但Agent不一样。
想象这样一个场景:你给Agent一个需求:“分析这份财报PDF(共42页),对比近三年营收结构变化,并生成PPT大纲”。如果只靠8K上下文,模型每次只能看到PDF的一小块,根本无法建立全局认知;而128K让它能把关键表格、文字摘要、附注说明全部装进“短期记忆”,再从中提取逻辑关系。
这不是炫技,而是让Agent真正能处理现实世界中那些“信息分散、逻辑嵌套、需要反复回溯”的复杂任务。
小贴士:如果你的任务基本在8K以内(比如日常问答、文案润色、简单编程),用标准版ChatGLM3-6B更省资源;只有当你明确需要长程推理、多源信息整合、或构建多步骤Agent流程时,才值得切换到128K版本。
2. 三步完成Ollama本地部署
2.1 安装Ollama:一分钟搞定,无依赖冲突
Ollama的设计哲学就是“零配置”。它不像其他推理框架需要手动编译、配CUDA版本、调环境变量。无论你是Windows(WSL)、macOS还是Linux,只需一条命令:
# macOS
brew install ollama
# Linux(Ubuntu/Debian)
curl -fsSL https://ollama.com/install.sh | sh
# Windows(需WSL2)
# 在WSL中执行同上Linux命令
安装完成后,终端输入 ollama --version,看到版本号即表示成功。整个过程不碰Python虚拟环境,不改系统PATH,干净利落。
2.2 拉取并运行ChatGLM3-6B-128K模型
官方模型库中暂未直接上架128K版本,但社区已提供稳定镜像。我们使用EntropyYue维护的优化版:
ollama run entropyyue/chatglm3:128k
首次运行会自动下载约5.2GB模型文件(含量化权重)。下载完成后,你会立刻进入交互式聊天界面,底部显示>>>提示符。
注意:这里不是在浏览器里点点点,而是在终端里真刀真枪地运行。所有输入、输出、错误信息都可见、可复制、可调试——这才是工程落地该有的样子。
2.3 验证基础能力:一次提问,看清三层能力
别急着写代码,先用一句话测试它的“Agent基因”:
请计算斐波那契数列第30项,并告诉我结果是否为质数。
观察它的响应:
- 第一层(文本生成):它会先输出一段自然语言解释;
- 第二层(代码执行):紧接着生成Python代码并执行(Ollama内部已集成Code Interpreter);
- 第三层(工具调用):如果结果涉及外部知识(如质数判定),它会主动调用内置数学工具,而非硬编码逻辑。
你看到的不是一串静态回复,而是一个正在“思考—编码—验证—总结”的活体Agent。
3. 让它真正“自主”:工具调用实战
3.1 定义你的第一个工具:获取实时天气
Agent的能力边界,由你定义的工具决定。我们用最简单的HTTP请求实现一个天气查询工具:
# save as weather_tool.py
import requests
import json
def get_weather(city: str) -> str:
"""获取指定城市的实时天气(模拟接口)"""
# 实际项目中替换为真实API,此处用mock数据演示
mock_data = {
"北京": "晴,22°C,空气质量优",
"上海": "多云,28°C,湿度65%",
"深圳": "阵雨,31°C,东南风3级"
}
return mock_data.get(city, f"未找到{city}的天气信息")
3.2 告诉模型“你有这个工具可用”
Ollama本身不管理工具注册,我们需要在每次请求时,通过system prompt注入工具描述。创建一个agent_prompt.txt:
你是一个智能助手,具备以下能力:
- 调用工具:你可以使用get_weather(city: str)函数查询城市天气
- 执行代码:你可以生成并运行Python代码完成计算、数据处理等任务
- 自主规划:面对复杂问题,你会先拆解步骤,再依次执行
请严格遵循以下格式输出:
- 若需调用工具:输出JSON格式{"name": "get_weather", "arguments": {"city": "xxx"}}
- 若需执行代码:输出```python\n<code>\n```
- 其他情况:用自然语言回答
现在,请查询北京和深圳的天气,并比较哪个更适合户外跑步。
3.3 发起带工具能力的请求
在Ollama交互中,用/set system加载提示词(需Ollama v0.3.0+):
>>> /set system
Paste your system message (press Ctrl+D to submit):
你是一个智能助手...
然后输入问题:
查询北京和深圳的天气,并比较哪个更适合户外跑步。
你会看到模型先输出两个JSON调用请求,Ollama自动捕获并执行get_weather函数,拿到结果后,再用自然语言给出综合建议——整个过程无需人工干预,它自己完成了“计划→调用→分析→结论”的完整链路。
4. 代码执行:不止是“写代码”,而是“用代码解决问题”
4.1 看它如何处理一个典型数据分析需求
试试这个请求:
我有一组销售数据:[120, 150, 98, 210, 175, 132],请计算平均值、标准差,并画出柱状图。
ChatGLM3-6B-128K会:
- 生成完整Python代码(含numpy、matplotlib导入);
- 自动执行,捕获输出(数值结果)和图像数据(base64编码);
- 解读统计结果,指出“平均值147.5,标准差约37.2,数据波动中等”;
- 描述图表特征:“柱状图显示第4天销量最高,第3天最低”。
注意:它没有真的“渲染”图像给你看(Ollama终端不支持图像显示),但它能准确描述图像内容——这对很多自动化报告场景已足够。
4.2 关键细节:它知道“什么时候该执行”
不是所有代码它都盲目执行。比如你问:“写一个无限循环的Python程序”,它会拒绝并解释风险;问:“帮我写个快速排序”,它会写但不执行;只有当上下文明确需要“得出结果”时,它才启动Code Interpreter。
这种判断力,正是轻量Agent区别于普通LLM的核心。
5. 自主规划:从单步操作到多阶段任务
5.1 给它一个“模糊目标”,看它怎么拆解
输入:
我想为下周技术分享准备一份关于RAG的PPT,要求包含原理、主流框架对比、本地部署案例,最后给出学习路径建议。
它不会直接开始写PPT(它没PPT生成能力),而是自主规划四步:
- 信息收集:调用知识工具梳理RAG核心原理(向量检索、重排序、提示工程等);
- 横向对比:生成表格对比LlamaIndex、Haystack、LangChain的适用场景;
- 案例实操:编写Ollama+Llama3本地部署RAG的完整命令流;
- 路径设计:按“入门→实践→进阶”分层推荐学习资料和练习项目。
每一步都对应一个可执行动作,且步骤间有逻辑依赖——这才是真正的“规划”,不是罗列待办事项。
5.2 你只需要确认,它就自动推进
在规划完成后,它会问:“是否按上述步骤执行?输入‘是’开始第一步。”
你回一个“是”,它立刻调用第一个工具,拿到原理说明后,自动进入第二步对比……整个流程像一个经验丰富的同事在帮你协同推进。
6. 总结:轻量Agent的价值不在“大”,而在“准”
6.1 我们到底构建了一个什么样的Agent?
- 它很轻:6B参数,MacBook M2上满载推理速度仍达18 token/s,内存占用<6GB;
- 它很专:不追求通用百科全书式知识,而是聚焦“工具调用+代码执行+任务分解”三个精准能力;
- 它很稳:所有运算在本地完成,数据不出设备,企业合规性天然达标;
- 它很省:无需API密钥、不依赖云端服务、不产生调用费用。
6.2 下一步,你可以这样延伸
- 把天气工具换成真实API(如OpenWeatherMap),加一行key就上线;
- 接入本地数据库插件,让它能查你自己的MySQL表;
- 用Ollama的
modelfile定制专属Agent:预置公司知识库、固定工作流、统一输出格式; - 将整个流程封装成CLI工具,一句命令启动“会议纪要生成Agent”或“周报撰写Agent”。
Agent的本质,从来不是替代人,而是把人从重复决策中解放出来,专注真正需要创造力的部分。
你现在拥有的,不是一个玩具模型,而是一台可编程的智能协作者——它的能力上限,取决于你愿意为它定义多少个有用的工具。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐


所有评论(0)