A class that represents a multi-prompt chain in the LangChain framework. It extends the MultiRouteChain class and provides additional functionality specific to multi-prompt chains.

const multiPromptChain = MultiPromptChain.fromLLMAndPrompts(new ChatOpenAI(), {
promptNames: ["physics", "math", "history"],
promptDescriptions: [
"Good for answering questions about physics",
"Good for answering math questions",
"Good for answering questions about history",
],
promptTemplates: [
`You are a very smart physics professor. Here is a question:\n{input}\n`,
`You are a very good mathematician. Here is a question:\n{input}\n`,
`You are a very smart history professor. Here is a question:\n{input}\n`,
],
});
const result = await multiPromptChain.call({
input: "What is the speed of light?",
});

Hierarchy (view full)

Constructors

Properties

defaultChain: BaseChain<ChainValues, ChainValues>
destinationChains: {
    [name: string]: BaseChain;
}
routerChain: RouterChain
silentErrors: boolean = false
memory?: any

Accessors

Methods

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

  • A static method that creates an instance of MultiPromptChain from a BaseLanguageModel and a set of prompts. It takes in optional parameters for the default chain and additional options.

    Parameters

    • llm: BaseLanguageModelInterface

      A BaseLanguageModel instance.

    • __namedParameters: {
          promptDescriptions: string[];
          promptNames: string[];
          promptTemplates: string[] | PromptTemplate[];
          conversationChainOpts?: Omit<LLMChainInput<string, any>, "llm" | "outputKey">;
          defaultChain?: BaseChain<ChainValues, ChainValues>;
          llmChainOpts?: Omit<LLMChainInput<string, any>, "prompt" | "llm">;
          multiRouteChainOpts?: Omit<MultiRouteChainInput, "defaultChain">;
      }
      • promptDescriptions: string[]
      • promptNames: string[]
      • promptTemplates: string[] | PromptTemplate[]
      • OptionalconversationChainOpts?: Omit<LLMChainInput<string, any>, "llm" | "outputKey">
      • OptionaldefaultChain?: BaseChain<ChainValues, ChainValues>
      • OptionalllmChainOpts?: Omit<LLMChainInput<string, any>, "prompt" | "llm">
      • OptionalmultiRouteChainOpts?: Omit<MultiRouteChainInput, "defaultChain">

    Returns MultiPromptChain

    An instance of MultiPromptChain.