要在python中实现智谱清言api实时返回字词,必须启用stream=true并正确处理chatcompletionchunk流式响应,主流模型如glm-4-flash支持流式,但autoglm系列不支持;需用zhipuai sdk最新版或requests手动请求,逐块提取delta.content并监控finish_reason判断结束。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Python中让智谱清言API实时返回每个字词,避免等待整段响应才显示,必须启用流式传输并正确处理分块数据流。
确认模型支持stream参数
GLM-4-Flash、GLM-5.2、GLM-5V-Turbo 等主流模型均支持 stream=True 参数。但 AutoGLM 系列(如 auto-glm-05)的 Open-AutoGLM 接口不接受 stream 字段,它默认以沉思模式一次性返回完整结果。
调用前务必核对文档:https://docs.bigmodel.cn/cn/guide/start/quick-start 中明确列出支持流式的模型列表。
使用zhipuai SDK启用流式输出
第一步:安装最新版SDK(旧版本可能不兼容流式返回格式)
pip install zhipuai --upgrade
第二步:初始化客户端时传入 API Key,并在 create() 调用中显式设置 stream=True
第三步:遍历 response 迭代器,逐个提取 content 字段
这一步不能用 response.choices[0].message.content 直接取值——因为流式响应返回的是 ChatCompletionChunk 对象流,不是完整 Message 对象。强行调用会报 AttributeError。
处理流式响应的三种写法
方法一:基础打印(适合调试)
for chunk in response:
content = chunk.choices[0].delta.content
if content is not None:
print(content, end="", flush=True)
方法二:拼接完整文本(适合需后续处理的场景)
full_response = ""
for chunk in response:
delta = chunk.choices[0].delta
if delta.content:
full_response += delta.content
print("最终回答:", full_response)
方法三:捕获 finish_reason 判断结束(生产环境推荐)
for chunk in response:
delta = chunk.choices[0].delta
if delta.content:
print(delta.content, end="", flush=True)
finish_reason = chunk.choices[0].finish_reason
if finish_reason == "stop" or finish_reason == "length":
break
注意:finish_reason 为 None 是正常现象,不代表响应未完成;只有出现 stop 或 length 才代表生成彻底结束。
用requests手动发起流式请求
① 构造 headers,必须包含 Authorization 和 Content-Type
② 构造 JSON payload,确保 "stream": true 是布尔值而非字符串
③ 使用 requests.post(..., stream=True) 发起请求
④ 用 response.iter_lines() 逐行读取 SSE 格式响应
这一步容易出错:若漏掉 stream=True 参数,requests 会等待整个响应体下载完毕才返回,失去流式意义;若没设 decode_unicode=True,中文可能乱码。
for line in response.iter_lines(decode_unicode=True):
if line.startswith("data: "):
data = json.loads(line[6:])
if "choices" in data and data["choices"]:
delta = data["choices"][0]["delta"]
if "content" in delta and delta["content"]:
print(delta["content"], end="", flush=True)
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










