Toggle Menu
Prev Up Next

# `langchain_community.indexes.base`.RecordManager

class langchain_community.indexes.base.RecordManager(namespace: str)

  Abstract base class for a record manager.

  Initialize the record manager.

  Parameters

    namespace (str) – The namespace for the record manager.

  Methods

  `__init__`(namespace) | Initialize the record manager.
  `acreate_schema`() | Create the database schema for the record manager.
  `adelete_keys`(keys) | Delete specified records from the database.
  `aexists`(keys) | Check if the provided keys exist in the database.
  `aget_time`() | Get the current server time as a high resolution timestamp!
  `alist_keys`(*[, before, after, group_ids, limit]) | List records in the database based on the provided filters.
  `aupdate`(keys, *[, group_ids, time_at_least]) | Upsert records into the database.
  `create_schema`() | Create the database schema for the record manager.
  `delete_keys`(keys) | Delete specified records from the database.
  `exists`(keys) | Check if the provided keys exist in the database.
  `get_time`() | Get the current server time as a high resolution timestamp!
  `list_keys`(*[, before, after, group_ids, limit]) | List records in the database based on the provided filters.
  `update`(keys, *[, group_ids, time_at_least]) | Upsert records into the database.

  __init__(namespace: str) → None

    Initialize the record manager.

    Parameters

      namespace (str) – The namespace for the record manager.

    Return type

      None

  abstract async acreate_schema() → None

    Create the database schema for the record manager.

    Return type

      None

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

    Delete specified records from the database.

    Parameters

      keys (Sequence[str]) – A list of keys to delete.

    Return type

      None

  abstract async aexists(keys: Sequence[str]) → List[bool]

    Check if the provided keys exist in the database.

    Parameters

      keys (Sequence[str]) – A list of keys to check.

    Returns

      A list of boolean values indicating the existence of each key.

    Return type

      List[bool]

  abstract async aget_time() → float

    Get the current server time as a high resolution timestamp!

    It’s important to get this from the server to ensure a monotonic clock, otherwise there may be data loss when cleaning up old documents!

    Returns

      The current server time as a float timestamp.

    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]

    List records in the database based on the provided filters.

    Parameters

      - before (Optional[float]) – Filter to list records updated before this time.

      - after (Optional[float]) – Filter to list records updated after this time.

      - group_ids (Optional[Sequence[str]]) – Filter to list records with specific group IDs.

      - limit (Optional[int]) – optional limit on the number of records to return.

    Returns

      A list of keys for the matching records.

    Return type

      List[str]

  abstract async aupdate(keys: Sequence[str], *, group_ids: Optional[Sequence[Optional[str]]] = None, time_at_least: Optional[float] = None) → None

    Upsert records into the database.

    Parameters

      - keys (Sequence[str]) – A list of record keys to upsert.

      - group_ids (Optional[Sequence[Optional[str]]]) – A list of group IDs corresponding to the keys.

      - time_at_least (Optional[float]) – if provided, updates should only happen if the updated_at field is at least this time.

    Raises

      ValueError – If the length of keys doesn’t match the length of group_ids.

    Return type

      None

  abstract create_schema() → None

    Create the database schema for the record manager.

    Return type

      None

  abstract delete_keys(keys: Sequence[str]) → None

    Delete specified records from the database.

    Parameters

      keys (Sequence[str]) – A list of keys to delete.

    Return type

      None

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

    Check if the provided keys exist in the database.

    Parameters

      keys (Sequence[str]) – A list of keys to check.

    Returns

      A list of boolean values indicating the existence of each key.

    Return type

      List[bool]

  abstract get_time() → float

    Get the current server time as a high resolution timestamp!

    It’s important to get this from the server to ensure a monotonic clock, otherwise there may be data loss when cleaning up old documents!

    Returns

      The current server time as a float timestamp.

    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]

    List records in the database based on the provided filters.

    Parameters

      - before (Optional[float]) – Filter to list records updated before this time.

      - after (Optional[float]) – Filter to list records updated after this time.

      - group_ids (Optional[Sequence[str]]) – Filter to list records with specific group IDs.

      - limit (Optional[int]) – optional limit on the number of records to return.

    Returns

      A list of keys for the matching records.

    Return type

      List[str]

  abstract update(keys: Sequence[str], *, group_ids: Optional[Sequence[Optional[str]]] = None, time_at_least: Optional[float] = None) → None

    Upsert records into the database.

    Parameters

      - keys (Sequence[str]) – A list of record keys to upsert.

      - group_ids (Optional[Sequence[Optional[str]]]) – A list of group IDs corresponding to the keys.

      - time_at_least (Optional[float]) – if provided, updates should only happen if the updated_at field is at least this time.

    Raises

      ValueError – If the length of keys doesn’t match the length of group_ids.

    Return type

      None