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

# 使用根路径实例化LocalFileStore
file_store = LocalFileStore("/path/to/root")

# 为键设置值
file_store.mset([("key1", b"value1"), ("key2", b"value2")])

# 获取键的值
values = file_store.mget(["key1", "key2"])  # 返回[b"value1", b"value2"]

# 删除键
file_store.mdelete(["key1"])

# 遍历键
for key in file_store.yield_keys():
    print(key)  # noqa: T201

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

参数:

root_path (Union[str, Path]): 文件存储的根路径。所有键都被解释为相对于此根路径的路径。 chmod_file: (可选,默认为`None`) 如果指定,设置新创建文件的权限,必要时覆盖当前的`umask`。 chmod_dir: (可选,默认为`None`) 如果指定,设置新创建目录的权限,必要时覆盖当前的`umask`。 update_atime: (可选,默认为`False`) 如果为`True`,在读取文件时更新文件系统的访问时间(但不更新修改时间)。

这允许在禁用访问时间更新的文件系统上实现MRU/LRU缓存策略。

Methods

__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])

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

Parameters
  • root_path (Union[str, Path]) –

  • chmod_file (Optional[int]) –

  • chmod_dir (Optional[int]) –

  • update_atime (bool) –

Return type

None

__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: (可选,默认为`None`) 如果指定,设置新创建文件的权限,必要时覆盖当前的`umask`。 chmod_dir: (可选,默认为`None`) 如果指定,设置新创建目录的权限,必要时覆盖当前的`umask`。 update_atime: (可选,默认为`False`) 如果为`True`,在读取文件时更新文件系统的访问时间(但不更新修改时间)。

这允许在禁用访问时间更新的文件系统上实现MRU/LRU缓存策略。

Parameters
  • root_path (Union[str, Path]) –

  • chmod_file (Optional[int]) –

  • chmod_dir (Optional[int]) –

  • update_atime (bool) –

Return type

None

async amdelete(keys: Sequence[K]) None

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

参数:

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

Parameters

keys (Sequence[K]) –

Return type

None

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

获取与给定键相关联的值。

参数:

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

返回:

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

Parameters

keys (Sequence[K]) –

Return type

List[Optional[V]]

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

设置给定键的值。

参数:

key_value_pairs(Sequence[Tuple[K,V]]):键值对的序列。

Parameters

key_value_pairs (Sequence[Tuple[K, V]]) –

Return type

None

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

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

参数:

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

返回:

Iterator[K | str]:一个迭代器,用于匹配给定前缀的键。

该方法允许返回一个K或str类型的迭代器,具体取决于给定存储的情况。

Parameters

prefix (Optional[str]) –

Return type

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

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

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

参数:

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

返回:

Parameters

keys (Sequence[str]) –

Return type

None

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

获取与给定键相关联的值。

参数:

keys:一系列键。

返回:

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

Parameters

keys (Sequence[str]) –

Return type

List[Optional[bytes]]

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

设置给定键的值。

参数:

key_value_pairs:一组键值对。

返回:

无。

Parameters

key_value_pairs (Sequence[Tuple[str, bytes]]) –

Return type

None

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

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

参数:

prefix(可选[str]):要匹配的前缀。

返回:

Iterator[str]:一个迭代器,用于匹配给定前缀的键。

Parameters

prefix (Optional[str]) –

Return type

Iterator[str]

Examples using LocalFileStore