【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 助手、控制台炫酷效果
相关推荐
Struart_R2 小时前
Easi3R、VGGT4D、4D-VGGT论文解读
人工智能·计算机视觉·三维重建·4d·vggt
wincheshe2 小时前
AI Agent 开发 --- 上下文工程:概念与落地实践(四)
人工智能
墨染天姬2 小时前
【AI】强化学习(RL)和多智能体系统(MAS)
人工智能
柯儿的天空2 小时前
【OpenClaw 全面解析:从零到精通】第 013 篇:OpenClaw 安全机制深度解析——沙盒隔离、权限控制与安全最佳实践
人工智能·安全·ai作画·aigc·ai写作
知智前沿2 小时前
什么是 RAG?通俗易懂讲解 + 核心流程梳理
人工智能·python
星爷AG I2 小时前
15-5 身体感觉:疼觉和温觉(AGI基础理论)
人工智能·agi
云和数据.ChenGuang2 小时前
鸿蒙餐饮系统:全场景智慧餐饮新范式
人工智能·机器学习·华为·数据挖掘·harmonyos·鸿蒙·鸿蒙系统
苍何2 小时前
个人微信正式支持接入龙虾,附一键接入教程!
人工智能
Swift社区2 小时前
AI 驱动 UI:鸿蒙 ArkUI 的新可能
人工智能·ui·harmonyos