langchain_core.indexing.base
.RecordManager¶
- class langchain_core.indexing.base.RecordManager(namespace: str)[source]¶
抽象基类,表示记录管理器的接口。
初始化记录管理器。
- 参数:
namespace (str):记录管理器的命名空间。
Methods
__init__
(namespace)初始化记录管理器。
异步创建记录管理器的数据库模式。
adelete_keys
(keys)从数据库中异步删除指定记录。
aexists
(keys)异步检查提供的键是否存在于数据库中。
异步获取当前服务器时间作为高分辨率时间戳。 重要的是从服务器获取此时间以确保单调时钟,否则在清理旧文档时可能会丢失数据! 返回: 当前服务器时间作为浮点时间戳。
alist_keys
(*[, before, after, group_ids, limit])根据提供的过滤条件异步列出数据库中的记录。
aupdate
(keys, *[, group_ids, time_at_least])将记录异步更新到数据库中。
为记录管理器创建数据库模式。
delete_keys
(keys)从数据库中删除指定的记录。
exists
(keys)检查提供的键是否存在于数据库中。
get_time
()获取当前服务器时间作为高分辨率时间戳!
list_keys
(*[, before, after, group_ids, limit])根据提供的过滤条件列出数据库中的记录。
update
(keys, *[, group_ids, time_at_least])将记录插入数据库。
- Parameters
namespace (str) –
- Return type
None
- __init__(namespace: str) None [source]¶
初始化记录管理器。
- 参数:
namespace (str):记录管理器的命名空间。
- Parameters
namespace (str) –
- Return type
None
- abstract async adelete_keys(keys: Sequence[str]) None [source]¶
从数据库中异步删除指定记录。
- 参数:
keys:要删除的键列表。
- Parameters
keys (Sequence[str]) –
- Return type
None
- abstract async aexists(keys: Sequence[str]) List[bool] [source]¶
异步检查提供的键是否存在于数据库中。
- 参数:
keys:要检查的键列表。
- 返回:
一个布尔值列表,指示每个键的存在情况。
- Parameters
keys (Sequence[str]) –
- Return type
List[bool]
- abstract async aget_time() float [source]¶
异步获取当前服务器时间作为高分辨率时间戳。 重要的是从服务器获取此时间以确保单调时钟,否则在清理旧文档时可能会丢失数据! 返回: 当前服务器时间作为浮点时间戳。
- Return type
float
- abstract async alist_keys(*, before: Optional[float] = None, after: Optional[float] = None, group_ids: Optional[Sequence[str]] = None, limit: Optional[int] = None) List[str] [source]¶
根据提供的过滤条件异步列出数据库中的记录。
- 参数:
before: 过滤条件,列出在此时间之前更新的记录。 after: 过滤条件,列出在此时间之后更新的记录。 group_ids: 过滤条件,列出具有特定组ID的记录。 limit: 可选参数,限制要返回的记录数量。
- 返回:
匹配记录的键列表。
- Parameters
before (Optional[float]) –
after (Optional[float]) –
group_ids (Optional[Sequence[str]]) –
limit (Optional[int]) –
- Return type
List[str]
- abstract async aupdate(keys: Sequence[str], *, group_ids: Optional[Sequence[Optional[str]]] = None, time_at_least: Optional[float] = None) None [source]¶
将记录异步更新到数据库中。
- 参数:
keys:需要更新的记录键列表。 group_ids:与键对应的组ID列表。 time_at_least:可选的时间戳。实现可以使用此参数
可选地验证时间戳至少等于数据存储系统中的时间。
例如,用于验证postgres数据库中的时间 是否等于或大于给定的时间戳,如果不是,则 抛出错误。
这旨在帮助防止时间漂移问题,因为 时间可能不是单调递增的!
- 抛出:
ValueError:如果键的长度与group_ids的长度不匹配。
- Parameters
keys (Sequence[str]) –
group_ids (Optional[Sequence[Optional[str]]]) –
time_at_least (Optional[float]) –
- Return type
None
- abstract delete_keys(keys: Sequence[str]) None [source]¶
从数据库中删除指定的记录。
- 参数:
keys:要删除的键的列表。
- Parameters
keys (Sequence[str]) –
- Return type
None
- abstract exists(keys: Sequence[str]) List[bool] [source]¶
检查提供的键是否存在于数据库中。
- 参数:
keys:要检查的键列表。
- 返回:
一个布尔值列表,指示每个键的存在情况。
- Parameters
keys (Sequence[str]) –
- Return type
List[bool]
- abstract get_time() float [source]¶
获取当前服务器时间作为高分辨率时间戳!
从服务器获取这个时间是很重要的,以确保一个单调时钟,否则在清理旧文档时可能会丢失数据!
- 返回:
当前服务器时间作为浮点时间戳。
- Return type
float
- abstract list_keys(*, before: Optional[float] = None, after: Optional[float] = None, group_ids: Optional[Sequence[str]] = None, limit: Optional[int] = None) List[str] [source]¶
根据提供的过滤条件列出数据库中的记录。
- 参数:
before:过滤条件,列出在此时间之前更新的记录。 after:过滤条件,列出在此时间之后更新的记录。 group_ids:过滤条件,列出具有特定组ID的记录。 limit:可选参数,限制要返回的记录数。
- 返回:
匹配记录的键列表。
- Parameters
before (Optional[float]) –
after (Optional[float]) –
group_ids (Optional[Sequence[str]]) –
limit (Optional[int]) –
- Return type
List[str]
- abstract update(keys: Sequence[str], *, group_ids: Optional[Sequence[Optional[str]]] = None, time_at_least: Optional[float] = None) None [source]¶
将记录插入数据库。
- 参数:
keys:需要插入的记录键的列表。 group_ids:与键对应的组ID列表。 time_at_least:可选的时间戳。实现可以使用此参数
可选地验证时间戳至少是存储数据的系统中的时间。
例如,用于验证Postgres数据库中的时间是否等于或大于给定时间戳,如果不是,则 抛出错误。
这旨在帮助防止时间漂移问题,因为 时间可能不是单调递增的!
- 引发:
ValueError:如果键的长度与group_ids的长度不匹配。
- Parameters
keys (Sequence[str]) –
group_ids (Optional[Sequence[Optional[str]]]) –
time_at_least (Optional[float]) –
- Return type
None