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