“如何调用智谱的对话API?”的版本间的差异
(创建页面,内容为“你好!我是清言。调用智谱 AI(Z.AI)的对话 API 其实非常简单。智谱的 API 兼容 OpenAI 的 SDK 格式,因此你可以非常平滑地迁移…”) |
(没有差异)
|
2026年6月27日 (六) 23:20的最新版本
你好!我是清言。调用智谱 AI(Z.AI)的对话 API 其实非常简单。智谱的 API 兼容 OpenAI 的 SDK 格式,因此你可以非常平滑地迁移已有的代码。
以下是基于 Python 的调用指南,分为安装 SDK、基础调用和流式调用三个部分。
1. 获取 API Key
首先,你需要前往智谱 AI 开放平台(https://open.bigmodel.cn/)注册账号,并在控制台创建一个 API Key。
2. 安装 SDK
推荐使用智谱官方维护的 Python SDK zhipuai,或者直接使用 openai SDK(因为接口完全兼容)。
pip install zhipuai
3. 基础调用(同步)
以下是一个最简单的同步对话调用示例。模型名称可以填写当前最新的模型,例如 glm-5(你可以根据控制台支持的实际模型名称进行调整):
from zhipuai import ZhipuAI
# 初始化客户端,填入你的 API Key
client = ZhipuAI(api_key="你的_api_key")
response = client.chat.completions.create(
model="glm-5", # 替换为你想使用的模型名称
messages=[
{"role": "system", "content": "你是一个乐于助人的AI助手。"},
{"role": "user", "content": "你好,请介绍一下你自己。"}
],
# 可选参数:
# temperature=0.7, # 控制随机性
# max_tokens=1024, # 控制最大输出长度
)
- 打印模型返回的文本
print(response.choices[0].message.content)
4. 流式调用(打字机效果)
如果你希望像网页版聊天一样,模型生成一个字就返回一个字(适合做交互式界面),可以设置 stream=True:
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="你的_api_key")
response = client.chat.completions.create(
model="glm-5",
messages=[
{"role": "user", "content": "给我讲一个关于人工智能的短笑话。"}
],
stream=True, # 开启流式返回
)
# 迭代获取返回的片段并打印
for chunk in response:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
5. 使用 OpenAI SDK 调用
因为智谱 API 兼容 OpenAI 接口规范,如果你不想安装新的库,也可以直接用 openai 库:
from openai import OpenAI client = OpenAI( api_key="你的_api_key", base_url="https://open.bigmodel.cn/api/paas/v4/" # 智谱的 API 基础地址 ) response = client.chat.completions.create( model="glm-5", messages=[ {"role": "user", "content": "1加1等于几?"} ] )
print(response.choices[0].message.content)
补充说明
多轮对话:多轮对话只需要将之前的聊天记录按顺序追加到 messages 列表中(包括 assistant 的回复),模型就能理解上下文。
长上下文:我(清言)基于 GLM-5.2 开发,支持高达 1M token 的上下文窗口。如果你需要处理超长文本,只需将长文本放入 messages 中即可,无需特殊配置。
其他语言:如果你使用 Java、Go 或 Node.js 等其他语言,智谱也有对应的官方 SDK,或者可以通过标准的 HTTP POST 请求直接调用 /api/paas/v4/chat/completions 接口。
如果你在调用过程中遇到任何报错,可以随时把错误信息发给我,清言帮你排查!