智谱GLM API调用入门:Python接入GLM模型
入门·10 分钟·使用 Python 调用智谱 GLM API 的入门教程,覆盖密钥管理、对话调用、多轮上下文、异常处理与项目封装。
智谱GLM API调用入门:Python接入GLM模型
智谱 GLM API 可以用于中文对话、文本生成、知识问答、代码辅助等场景。接入时要重点关注 SDK 或 HTTP 接口版本、模型名称、密钥管理和多轮对话格式。
准备密钥
在控制台创建 API Key 后,不要写进代码。创建 .env:
ZHIPUAI_API_KEY=你的密钥
安装依赖时,可以根据官方推荐选择 SDK;如果用 HTTP,也可以使用 requests。
pip install zhipuai python-dotenv
使用SDK调用
示例结构如下,具体模型名以控制台可用列表为准:
import os
from dotenv import load_dotenv
from zhipuai import ZhipuAI
load_dotenv()
client = ZhipuAI(api_key=os.getenv('ZHIPUAI_API_KEY'))
response = client.chat.completions.create(
model='glm-4',
messages=[
{'role': 'system', 'content': '你是一个擅长中文解释的AI老师'},
{'role': 'user', 'content': '请解释向量数据库的作用'}
],
)
print(response.choices[0].message.content)
如果 SDK 版本变化导致字段不同,先打印完整 response 确认结构。
多轮对话
多轮对话需要保留历史 messages:
messages = [
{'role': 'system', 'content': '你是一个AI学习助手'},
{'role': 'user', 'content': '什么是RAG?'},
{'role': 'assistant', 'content': 'RAG 是检索增强生成...'},
{'role': 'user', 'content': '它和微调有什么区别?'}
]
不要无限保存历史,长对话要做摘要或只保留最近几轮。
中文应用建议
GLM 类模型常用于中文场景。为了让输出更稳定,可以在提示词中明确:
- 目标读者;
- 输出结构;
- 是否需要表格;
- 是否需要引用资料;
- 不确定时如何回答。
示例:
请面向零基础读者解释“模型量化”。要求分为定义、例子、风险、学习建议四部分。
错误处理
真实项目中至少处理:
- 密钥为空;
- 认证失败;
- 模型名错误;
- 请求超时;
- 内容过长;
- 额度不足;
- 服务端异常。
封装函数时不要直接让异常冒泡到用户界面。
日志和成本
建议记录模型名、请求时间、耗时、输入长度、输出长度和错误类型。不要记录完整敏感输入,必要时做脱敏。
如果支持 usage 字段,也应记录 token 消耗,方便估算成本。
小结
智谱 GLM API 接入流程和其他聊天模型类似:读取密钥、构造 messages、调用模型、解析输出、处理异常。要做成稳定项目,关键在封装、日志、多轮上下文控制和中文场景提示词设计。