This class will be removed in 0.3.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 full)

Implements

Constructors

Properties

combineDocumentsChain: BaseChain<ChainValues, ChainValues>
inputKey: string = "query"
retriever: BaseRetrieverInterface
returnSourceDocuments: 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>>

  • 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" | "index" | "combineDocumentsChain">> & StuffQAChainParams

      Optional parameters for the RetrievalQAChain.

    Returns RetrievalQAChain

    A new instance of RetrievalQAChain.