You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用LCEL实现多LLM步骤链并在第四步返回流式响应?

用LCEL实现多步骤链式调用

核心思路

LCEL通过|操作符串联各组件,可基于上一步输出构造新输入提示,最终通过stream()实现流式响应。以下是针对需求的具体实现:

代码示例

先导入依赖模块:

from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_openai import ChatOpenAI
from langchain_core.runnables import RunnablePassthrough

定义各步骤的系统消息与初始用户输入:

system_msg_1 = "你是内容提炼助手,把用户输入提炼成核心要点"
system_msg_2 = "你是逻辑梳理专家,把给定要点整理成结构化大纲"
system_msg_3 = "你是文案润色师,把结构化大纲转化为流畅段落"
system_msg_4 = "你是格式转换助手,把输入段落转成Markdown分点格式"
user_msg_1 = "我今天去公园,看到很多人跑步、野餐,小朋友放风筝,天气好,阳光足,风不大,感觉很放松"

构建多步骤链:

# 初始化模型(可替换为其他支持LCEL的模型)
model = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)

# 步骤1:system_msg_1 + user_msg_1 生成输出1
step1_prompt = ChatPromptTemplate.from_messages([
    ("system", system_msg_1),
    ("user", "{user_input}")
])
step1_chain = step1_prompt | model | StrOutputParser()

# 步骤2:system_msg_2 + 步骤1输出 生成输出2
step2_prompt = ChatPromptTemplate.from_messages([
    ("system", system_msg_2),
    ("user", "{step1_output}")
])
step2_chain = RunnablePassthrough.assign(step1_output=step1_chain) | step2_prompt | model | StrOutputParser()

# 步骤3:system_msg_3 + 步骤2输出 生成输出3
step3_prompt = ChatPromptTemplate.from_messages([
    ("system", system_msg_3),
    ("user", "{step2_output}")
])
step3_chain = RunnablePassthrough.assign(step2_output=step2_chain) | step3_prompt | model | StrOutputParser()

# 步骤4:system_msg_4 + 步骤3输出 生成流式响应
step4_prompt = ChatPromptTemplate.from_messages([
    ("system", system_msg_4),
    ("user", "{step3_output}")
])
final_chain = RunnablePassthrough.assign(step3_output=step3_chain) | step4_prompt | model | StrOutputParser()

# 执行并获取流式响应
for chunk in final_chain.stream({"user_input": user_msg_1}):
    print(chunk, end="", flush=True)

关键说明

  • RunnablePassthrough.assign()用于将上一步输出作为变量传递到下一个prompt,实现步骤间数据流转。
  • 每个步骤通过ChatPromptTemplate构造包含系统消息和上一步输出的对话提示。
  • 调用stream()方法即可获取第四步的流式响应输出。

内容的提问来源于stack exchange,提问作者danladis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 11:37:09