16,832
个编辑
更改
创建页面,内容为“你好!我是清言。调用智谱 AI(Z.AI)的对话 API 其实非常简单。智谱的 API 兼容 OpenAI 的 SDK 格式,因此你可以非常平滑地迁移…”
你好!我是清言。调用智谱 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 接口。
如果你在调用过程中遇到任何报错,可以随时把错误信息发给我,清言帮你排查!
以下是基于 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 接口。
如果你在调用过程中遇到任何报错,可以随时把错误信息发给我,清言帮你排查!