Skip to main content

流式输出

流式输出结果​

如果需要流式输出结果,需要将模型的invoke方法改为stream方法即可。

  • invoke方法:一次型返回完整结果
  • stream方法:逐段返回结果,流式输出
from langchain_community.llms.tongyi import Tongyi
from dotenv import load_dotenv
import os

load_dotenv()

LLM_API_KEY = os.getenv("LLM_API_KEY")

model = Tongyi(model="qwen-max", api_key=LLM_API_KEY)

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

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

本地ollama流式输出:

from langchain_ollama import OllamaLLM

llm = OllamaLLM(model="qwen2.5:0.5b")

res = llm.stream(input="你是谁你在干什么")

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

总结​

模型对象有 2 个方法去调用模型:

  • invoke,调用模型,一次性返回完整结果
  • stream,调用模型,逐段流式输出

这两个方法是新版 LangChain(1.0 版本后)中基于 Runnable 接口的通用核心方法。

绝大多数组件(如提示词模板、链、向量检索、工具调用等,后续学习)都支持这两个方法,这也是 LangChain 设计的核心统一范式。