大数跨境

转型 AI 开发——LangChain 实战第七课:豆包、DeepSeek 的流式输出原来这么简单?2行代码就能搞定!

转型 AI 开发——LangChain 实战第七课:豆包、DeepSeek 的流式输出原来这么简单?2行代码就能搞定! 玩AI的方可乐
2025-09-22
2
导读:手把手教学,10 分钟见结果

 

你好,我是方可乐。
一个正在深耕AI编程的30+的AI应用开发工程师。
用AI编程开发过Web应用网站,浏览器插件,

微信小程序,AI智能体,RAG系统。

注公众号&添加微信:ThinkFun666

领取【AI编程资料包】



 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

去年6月份,我做了一个连自己都觉得疯狂的决定:裸辞,All in AI。

现在已经换赛道成功,继续在工作中探索。


 

昨天我们聊了 AI 的三种记忆策略,比较硬核,今天换个轻松的话题:流式输出

说白了,就是 边生成边显示
这个场景应该很多同学都见过,比如在DeepSeek,比如在豆包,比如在元宝。

相比较我们之前开发的代码内容,没有流失输出,大家应该体会到了那种等待的痛。

流失输出相比一次性等待结果返回,有这些优势:

  1. 1. 体验更丝滑:等大模型一口气输出完,可能要好几秒。流式就像打字机,一点点蹦出来,你不至于怀疑它是不是死机了。
  2. 2. 提升交互感:有些场景下(比如写作助手、编程助手),你能边看边打断,节省时间

举个栗子:

  • • 你做了一个客服助手,用户提问。
  • • 如果没流式,用户点了发送后要干等 5 秒,体验很差。
  • • 如果用了流式,前 1 秒就开始有回答滚出来了,用户立刻安心,觉得 AI 很聪明。问了问题一秒反馈,说不定还夸一声,这AI脑子转得真快。

那我们如何重现我们习以为常的流式输出呢?

老规矩,上代码。
我们就来写个最小 demo,看看流式输出到底咋实现。

新建文件07_stream.py

流式输出实战代码


           
           
           
           
            
           
           
           
           import os
from
 langchain_openai import ChatOpenAI
from
 langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
from
 dotenv import load_dotenv

load_dotenv()

# 初始化 LLM,打开 streaming=True

llm = ChatOpenAI(
    model="deepseek-chat",
    base_url="https://api.deepseek.com/v1",
    api_key=os.getenv("deepseek_api_key"),
    streaming=True,  # 开启流式输出
    callbacks=[StreamingStdOutCallbackHandler()]  # 把生成的内容直接打印出来
)

print
("=== 流式输出实验 ===")
print
("输入你的问题,AI 会边生成边输出。输入 quit 退出。\n")

while
 True:
    user_input = input("你:")
    if
 user_input.lower() in ["quit", "exit", "退出"]:
        break


    print
("AI:", end="", flush=True)
    llm.invoke(user_input)
    print
("\n")  # 换行

搞定流失输出,核心就是两个点:

打开streaming=True

  • • 默认是 False(非流式),必须手动改成 True

加回调函数(callback)

  • • 你得告诉 LangChain:“每生成一个 token,就立刻交给谁来处理”。
  • • 最常见的就是用 StreamingStdOutCallbackHandler(),它会把 token 一边生成一边打印到终端。

是不是很简单,直接上手试试吧。

 


 

 

 


 

 

 

对AI应用开发感兴趣的同学,欢迎加微信申请入群交流学习。

想要学习AI应用开发的同学,可以参照我的代码跑起来,举一反三,一天一个脚印的进步,我相信,会足够坚实。


接下来100天,我会记录从Java程序员到AI应用开发工程师的完整转型路:每一个困惑、每一次突破、每一个真实瞬间。

当前是25/100。

如果你也想了解AI应用开发到底是什么,如果你也在考虑转型但还在犹豫,
那就跟着我的记录,一起探索。


继续折腾中,有问题随时交流 🤝
微信号:ThinkFun666



我的免费AI编程交流群,欢迎加入讨论AI编程玩法(加我微信,说明需求和来意,申请入群)




 


不懂编程的小白,如何入门AI编程和商业化?

如何系统地掌握这些方法?如何找到有价值的商业化方向?如何在遇到瓶颈时获得启发和帮助?

如果你也对AI编程充满热情,渴望用AI创造出属于自己的应用并探索商业化机会;如果你想提升在AI时代的核心竞争力,让AI成为你事业的加速器。

那么,我非常推荐你加入“AI编程复利商业化星球”!




在这个社群,你将获得:

  • 9次价值千元的AI编程死磕实战训练营

  • 超级大佬的实战经验分享,商业化思路,前沿AI工具和技巧

  • 和一群积极的AI编程同行者共舞


让我们一起,用AI编程,不仅创造工具,更创造价值,实现个人和商业上的持续“进化”与“复利”!

 

 

 



推荐阅读:

我就喜欢干这种傻事!为什么转型AI应用开发,我不建议你直接从看书开始学起?

猛然醒悟:原来 AI 编程这件事情,是有门槛的,90%的新手卡在这些地方

30岁转行 AI 应用开发:多久能学会?答案出乎意料

30岁,我放弃写了7年的Java,成功转型AI应用开发

30岁,转型AI应用开发,需要会什么技术?

30岁,空窗期一年,靠什么成功转型AI应用开发?

30岁,没报课,如何从0自学转型AI应用开发?

【声明】内容源于网络
0
0
玩AI的方可乐
1234
内容 502
粉丝 0
玩AI的方可乐 1234
总阅读204
粉丝0
内容502