import { ChainValues } from "@langchain/core/utils/types"; import { CallbackManagerForChainRun } from "@langchain/core/callbacks/manager"; import { BaseChain, ChainInputs } from "./base.js"; import { TextSplitter } from "../text_splitter.js"; import { SerializedAnalyzeDocumentChain } from "./serde.js"; export type LoadValues = Record; /** * Interface for the input parameters required by the AnalyzeDocumentChain * class. */ export interface AnalyzeDocumentChainInput extends Omit { combineDocumentsChain: BaseChain; textSplitter?: TextSplitter; inputKey?: string; } /** * Chain that combines documents by stuffing into context. * @augments BaseChain * @augments StuffDocumentsChainInput * @example * ```typescript * const model = new ChatOpenAI({ temperature: 0 }); * const combineDocsChain = loadSummarizationChain(model); * const chain = new AnalyzeDocumentChain({ * combineDocumentsChain: combineDocsChain, * }); * * // Read the text from a file (this is a placeholder for actual file reading) * const text = readTextFromFile("state_of_the_union.txt"); * * // Invoke the chain to analyze the document * const res = await chain.call({ * input_document: text, * }); * * console.log({ res }); * ``` */ export declare class AnalyzeDocumentChain extends BaseChain implements AnalyzeDocumentChainInput { static lc_name(): string; inputKey: string; combineDocumentsChain: BaseChain; textSplitter: TextSplitter; constructor(fields: AnalyzeDocumentChainInput); get inputKeys(): string[]; get outputKeys(): string[]; /** @ignore */ _call(values: ChainValues, runManager?: CallbackManagerForChainRun): Promise; _chainType(): "analyze_document_chain"; static deserialize(data: SerializedAnalyzeDocumentChain, values: LoadValues): Promise; serialize(): SerializedAnalyzeDocumentChain; }