langchain.js
    Preparing search index...

    Class RetrievalQAChain

    This class will be removed in 1.0.0. See below for an example implementation using createRetrievalChain: Class representing a chain for performing question-answering tasks with a retrieval component.

    import { createStuffDocumentsChain } from "langchain/chains/combine_documents";
    import { ChatPromptTemplate } from "@langchain/core/prompts";
    import { createRetrievalChain } from "langchain/chains/retrieval";
    import { MemoryVectorStore } from "langchain/vectorstores/memory";

    const documents = [...your documents here];
    const embeddings = ...your embeddings model;
    const llm = ...your LLM model;

    const vectorstore = await MemoryVectorStore.fromDocuments(
    documents,
    embeddings
    );
    const prompt = ChatPromptTemplate.fromTemplate(`Answer the user's question: {input} based on the following context {context}`);

    const combineDocsChain = await createStuffDocumentsChain({
    llm,
    prompt,
    });
    const retriever = vectorstore.asRetriever();

    const retrievalChain = await createRetrievalChain({
    combineDocsChain,
    retriever,
    });

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    combineDocumentsChain: BaseChain
    inputKey: string = "query"
    memory?: any
    retriever: BaseRetrieverInterface
    returnSourceDocuments: boolean = false

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

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

    • Creates a new instance of RetrievalQAChain using a BaseLanguageModel and a BaseRetriever.

      Parameters

      • llm: BaseLanguageModelInterface

        The BaseLanguageModel used to generate a new question.

      • retriever: BaseRetrieverInterface

        The BaseRetriever used to retrieve relevant documents.

      • Optionaloptions: Partial<
            Omit<
                RetrievalQAChainInput,
                "retriever"
                | "combineDocumentsChain"
                | "index",
            >,
        > & StuffQAChainParams

        Optional parameters for the RetrievalQAChain.

      Returns RetrievalQAChain

      A new instance of RetrievalQAChain.

    • Returns string