概述
LangChain提供了一个通过键存储和检索数据的键值存储接口。LangChain中的键值存储接口主要用于缓存嵌入。接口
所有BaseStores 都是 通用的,并支持以下接口,其中 K 代表键类型,V 代表值类型:
mget(keys: K[]): Promise<(V | undefined)[]>:获取多个键的值,如果键不存在则返回undefinedmset(keyValuePairs: [K, V][]): Promise<void>:设置多个键的值mdelete(keys: K[]): Promise<void>:删除多个键yieldKeys(prefix?: string): AsyncGenerator<K | string>:异步返回存储中的所有键,可选地通过前缀进行过滤
BaseStore<string, BaseMessage> 将存储具有字符串键的消息,而 BaseStore<string, number[]> 将存储数字数组。
基础存储库旨在同时处理多个键值对以提高效率。这可以节省网络往返次数,并可能允许在底层存储中执行更高效的批量操作。
内置存储用于本地开发
InMemoryStore
LocalFileStore
自定义存储
您还可以通过扩展BaseStore 类来实现自己的自定义存储。有关更多详细信息,请参阅 存储接口文档。