概览
LangChain 提供了一个键值存储接口,用于按键存储和检索数据。LangChain 中的键值存储接口主要用于缓存嵌入。接口
所有BaseStores 都支持以下接口
mget(key: Sequence[str]) -> List[Optional[bytes]]: 获取多个键的内容,如果键不存在则返回Nonemset(key_value_pairs: Sequence[Tuple[str, bytes]]) -> None: 设置多个键的内容mdelete(key: Sequence[str]) -> None: 删除多个键yield_keys(prefix: Optional[str] = None) -> Iterator[str]: 生成存储中的所有键,可选择按前缀过滤
基本存储设计为同时处理**多个**键值对,以提高效率。这可以节省网络往返次数,并允许在底层存储中进行更高效的批处理操作。
用于本地开发的内置存储
自定义存储
您还可以通过扩展BaseStore 类来实现自己的自定义存储。有关更多详细信息,请参阅存储接口文档。
所有键值存储
AstraDBByteStore
CassandraByteStore
Elasticsearch嵌入缓存(ElasticsearchEmbeddingsCache)
RedisStore
UpstashRedisByteStore
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。