langchain.js
    Preparing search index...

    Class SequentialChain

    Chain where the outputs of one chain feed directly into next.

    const promptTemplate = new PromptTemplate({
    template: `You are a playwright. Given the title of play and the era it is set in, it is your job to write a synopsis for that title.
    Title: {title}
    Era: {era}
    Playwright: This is a synopsis for the above play:`,
    inputVariables: ["title", "era"],
    });

    const reviewPromptTemplate = new PromptTemplate({
    template: `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:`,
    inputVariables: ["synopsis"],
    });

    const overallChain = new SequentialChain({
    chains: [
    new LLMChain({
    llm: new ChatOpenAI({ model: "gpt-4o-mini", temperature: 0 }),
    prompt: promptTemplate,
    outputKey: "synopsis",
    }),
    new LLMChain({
    llm: new OpenAI({ model: "gpt-4o-mini", temperature: 0 }),
    prompt: reviewPromptTemplate,
    outputKey: "review",
    }),
    ],
    inputVariables: ["era", "title"],
    outputVariables: ["synopsis", "review"],
    verbose: true,
    });

    const chainExecutionResult = await overallChain.call({
    title: "Tragedy at sunset on the beach",
    era: "Victorian England",
    });
    console.log(chainExecutionResult);

    Switch to expression language. Will be removed in 0.2.0

    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.

    inputVariables: string[]

    Defines which variables should be passed as initial input to the first chain.

    memory?: any
    outputVariables: string[]

    Which variables should be returned as a result of executing the chain. If not specified, output of the last of the chains is used.

    returnAll?: boolean

    Whether or not to return all intermediate outputs and variables (excluding initial input variables).

    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 "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