【Agent智能体项目实战二】通义千问流式输出:实现像 ChatGPT 一样逐字打印效果

一、环境准备

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 助手、控制台炫酷效果
相关推荐
唐某人丶3 小时前
模型越来越强,我们还需要 Agent 工程吗?—— 从价值重估到 Harness 实践
前端·agent·ai编程
程序员cxuan3 小时前
为每个任务配一套 harness:Claude Code 里的动态工作流
人工智能
程序员cxuan3 小时前
Claude Fable 5 来了
人工智能·后端·程序员
云边云科技_云网融合3 小时前
云边云科技亮相 2026 WOD 制造业数智化博览会 云网融合赋能制造焕新
人工智能·科技·安全·制造
Σίσυφος19003 小时前
激光三角 光平面标定-多高度误差分析
人工智能·计算机视觉·平面
JS菌3 小时前
手写一个 AI Agent 全栈项目:从沙箱执行到子智能体的完整实现
前端·人工智能·后端
lqqjuly3 小时前
前沿算法深度解析(二)
人工智能·算法·机器学习
Bode_20023 小时前
基于大数据分析的全生命周期质量追溯质量评估体系落地方案
大数据·人工智能
分布式存储与RustFS4 小时前
RustFS S3 Table 开源后,我重新梳理了一下 Iceberg 数据湖的选型思路
人工智能·开源·minio·dpu·rustfs·ai存储·s3 table
DevOpenClub5 小时前
用 Agent 搭建网页内容采集与结构化处理流水线
人工智能