LangChain入门:15.Sequential Chain:顺序链的使用

Sequential Chain是LangChain库中的一个强大工具,它允许我们将多个LLMChain按照特定的顺序连接起来,形成一个处理流程。这种链式结构使得我们可以将一个大任务分解为几个小任务,并依次执行,每个任务的输出成为下一个任务的输入。

示例目标

在这个示例中,我们将构建一个顺序链,目标是:

  1. 让大模型扮演植物学家的角色,提供特定鲜花的知识和介绍。
  2. 接着让大模型扮演鲜花评论者的角色,对鲜花进行评论。
  3. 最后让大模型扮演社交媒体运营经理的角色,撰写一篇鲜花运营文案。
实现步骤
  1. 导入所需的库和模块

    from langchain_openai import ChatOpenAI
    from langchain.chains import LLMChain, SequentialChain
    from langchain.prompts import PromptTemplate
    
  2. 创建第一个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",
    )
    
  3. 创建第二个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",
    )
    
  4. 创建第三个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",
    )
    
  5. 创建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
    )
    
  6. 调用SequentialChain
    输入花的名称和种类,获取结果。

    result = overall_chain({"name": "玫瑰", "color": "红色"})
    print(result)
    
运行结果

运行上述代码将得到一系列输出,包括植物学家对玫瑰的介绍、鲜花评论者对玫瑰的评论,以及社交媒体运营经理为玫瑰撰写的社交媒体帖子。
在这里插入图片描述

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hugo_Hoo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值