记录管理器#

class langchain_community.indexes.base.RecordManager(namespace: str)[source]#

记录管理器的抽象基类。

初始化记录管理器。

Parameters:

namespace (str) – 记录管理器的命名空间。

方法

__init__(namespace)

初始化记录管理器。

acreate_schema()

为记录管理器创建数据库模式。

adelete_keys(keys)

从数据库中删除指定的记录。

aexists(keys)

检查提供的键是否存在于数据库中。

aget_time()

获取当前服务器时间作为高分辨率时间戳!

alist_keys(*[, before, after, group_ids, limit])

根据提供的过滤器列出数据库中的记录。

aupdate(keys, *[, group_ids, time_at_least])

将记录插入或更新到数据库中。

create_schema()

为记录管理器创建数据库模式。

delete_keys(keys)

从数据库中删除指定的记录。

exists(keys)

检查提供的键是否存在于数据库中。

get_time()

获取当前服务器时间作为高分辨率时间戳!

list_keys(*[, before, after, group_ids, limit])

根据提供的过滤器列出数据库中的记录。

update(keys, *[, group_ids, time_at_least])

将记录插入或更新到数据库中。

__init__(namespace: str) None[source]#

初始化记录管理器。

Parameters:

namespace (str) – 记录管理器的命名空间。

Return type:

abstract async acreate_schema() None[来源]#

为记录管理器创建数据库模式。

Return type:

abstract async adelete_keys(keys: Sequence[str]) None[source]#

从数据库中删除指定的记录。

Parameters:

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

Return type:

abstract async aexists(keys: Sequence[str]) List[bool][来源]#

检查提供的键是否存在于数据库中。

Parameters:

keys (Sequence[str]) – 要检查的键列表。

Returns:

一个布尔值列表,指示每个键的存在。

Return type:

列表[bool]

abstract async aget_time() float[来源]#

获取当前服务器时间作为高分辨率时间戳!

从服务器获取这一点非常重要,以确保单调时钟,否则在清理旧文档时可能会出现数据丢失!

Returns:

当前服务器时间作为浮点时间戳。

Return type:

浮点数

abstract async alist_keys(*, before: float | None = None, after: float | None = None, group_ids: Sequence[str] | None = None, limit: int | None = None) List[str][来源]#

根据提供的过滤器列出数据库中的记录。

Parameters:
  • before (float | None) – 过滤以列出在此时间之前更新的记录。

  • after (float | None) – 过滤以列出在此时间之后更新的记录。

  • group_ids (Sequence[str] | None) – 过滤以列出具有特定组ID的记录。

  • limit (int | None) – 可选的返回记录数量限制。

Returns:

匹配记录的键列表。

Return type:

列表[str]

abstract async aupdate(keys: Sequence[str], *, group_ids: Sequence[str | None] | None = None, time_at_least: float | None = None) None[来源]#

将记录插入或更新到数据库中。

Parameters:
  • keys (Sequence[str]) – 要插入或更新的记录键列表。

  • group_ids (Sequence[str | None] | None) – 与键对应的组ID列表。

  • time_at_least (float | None) – 如果提供,更新应仅在updated_at字段至少为此时间时发生。

Raises:

ValueError – 如果keys的长度与group_ids的长度不匹配。

Return type:

abstract create_schema() None[来源]#

为记录管理器创建数据库模式。

Return type:

abstract delete_keys(keys: Sequence[str]) None[来源]#

从数据库中删除指定的记录。

Parameters:

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

Return type:

abstract exists(keys: Sequence[str]) List[bool][source]#

检查提供的键是否存在于数据库中。

Parameters:

keys (Sequence[str]) – 要检查的键列表。

Returns:

一个布尔值列表,指示每个键的存在。

Return type:

列表[bool]

abstract get_time() float[来源]#

获取当前服务器时间作为高分辨率时间戳!

从服务器获取这一点非常重要,以确保单调时钟,否则在清理旧文档时可能会出现数据丢失!

Returns:

当前服务器时间作为浮点时间戳。

Return type:

浮点数

abstract list_keys(*, before: float | None = None, after: float | None = None, group_ids: Sequence[str] | None = None, limit: int | None = None) List[str][source]#

根据提供的过滤器列出数据库中的记录。

Parameters:
  • before (float | None) – 过滤以列出在此时间之前更新的记录。

  • after (float | None) – 过滤以列出在此时间之后更新的记录。

  • group_ids (Sequence[str] | None) – 过滤以列出具有特定组ID的记录。

  • limit (int | None) – 可选的返回记录数量限制。

Returns:

匹配记录的键列表。

Return type:

列表[str]

abstract update(keys: Sequence[str], *, group_ids: Sequence[str | None] | None = None, time_at_least: float | None = None) None[source]#

将记录插入或更新到数据库中。

Parameters:
  • keys (Sequence[str]) – 要插入或更新的记录键列表。

  • group_ids (Sequence[str | None] | None) – 与键对应的组ID列表。

  • time_at_least (float | None) – 如果提供,更新应仅在updated_at字段至少为此时间时发生。

Raises:

ValueError – 如果keys的长度与group_ids的长度不匹配。

Return type: