Class SequentialChain

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

Example

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({ temperature: 0 }),
prompt: promptTemplate,
outputKey: "synopsis",
}),
new LLMChain({
llm: new OpenAI({ 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);

Hierarchy

Implements

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.

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.

memory?: BaseMemory
returnAll?: boolean

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

Accessors

  • get inputKeys(): string[]
  • Returns string[]

  • get outputKeys(): string[]
  • Returns string[]

Methods

  • Call the chain on all inputs in the list

    Parameters

    • inputs: ChainValues[]
    • Optional config: (BaseCallbackConfig | Callbacks)[]

    Returns Promise<ChainValues[]>

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

    Wraps _call and handles memory.

    Parameters

    • values: ChainValues & {
          signal?: AbortSignal;
          timeout?: number;
      }
    • Optional config: BaseCallbackConfig | Callbacks
    • Optional tags: string[]

      Deprecated

    Returns Promise<ChainValues>

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

    Parameters

    • input: ChainValues

      Input values for the chain run.

    • Optional config: BaseCallbackConfig

      Optional configuration for the Runnable.

    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
    • Optional config: BaseCallbackConfig | Callbacks

    Returns Promise<string>

Generated using TypeDoc