一、环境准备
bash
pip install openai
二、完整流式输出代码
python
from openai import OpenAI
# 1. 创建 OpenAI 格式客户端(对接阿里云通义千问)
client = OpenAI(
api_key="你的ApiKey",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
# 2. 发起聊天请求,开启流式输出
response = client.chat.completions.create(
model="qwen3.5-flash",
messages=[
{"role": "system", "content": "你是一个Python编程专家,幽默、简洁、不废话。"},
{"role": "assistant", "content": "我是Python编程专家,你要问什么?"},
{"role": "user", "content": "你是谁"}
],
stream=True # 关键:开启流式输出
)
# 3. 逐字接收并打印结果
for chunk in response:
# 获取当前片段的内容
content = chunk.choices[0].delta.content
if content:
# 逐字输出,不换行,立即刷新缓冲区
print(content, end="", flush=True)
三、调用流程图(Mermaid,CSDN 可直接渲染)
用户运行代码
创建OpenAI客户端
配置api_key + base_url
发送请求 stream=True
通义千问模型开始逐字生成
返回一个个数据块chunk
遍历chunk 提取delta.content
逐字打印 实时显示
四、代码核心讲解
1. 关键参数:stream=True
stream=True:开启流式输出- 模型不再等全部生成完再返回,而是生成一点返回一点
2. 流式响应处理
python
for chunk in response:
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)
chunk:每一小段返回的数据delta.content:本次新增的文字内容end="":不自动换行flush=True:立即显示,不缓存
五、运行效果
控制台会像这样逐字蹦出来:
我是一名专业又有趣的Python编程专家,专门帮你解决各种Python问题~
六、重要安全提醒
- 不要把 API Key 明文上传到公网!
- 建议使用环境变量:
python
import os
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)
七、总结
- 一行
stream=True即可开启流式逐字输出 - 通义千问完全兼容 OpenAI 格式,代码零改动
- 适合做:聊天机器人、AI 助手、控制台炫酷效果