UNPKG

@jackhua/mini-langchain

Version:

A lightweight TypeScript implementation of LangChain with cost optimization features

106 lines 3.54 kB
import { ChatMemory as IChatMemory, Message } from '../core/types'; /** * Base class for all memory implementations */ export declare abstract class BaseMemory { abstract get memoryVariables(): string[]; abstract loadMemoryVariables(values: Record<string, any>): Record<string, any>; abstract saveContext(inputs: Record<string, any>, outputs: Record<string, any>): void; abstract clear(): void; } /** * Simple chat memory that stores conversation history */ export declare class ChatMessageHistory implements IChatMemory { chatHistory: Message[]; constructor(messages?: Message[]); addUserMessage(message: string): void; addAIMessage(message: string): void; addSystemMessage(message: string): void; addMessage(message: Message): void; clear(): void; getMessages(): Message[]; } /** * Buffer memory that maintains a conversation buffer */ export declare class ConversationBufferMemory extends BaseMemory { protected chatMemory: ChatMessageHistory; protected returnMessages: boolean; protected inputKey: string; protected outputKey: string; protected memoryKey: string; constructor(config?: { chatMemory?: ChatMessageHistory; returnMessages?: boolean; inputKey?: string; outputKey?: string; memoryKey?: string; }); get memoryVariables(): string[]; loadMemoryVariables(_values: Record<string, any>): Record<string, any>; saveContext(inputs: Record<string, any>, outputs: Record<string, any>): void; clear(): void; private getBuffer; } /** * Window buffer memory that only keeps the last k interactions */ export declare class ConversationBufferWindowMemory extends ConversationBufferMemory { private k; constructor(config?: { k?: number; chatMemory?: ChatMessageHistory; returnMessages?: boolean; inputKey?: string; outputKey?: string; memoryKey?: string; }); loadMemoryVariables(values: Record<string, any>): Record<string, any>; private formatMessages; } /** * Summary memory that maintains a running summary of the conversation */ export declare class ConversationSummaryMemory extends BaseMemory { private chatMemory; private summaryMessage; private llm; private prompt; private memoryKey; constructor(config: { llm: any; chatMemory?: ChatMessageHistory; summaryMessage?: string; prompt?: any; memoryKey?: string; }); get memoryVariables(): string[]; loadMemoryVariables(_values: Record<string, any>): Record<string, any>; saveContext(inputs: Record<string, any>, outputs: Record<string, any>): Promise<void>; clear(): void; private formatMessages; } /** * Entity memory that tracks entities mentioned in the conversation */ export declare class EntityMemory extends BaseMemory { private entities; private llm; private entityExtractionPrompt; private entitySummarizationPrompt; private memoryKey; constructor(config: { llm: any; entityExtractionPrompt?: string; entitySummarizationPrompt?: string; memoryKey?: string; }); get memoryVariables(): string[]; loadMemoryVariables(_values: Record<string, any>): Record<string, any>; saveContext(inputs: Record<string, any>, outputs: Record<string, any>): Promise<void>; clear(): void; getEntity(entity: string): string | undefined; getAllEntities(): Map<string, string>; } //# sourceMappingURL=memory.d.ts.map