langchain.js
    Preparing search index...

    Class SimpleSequentialChain

    Switch to expression language: https://js.langchain.com/docs/expression_language/ Simple chain where a single string output of one chain is fed directly into the next.

    import { SimpleSequentialChain, LLMChain } from "langchain/chains";
    import { OpenAI } from "langchain/llms/openai";
    import { PromptTemplate } from "langchain/prompts";

    // This is an LLMChain to write a synopsis given a title of a play.
    const llm = new OpenAI({ temperature: 0 });
    const template = `You are a playwright. Given the title of play, it is your job to write a synopsis for that title.

    Title: {title}
    Playwright: This is a synopsis for the above play:`
    const promptTemplate = new PromptTemplate({ template, inputVariables: ["title"] });
    const synopsisChain = new LLMChain({ llm, prompt: promptTemplate });


    // This is an LLMChain to write a review of a play given a synopsis.
    const reviewLLM = new OpenAI({ temperature: 0 })
    const reviewTemplate = `You are a play critic from the New York Times. Given the synopsis of play, it is your job to write a review for that play.

    Play Synopsis:
    {synopsis}
    Review from a New York Times play critic of the above play:`
    const reviewPromptTemplate = new PromptTemplate({ template: reviewTemplate, inputVariables: ["synopsis"] });
    const reviewChain = new LLMChain({ llm: reviewLLM, prompt: reviewPromptTemplate });

    const overallChain = new SimpleSequentialChain({chains: [synopsisChain, reviewChain], verbose:true})
    const review = await overallChain.run("Tragedy at sunset on the beach")
    // the variable review contains resulting play review.

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    chains: BaseChain<ChainValues, ChainValues>[]

    Array of chains to run as a sequence. The chains are run in order they appear in the array.

    inputKey: string = "input"
    memory?: any
    outputKey: string = "output"
    trimOutputs: boolean

    Whether or not to trim the intermediate outputs.

    Accessors

    • get inputKeys(): string[]

      Returns string[]

    • get lc_namespace(): string[]

      Returns string[]

    • get outputKeys(): string[]

      Returns string[]

    Methods

    • Return the string type key uniquely identifying this class of chain.

      Returns "simple_sequential_chain"

    • Parameters

      • values: any

      Returns Promise<any>

    • Parameters

      • inputs: ChainValues[]
      • Optionalconfig: any[]

      Returns Promise<ChainValues[]>

      Use .batch() instead. Will be removed in 0.2.0.

      Call the chain on all inputs in the list

    • Parameters

      • values: any
      • Optionalconfig: any
      • Optionaltags: string[]

      Returns Promise<ChainValues>

      Use .invoke() instead. Will be removed in 0.2.0.

      Run the core logic of this chain and add to output if desired.

      Wraps _call and handles memory.

    • Invoke the chain with the provided input and returns the output.

      Parameters

      • input: ChainValues

        Input values for the chain run.

      • Optionaloptions: any

      Returns Promise<ChainValues>

      Promise that resolves with the output of the chain run.

    • Parameters

      • inputs: Record<string, unknown>
      • outputs: Record<string, unknown>
      • returnOnlyOutputs: boolean = false

      Returns Promise<Record<string, unknown>>

    • Parameters

      • input: any
      • Optionalconfig: any

      Returns Promise<string>

      Use .invoke() instead. Will be removed in 0.2.0.

    • Returns string