当前位置:   article > 正文

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

sequentialchain

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

示例目标

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

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

    from langchain_openai import ChatOpenAI
    from langchain.chains import LLMChain, SequentialChain
    from langchain.prompts import PromptTemplate
    
    • 1
    • 2
    • 3
  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",
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  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",
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  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",
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  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
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  6. 调用SequentialChain
    输入花的名称和种类,获取结果。

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/904670
推荐阅读
相关标签
  

闽ICP备14008679号