快速接入大语言模型 API

← 返回博客首页
Python LLM 智谱 AI glm-4.5-flash AI SDK

💡 项目背景

随着大语言模型技术的快速发展,越来越多的开发者希望在应用中集成 AI 对话能力。智谱 AI 作为国内领先的 AI 公司,提供了免费且强大的 glm-4.5-flash 模型。本文将详细介绍如何快速接入智谱 AI API,实现智能对话功能。

🎯 技术选型

为什么选择智谱 glm-4.5-flash?

🚀 快速开始

第一步:获取API Key

  1. 访问智谱 AI 开放平台:https://www.bigmodel.cn
  2. 注册账号并完成实名认证
  3. 进入控制台,点击"API Key 管理"
  4. 点击"添加新的API Key",复制生成的密钥
  5. 重要提示:API Key 仅显示一次,请妥善保管!

第二步:环境准备

# 安装 Python 3.9(推荐版本) # 注意:实测 Python 3.14 存在兼容性问题 # 安装智谱 SDK pip install zai-sdk # 验证安装 python -c "import zhipuai; print(zhipuai.__version__)"

第三步:配置 API Key

# chat.py import zhipuai # 配置你的 API Key zhipuai.api_key = "your_api_key_here" # 或者使用环境变量(更安全) # import os # zhipuai.api_key = os.getenv("ZHIPU_API_KEY")

💻 核心实现

基础对话示例

import zhipuai # 初始化客户端 zhipuai.api_key = "your_api_key" # 构建对话消息 messages = [ {"role": "user", "content": "你会什么?"} ] # 发送请求 response = zhipuai.modelApi.invoke( model="glm-4.5-flash", messages=messages ) # 解析响应 print(response.choices[0].message.content)

封装为命令行工具

为了更方便地使用,我将功能封装成了命令行工具:

# chat.py - 完整版本 import sys import zhipuai class ZhiPuChat: def __init__(self, api_key): zhipuai.api_key = api_key self.messages = [] def chat(self, user_input): """发送消息并获取回复""" self.messages.append({"role": "user", "content": user_input}) response = zhipuai.modelApi.invoke( model="glm-4.5-flash", messages=self.messages ) assistant_reply = response.choices[0].message.content self.messages.append({"role": "assistant", "content": assistant_reply}) return assistant_reply if __name__ == "__main__": # 从配置文件读取 API Key API_KEY = "your_api_key" if len(sys.argv) < 2: print("用法:python chat.py <你的问题>") print("示例:python chat.py 你会什么?") sys.exit(1) # 拼接用户输入的问题 question = " ".join(sys.argv[1:]) chat = ZhiPuChat(API_KEY) reply = chat.chat(question) print(f"\n🤖 AI 回复:\n{reply}")

使用方式

# 命令行执行 python D:\Workspace\zhipuchatapi\chat.py 你会什么? python D:\Workspace\zhipuchatapi\chat.py 如何用 Python 处理 Excel? python D:\Workspace\zhipuchatapi\chat.py 解释一下量子力学

🔧 进阶用法

多轮对话支持

通过维护消息历史,可以实现连续的多轮对话:

class MultiTurnChat: def __init__(self, api_key, system_prompt=""): zhipuai.api_key = api_key self.messages = [] # 添加系统提示语(可选) if system_prompt: self.messages.append({ "role": "system", "content": system_prompt }) def chat(self, user_input): self.messages.append({"role": "user", "content": user_input}) response = zhipuai.modelApi.invoke( model="glm-4.5-flash", messages=self.messages, temperature=0.7, # 控制随机性 max_tokens=1024 # 限制回复长度 ) reply = response.choices[0].message.content self.messages.append({"role": "assistant", "content": reply}) return reply def clear_history(self): """清空对话历史""" self.messages = self.messages[:1] # 保留系统提示

流式输出(Streaming)

对于长文本回复,可以使用流式输出提升用户体验:

def stream_chat(self, user_input): """流式输出回复""" self.messages.append({"role": "user", "content": user_input}) response = zhipuai.modelApi.sse_invoke( model="glm-4.5-flash", messages=self.messages ) full_reply = "" for event in response.events(): if event.event == "add": print(event.data, end="", flush=True) full_reply += event.data print() # 换行 self.messages.append({"role": "assistant", "content": full_reply}) return full_reply

⚠️ 常见问题与解决方案

1. Python 版本兼容性

问题:使用 Python 3.14 时出现依赖冲突或运行时错误

解决:降级到 Python 3.9 或 3.10,这些版本经过充分测试

2. API Key 安全

最佳实践:

  • 不要将 API Key 硬编码在代码中
  • 使用环境变量或配置文件存储
  • 将配置文件加入 .gitignore
  • 定期轮换 API Key

3. 错误处理

try: response = zhipuai.modelApi.invoke( model="glm-4.5-flash", messages=messages ) except Exception as e: print(f"API 调用失败:{str(e)}") # 可以添加重试逻辑或降级策略

📊 应用场景

🎓 总结

通过本文的介绍,你已经掌握了如何快速接入智谱 AI 的 glm-4.5-flash 模型。这个轻量级的封装让 AI 对话变得简单易用,你可以将其集成到自己的项目中,打造智能化的应用场景。

📦 项目地址:GitHub - zhipuchatapi

🔗 相关链接: