“如何调用智谱的对话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,  # 控制最大输出长度
)
  1. 打印模型返回的文本
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 接口。

如果你在调用过程中遇到任何报错,可以随时把错误信息发给我,清言帮你排查!