糖逗 发表于 前天 17:04

12.LangChain组件——模型的流式输出

1.目标
让模型的结果一个字一个字输出

2.LangChain的模型对象有哪些方法调用?



2.代码实战
①调用在线阿里云模型,进行流式输出
from langchain_community.llms.tongyi import Tongyi

model = Tongyi(model="qwen-max")

# # 通过stream方法获得流式输出
res = model.stream(input="你是谁呀能做什么?")

for chunk in res:
    print(chunk, end="", flush=True)
②调用本地ollama模型,进行流式输出
from langchain_ollama import OllamaLLM

model = OllamaLLM(model="qwen3:4b")

res = model.stream(input="你是谁呀能做什么?")

for chunk in res:
    print(chunk, end="", flush=True)

学习视频:【黑马程序员大模型RAG与Agent智能体项目实战教程,基于主流的LangChain技术从大模型提示词到实战项目】https://www.bilibili.com/video/BV1yjz5BLEoY/?p=23&share_source=copy_web&vd_source=792a2cb63a1882bff4ed856eadc41a71]https://www.bilibili.com/video/BV1yjz5BLEoY/?p=23&share_source=copy_web&vd_source=792a2cb63a1882bff4ed856eadc41a71

糖逗 发表于 前天 17:04

{:10_300:}

FishC 发表于 前天 17:04

1. 目标:让模型的结果一个字一个字输出

2. LangChain的模型对象调用方法主要有以下三种:
- __call__:直接调用模型,输入字符串,返回字符串结果
- generate:批量调用模型,输入字符串列表,返回包含详细信息的LLMResult对象
- stream:流式调用模型,返回生成器,可以逐个token输出结果

2. 代码实战

① 调用在线阿里云模型进行流式输出:


from langchain_community.llms.tongyi import Tongyi

model = Tongyi(model="qwen-max")

# 通过stream方法获得流式输出
res = model.stream(input="你是谁呀能做什么?")

for chunk in res:
    print(chunk, end="", flush=True)


② 调用本地ollama模型进行流式输出:


from langchain_ollama import OllamaLLM

model = OllamaLLM(model="qwen3:4b")

res = model.stream(input="你是谁呀能做什么?")

for chunk in res:
    print(chunk, end="", flush=True)


使用说明:
- 使用model.stream()方法可以获得流式输出的生成器
- 通过循环遍历生成器,使用print(chunk, end="", flush=True)实现逐字输出
- 这种方式可以实时看到模型生成内容的过程,提升交互体验

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 12.LangChain组件——模型的流式输出