智谱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、调用模型、解析输出、处理异常。要做成稳定项目,关键在封装、日志、多轮上下文控制和中文场景提示词设计。