赞
踩
Sequential Chain
是LangChain库中的一个强大工具,它允许我们将多个LLMChain
按照特定的顺序连接起来,形成一个处理流程。这种链式结构使得我们可以将一个大任务分解为几个小任务,并依次执行,每个任务的输出成为下一个任务的输入。
在这个示例中,我们将构建一个顺序链,目标是:
导入所需的库和模块:
from langchain_openai import ChatOpenAI
from langchain.chains import LLMChain, SequentialChain
from langchain.prompts import PromptTemplate
创建第一个LLMChain:
生成鲜花的知识性说明。
one_template = """
你是一个植物学家。给定花的名称和类型,你需要为这种花写一个200字左右的介绍。
花名: {name}颜色: {color}
植物学家: 这是关于上述花的介绍:
"""
one_prompt_template = PromptTemplate(
template=one_template,
input_variables=["name", "color"],
)
introduction_chain = LLMChain(
llm=llm,
prompt=one_prompt_template,
output_key="introduction",
)
创建第二个LLMChain:
根据鲜花的知识性说明生成评论。
two_template = """
你是一位鲜花评论家。给定一种花的介绍,你需要为这种花写一篇200字左右的评论。
鲜花介绍:{introduction}
花评人对上述花的评论:
"""
two_prompt_template = PromptTemplate(
template=two_template,
input_variables=["introduction"],
)
review_chain = LLMChain(
llm=llm,
prompt=two_prompt_template,
output_key="review",
)
创建第三个LLMChain:
根据鲜花的介绍和评论撰写社交媒体文案。
three_template = """
你是一家花店的社交媒体经理。给定一种花的介绍和评论,你需要为这种花写一篇社交媒体的帖子,300字左右。
鲜花介绍:{introduction}花评人对上述花的评论:{review}
社交媒体帖子:
"""
three_prompt_template = PromptTemplate(
template=three_template,
input_variables=["introduction", "review"],
)
social_media_chain = LLMChain(
llm=llm,
prompt=three_prompt_template,
output_key="social_post_text",
)
创建SequentialChain:
将前面三个链串起来。
overall_chain = SequentialChain(
chains=[introduction_chain, review_chain, social_media_chain],
input_variables=["name", "color"],
output_variables=["introduction", "review", "social_post_text"],
verbose=True
)
调用SequentialChain:
输入花的名称和种类,获取结果。
result = overall_chain({"name": "玫瑰", "color": "红色"})
print(result)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。