纲要
- 大模型资源:AI Agent 的“燃料”
- 闭源模型与开源模型的分野
- 资源获取的核心考量
- 闭源模型实战:以智谱 AI 为例
- 注册与 API Key 申请流程
- 核心模型列表与适用场景
- 并发限制与速率控制策略
- 计费模式与成本参考
- 完整的 Python 调用示例
- 开源模型实战:使用
Ollama本地部署Ollama简介与多平台安装- 常用命令速查
- 拉取并运行首个模型(以
deepseek-r1:7b为例) - 交互式对话与退出
Ollama的 HTTP API 及 Python 集成- 硬件需求参考
- 闭源 vs 开源:选型决策速查表
- 总结与后续路径
大模型资源:AI Agent 的“燃料”
对于 AI Agent 开发者而言,首要任务并非编写复杂的工作流代码,而是获取可用的模型推理资源。无论是构建对话系统、知识库问答,还是自动化任务执行单元,其核心皆依赖大语言模型(Large Language Model, LLM)的推理能力作为“大脑”。当前,获取模型资源的主流路径分为两条:
- 闭源模型(Proprietary Models):通过 API 调用厂商托管的模型服务,开箱即用,按 token 消耗量计费。
- 开源模型(Open-Source Models):下载模型权重文件进行本地部署,数据完全自持,无需网络访问,但依赖本地硬件算力。
本章旨在引导开发者完成两项关键实操:在智谱 AI 开放平台申请闭源模型的 API 访问密钥,以及利用 Ollama 工具在本地环境中部署并运行开源模型。完成这两项基础准备后,即可获得构建 Agent 应用的模型能力层。
闭源模型实战:以智谱 AI 为例获取 API 资源
注册与申请 API Key
智谱 AI 提供涵盖语言、多模态等方向的完整模型矩阵,其开发者平台对国内用户友好且定价策略清晰。API Key 的申请流程如下:
获取 Key 后,可在控制台查阅完整的可用模型列表。当前阶段值得重点关注的模型包括:
GLM-4-Plus:旗舰级语言模型,支持 128k 上下文窗口,综合能力最强。GLM-4-Flash:轻量高速版本,默认最大并发数为 200,适合高吞吐量场景。GLM-4V-Plus:多模态模型,支持图像理解与视觉推理任务。
并发限制与速率控制
在 Agent 开发中,并发限制是影响系统稳定性的关键细节。智谱 AI 对不同模型设定了差异化的默认并发上限:
| 模型 | 最大并发数 |
|---|---|
| GLM-4-Plus | 50 |
| GLM-4-Flash | 200 |
| GLM-4V-Plus | 30(参考值) |
当应用面临突发流量或批量任务时,前端需实现限流、排队或退避重试机制,否则超出并发阈值将直接返回错误响应。生产环境中,建议优先选用 GLM-4-Flash 以获取更高吞吐,或采用异步请求管理框架(如 asyncio + aiohttp)来提升并发效率。
计费模式与价格
智谱 AI 采用按量计费模式,以 1000 tokens 为计价单位。以 GLM-4-Plus 为例,单次交互(输入与输出合计)成本约为 0.05 元 / 千 token,对于个人开发者和中小规模项目极具性价比。用户可在控制台进行在线充值,并可设置用量告警阈值以防止超额消费。
完整的 Python 调用示例
以下脚本展示了通过兼容 OpenAI 的 SDK 调用智谱 GLM-4-Flash 模型实现基础对话的完整流程。
前置步骤:
- 安装依赖:
pip install openai - 替换代码中
your-api-key为真实的 API Key。 - 直接运行脚本。
import os
from openai import OpenAI
# 初始化客户端,指向智谱 AI 的 OpenAI 兼容接口
client = OpenAI(
api_key="your-api-key", # 替换为实际申请的智谱 API Key
base_url="https://open.bigmodel.cn/api/paas/v4/"
)
def chat_with_glm(prompt: str, model: str = "glm-4-flash") -> str:
"""
发送用户消息并获取模型回复
"""
response = client.chat.completions.create(
model=model,
messages=[
{"role": "user", "content": prompt}
],
temperature=0.7,
max_tokens=512,
)
return response.choices[0].message.content
if __name__ == "__main__":
question = "请用一句话解释什么是 AI Agent"
answer = chat_with_glm(question)
print("用户:", question)
print("助手:", answer)
该脚本通过 API 调用实现了模型推理,开发者无需关心底层 GPU 资源调度,适用于快速原型验证和轻量级项目开发。如需测试多模态能力,可切换模型为 glm-4v-plus 并参照官方文档构造包含图片 URL 或 Base64 编码的消息内容。
开源模型实战:使用 Ollama 本地部署你的第一个大模型
若项目涉及敏感数据、需规避网络延迟,或期望自由切换不同开源模型权重,Ollama 是当前社区公认最便捷的开源模型托管工具。它原生支持 macOS、Linux 和 Windows,提供从模型拉取到命令行交互的一站式体验。
安装 Ollama
访问 Ollama 官方网站 下载对应操作系统版本并完成安装。安装完毕后,打开终端(命令行)输入 ollama,若输出帮助信息则说明安装成功。
# 验证安装并查看版本
ollama -v
常用命令速查
| 命令 | 功能描述 |
|---|---|
ollama list | 列出本地已下载的所有模型 |
ollama pull <模型名> | 从官方仓库拉取指定模型(如 deepseek-r1:7b) |
ollama run <模型名> | 启动模型并进入交互式对话模式 |
/bye | 退出当前对话会话 |
ollama rm <模型名> | 删除本地指定的模型文件 |
拉取并运行你的第一个模型
以近期备受关注的推理增强模型 DeepSeek-R1 的 7B 量化版本为例:
# 拉取模型(大小约 4.7GB)
ollama pull deepseek-r1:7b
# 查看本地模型列表确认
ollama list
预期输出示例:
NAME ID SIZE MODIFIED
deepseek-r1:7b 6e4c38f0a6e3 4.7 GB 2 minutes ago
启动交互式对话:
ollama run deepseek-r1:7b
模型加载完成后,可直接输入问题。该模型会先输出其内部的思维链(Chain of Thought),随后给出最终答案。例如:
>>> 什么是 AI Agent?
(思考过程...)
AI Agent 是一种能够感知环境、自主决策并执行动作的智能实体...
如需退出,输入 /bye 即可。
通过 API 调用本地 Ollama 模型
Ollama 除提供命令行界面外,默认监听 http://localhost:11434 并暴露兼容 OpenAI 格式的 HTTP API。这意味着开发者可使用标准的 openai Python 库直接调用本地模型,无需联网且不产生 token 费用。
以下示例展示了如何调用已下载的 qwen2.5:7b 模型(或替换为任意已拉取的模型名):
from openai import OpenAI
# 连接到本地 Ollama 服务
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama" # 本地服务不校验 Key,任意字符串即可
)
def ask_local_model(prompt: str, model: str = "qwen2.5:7b") -> str:
response = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
temperature=0.7,
max_tokens=512
)
return response.choices[0].message.content
if __name__ == "__main__":
print("本地模型回复:", ask_local_model("简要说明 RAG 的工作原理"))
执行前提:
- Ollama 服务需保持后台运行(安装后通常默认自启,或手动执行
ollama serve)。 - 目标模型须已通过
ollama pull完成下载。
本地推理速度直接受硬件配置影响。对于 7B 参数量的模型,建议配备至少 8GB 显存的 GPU(如 NVIDIA RTX 3060 及以上);若仅依赖 CPU 推理,速度会显著下降但仍可运行。对于 13B 及以上规模的模型,建议使用云 GPU 实例或高性能服务器。
其他开源模型部署工具简介
除 Ollama 外,社区中还有其他成熟的部署方案:
- LM Studio:提供图形化界面,支持从 Hugging Face 直接下载模型并进行交互,操作直观。
- vLLM / Text Generation Inference (TGI):面向生产环境的高性能推理引擎,支持 PagedAttention、持续批处理等高级优化特性。
对于入门阶段,Ollama 凭借其极简的安装与使用体验,是降低试错成本的最佳选择。
闭源 vs 开源:选型决策速查表
| 维度 | 闭源 API(如智谱 AI、OpenAI) | 开源本地部署(如 Ollama) |
|---|---|---|
| 使用门槛 | 极低,注册账号即可调用 | 需自行安装配置,依赖本地硬件 |
| 推理成本 | 按 token 消耗计费,高频场景成本累积较快 | 一次性硬件投入,后续推理边际成本趋近于零 |
| 数据隐私 | 请求数据需上传至厂商服务端 | 完全本地化处理,数据无外泄风险 |
| 模型更新 | 厂商自动升级模型版本 | 需手动拉取新权重或重新部署 |
| 定制化能力 | 主要依赖提示词工程与上下文注入 | 支持模型微调、量化压缩、架构修改 |
| 适用场景 | 快速原型验证、中小规模应用、低延迟要求 | 隐私敏感业务、高频批量调用、深度定制需求 |
在实际工程实践中,通常采用混合策略:在开发阶段借助闭源 API 快速迭代验证逻辑,待需求稳定后再依据成本、隐私和性能要求,逐步将推理链路迁移至本地开源模型。
总结与后续路径
通过本章的实操演练,开发者应已掌握以下核心技能:
- 在智谱 AI 开放平台完成注册、API Key 申请,并通过 Python 脚本调用闭源模型接口。
- 使用 Ollama 工具在本地完成开源模型的下载、运行,并通过兼容 OpenAI 的 API 将其集成至代码工程。
上述两种模型资源获取方式覆盖了绝大多数 AI Agent 开发场景的初始需求。在具备可用的模型推理能力后,后续可进阶学习提示词工程、检索增强生成(RAG)系统搭建,以及多步工作流编排等关键技术,逐步构建具备复杂认知与执行能力的智能体应用。
API 速览
智谱 AI 兼容 OpenAI 接口
- 库:
openai(v1.0.0+) - 端点:
https://open.bigmodel.cn/api/paas/v4/ - 方法:
client.chat.completions.create - 核心参数:
model(str): 模型名称,如glm-4-flash、glm-4-plus。messages(list): 对话消息列表,支持system、user、assistant角色。temperature(float): 采样温度,控制随机性,范围 0-1。max_tokens(int): 生成回复的最大 token 长度。
- 返回:
ChatCompletion对象,通过response.choices[0].message.content获取回复内容。
Ollama 兼容 OpenAI 接口
- 库:
openai(v1.0.0+) - 端点:
http://localhost:11434/v1 - 方法:
client.chat.completions.create - 核心参数:同 OpenAI 标准接口,
model须为已下载的本地模型名称。 - 返回:同 OpenAI 标准响应格式。
- 前置条件:Ollama 服务须处于运行状态,且目标模型已拉取至本地。
Demo 示例
以下提供一份完整的可运行脚本,演示如何通过统一接口风格同时调用智谱 AI 闭源模型与本地 Ollama 开源模型,便于开发者进行效果对比或渐进式迁移。
运行说明:
- 安装依赖:
pip install openai - 替换脚本中的
ZHIPU_API_KEY为实际值。 - 确保本地 Ollama 服务已启动,且已下载
qwen2.5:7b模型。 - 直接运行脚本。
import os
from openai import OpenAI
# ---------- 配置区 ----------
ZHIPU_API_KEY = "your-zhipu-api-key" # 替换为智谱 AI 真实 Key
OLLAMA_BASE = "http://localhost:11434/v1"
ZHIPU_BASE = "https://open.bigmodel.cn/api/paas/v4/"
# ---------- 初始化客户端 ----------
zhipu_client = OpenAI(api_key=ZHIPU_API_KEY, base_url=ZHIPU_BASE)
ollama_client = OpenAI(api_key="ollama", base_url=OLLAMA_BASE)
# ---------- 通用调用函数 ----------
def call_model(client, model_name: str, prompt: str) -> str:
response = client.chat.completions.create(
model=model_name,
messages=[{"role": "user", "content": prompt}],
temperature=0.7,
max_tokens=512,
)
return response.choices[0].message.content
# ---------- 执行示例 ----------
if __name__ == "__main__":
test_prompt = "请用一句话解释什么是 AI Agent"
print("=== 智谱 AI (GLM-4-Flash) ===")
try:
zhipu_reply = call_model(zhipu_client, "glm-4-flash", test_prompt)
print(zhipu_reply)
except Exception as e:
print(f"调用智谱 API 失败: {e}")
print("\n=== 本地 Ollama (qwen2.5:7b) ===")
try:
ollama_reply = call_model(ollama_client, "qwen2.5:7b", test_prompt)
print(ollama_reply)
except Exception as e:
print(f"调用本地 Ollama 失败: {e}")
技术点总结:
- 统一的
openaiSDK 抽象层降低了多服务切换的适配成本。 - 异常捕获机制增强了示例的鲁棒性,便于调试。
- 配置与逻辑分离,符合生产级代码的基本规范。
参考文档
官方文档
参考链接
总结
本文系统梳理了 AI Agent 开发中获取模型推理资源的两种主流路径:基于闭源 API 的云端调用方案(以智谱 AI 为例)与基于开源模型的本地部署方案(以 Ollama 为例)。内容涵盖了从账号注册、环境配置到代码集成的完整生命周期,并提供了可直接投入项目实践的 Python 代码示例。开发者可根据自身对成本、隐私、硬件和定制化程度的需求,灵活选择或组合运用上述方案。
921



被折叠的 条评论
为什么被折叠?



