UNPKG

@jackhua/mini-langchain

Version:

A lightweight TypeScript implementation of LangChain with cost optimization features

89 lines 2.58 kB
/** * Retrieval-based chains for RAG */ import { BaseChain } from './base'; import { BaseChatLLM } from '../llms/base'; import { VectorStore } from '../vectorstores/base'; import { Document, ChainValues } from '../core/types'; import { PromptTemplate } from '../prompts/prompt'; /** * Base retriever interface */ export interface BaseRetriever { getRelevantDocuments(query: string): Promise<Document[]>; } /** * Vector store retriever */ export declare class VectorStoreRetriever implements BaseRetriever { private vectorStore; private k; private filter?; private searchType; private searchKwargs; constructor(config: { vectorStore: VectorStore; k?: number; filter?: Record<string, any>; searchType?: 'similarity' | 'mmr'; searchKwargs?: Record<string, any>; }); getRelevantDocuments(query: string): Promise<Document[]>; } /** * Retrieval QA Chain */ export declare class RetrievalQAChain extends BaseChain { private llm; private retriever; private prompt; private inputKey; private outputKey; constructor(config: { llm: BaseChatLLM; retriever: BaseRetriever; prompt?: PromptTemplate; inputKey?: string; outputKey?: string; }); get inputKeys(): string[]; get outputKeys(): string[]; call(inputs: ChainValues): Promise<ChainValues>; static fromLLM(llm: BaseChatLLM, retriever: BaseRetriever, options?: { prompt?: PromptTemplate; inputKey?: string; outputKey?: string; }): RetrievalQAChain; } /** * Conversational Retrieval Chain */ export declare class ConversationalRetrievalChain extends BaseChain { private llm; private retriever; private questionGeneratorPrompt; private qaPrompt; private inputKey; private outputKey; private chatHistoryKey; constructor(config: { llm: BaseChatLLM; retriever: BaseRetriever; questionGeneratorPrompt?: PromptTemplate; qaPrompt?: PromptTemplate; inputKey?: string; outputKey?: string; chatHistoryKey?: string; }); get inputKeys(): string[]; get outputKeys(): string[]; call(inputs: ChainValues): Promise<ChainValues>; static fromLLM(llm: BaseChatLLM, retriever: BaseRetriever, options?: { questionGeneratorPrompt?: PromptTemplate; qaPrompt?: PromptTemplate; inputKey?: string; outputKey?: string; chatHistoryKey?: string; }): ConversationalRetrievalChain; } //# sourceMappingURL=retrieval.d.ts.map