langchain.storage.file_system.LocalFileStore

class langchain.storage.file_system.LocalFileStore(root_path: Union[str, Path], *, chmod_file: Optional[int] = None, chmod_dir: Optional[int] = None, update_atime: bool = False)[source]

在本地文件系统上工作的BaseStore接口。

示例

创建一个LocalFileStore实例并在其上进行操作

from langchain.storage import LocalFileStore

# Instantiate the LocalFileStore with the root path
file_store = LocalFileStore("/path/to/root")

# Set values for keys
file_store.mset([("key1", b"value1"), ("key2", b"value2")])

# Get values for keys
values = file_store.mget(["key1", "key2"])  # Returns [b"value1", b"value2"]

# Delete keys
file_store.mdelete(["key1"])

# Iterate over keys
for key in file_store.yield_keys():
    print(key)  # noqa: T201

实现本地文件系统的BaseStore接口。

参数
  • root_path (Union[str, Path]) – 文件存储的根路径。所有密钥都解释为相对于此根路径的路径。

  • chmod_file (Optional[int]) – (可选,默认为 None) 如果指定了,将为新建文件设置权限,如果需要,将覆盖当前 umask

  • chmod_dir (Optional[int]) – (可选,默认为 None) 如果指定了,将为新建目录设置权限,如果需要,将覆盖当前 umask

  • update_atime (bool) – (可选,默认为 False) 如果为 True,则在读取文件时更新文件系统的访问时间(但不更新修改时间)。这对于在禁用访问时间更新的文件系统中实现MRU/LRU缓存策略很有用。

方法

__init__(root_path, *[, chmod_file, ...])

实现本地文件系统的BaseStore接口。

amdelete(keys)

异步删除指定的密钥及其关联的值。

amget(keys)

异步获取与给定密钥关联的值。

amset(key_value_pairs)

异步设置给定密钥的值。

ayield_keys(*[, prefix])

异步获取与给定前缀匹配的密钥的迭代器。

mdelete(keys)

删除指定的键及其关联的值。

mget(keys)

获取与给定键关联的值。

mset(key_value_pairs)

为指定的键设置值。

yield_keys([prefix])

获取匹配给定前缀的键的迭代器。

__init__(root_path: Union[str, Path], *, chmod_file: Optional[int] = None, chmod_dir: Optional[int] = None, update_atime: bool = False) None[source]

实现本地文件系统的BaseStore接口。

参数
  • root_path (Union[str, Path]) – 文件存储的根路径。所有密钥都解释为相对于此根路径的路径。

  • chmod_file (Optional[int]) – (可选,默认为 None) 如果指定了,将为新建文件设置权限,如果需要,将覆盖当前 umask

  • chmod_dir (Optional[int]) – (可选,默认为 None) 如果指定了,将为新建目录设置权限,如果需要,将覆盖当前 umask

  • update_atime (bool) – (可选,默认为 False) 如果为 True,则在读取文件时更新文件系统的访问时间(但不更新修改时间)。这对于在禁用访问时间更新的文件系统中实现MRU/LRU缓存策略很有用。

返回类型

None

async amdelete(keys: Sequence[K]) None

异步删除指定的密钥及其关联的值。

参数

keys (Sequence[K]) – 要删除的键的序列。

返回类型

None

async amget(keys: Sequence[K]) List[Optional[V]]

异步获取与给定密钥关联的值。

参数

keys (Sequence[K]) – 键的序列。

返回

与键关联的可选值的序列。如果没有找到键,则对应的值将为None。

返回类型

列表[可选[V]]

async amset(key_value_pairs: Sequence[Tuple[K, V]]) None

异步设置给定密钥的值。

参数

key_value_pairs (Sequence[Tuple[K, V]]) – 一系列键值对。

返回类型

None

async ayield_keys(*, prefix: Optional[str] = None) Union[AsyncIterator[K], AsyncIterator[str]]

异步获取与给定前缀匹配的密钥的迭代器。

参数

prefix (str) – 要匹配的前缀。

生成器

Iterator[K | str] – 对匹配给定前缀的键的迭代器。此方法允许返回一个迭代器,返回 K 或 str,具体取决于对存储更有意义。

返回类型

Union[AsyncIterator[K], AsyncIterator[str]]

mdelete(keys: Sequence[str]) None[source]

删除指定的键及其关联的值。

参数

keys (Sequence[str]) – 要删除的键序列。

返回

None

返回类型

None

mget(keys: Sequence[str]) List[Optional[bytes]][source]

获取与给定键关联的值。

参数

keys (Sequence[str]) – 键序列。

返回

与键关联的可选值的序列。如果没有找到键,则对应的值将为None。

返回类型

列表[可选[bytes]]

mset(key_value_pairs: Sequence[Tuple[str, bytes]]) None[source]

为指定的键设置值。

参数

key_value_pairs (Sequence[Tuple[str, bytes]]) – 一组键值对序列。

返回

None

返回类型

None

yield_keys(prefix: Optional[str] = None) Iterator[str][source]

获取匹配给定前缀的键的迭代器。

参数

prefix (Optional[str]) – 匹配的前缀。

返回

给定前缀的键的迭代器。

返回类型

Iterator[str]

LocalFileStore的示例使用