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 {:10_300:} 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]