langchain_astradb.storage.AstraDBByteStore

class langchain_astradb.storage.AstraDBByteStore(*, collection_name: str, token: Optional[Union[str, TokenProvider]] = None, api_endpoint: Optional[str] = None, environment: Optional[str] = None, astra_db_client: Optional[AstraDB] = None, namespace: Optional[str] = None, async_astra_db_client: Optional[AsyncAstraDB] = None, pre_delete_collection: bool = False, setup_mode: SetupMode = SetupMode.SYNC)[源代码]

使用 DataStax AstraDB 作为底层存储的 ByteStore 实现。

字节数据被转换为 base64 编码字符串。在 AstraDB 集合中的文档将具有以下格式:

参数
  • collection_name (str) – 要创建/使用的 Astra DB 集合的名称。

  • token (可选[Union[str, TokenProvider]]) – 用于 Astra DB 的 API 令牌,可以是字符串形式或 astrapy.authentication.TokenProvider 的子类。如果未提供,将检查环境变量 ASTRA_DB_APPLICATION_TOKEN。

  • api_endpoint (可选[str]) – 到API端点的完整URL,例如 https://<DB-ID>-us-east1.apps.astra.datastax.com。如果未提供,将检查环境变量 ASTRA_DB_API_ENDPOINT。

  • environment (可选[str]) – 指定目标数据API的环境的字符串。如果未指定,则默认为“prod”(Astra DB生产)。其他值在 astrapy.constants.Environment 枚举类中。

  • astra_db_client (可选[AstraDB]) – 从版本0.3.5开始弃用。 请使用‘token’,‘api_endpoint’和可选的‘environment’。您可以传递已经创建的‘astrapy.db.AstraDB’实例(代替‘token’,‘api_endpoint’和‘environment’)。

  • async_astra_db_client (可选[AsyncAstraDB]) – 从版本0.3.5开始弃用。 请使用‘token’,‘api_endpoint’和可选的‘environment’。您可以传递已经创建的‘astrapy.db.AsyncAstraDB’实例(代替‘token’,‘api_endpoint’和‘environment’)。

  • namespace (可选[str]) – 创建集合的命名空间(也称为键空间)。如果未提供,则检查环境变量 ASTRA_DB_KEYSPACE。默认为数据库的“默认命名空间”。

  • setup_mode (SetupMode) – 创建Astra DB集合时使用的模式(SYNC,ASYNC或OFF)。

  • pre_delete_collection (bool) – 是否在创建集合之前删除它。如果为False且集合已存在,则将按原样使用集合。

方法

__init__(*, collection_name[, token, ...])

使用 DataStax AstraDB 作为底层存储的 ByteStore 实现。

amdelete(keys)

异步删除指定的键及其相关值。

amget(keys)

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

amset(key_value_pairs)

异步设置给定键的值。

ayield_keys(*[, prefix])

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

decode_value(value)

从Astra DB解码值

encode_value(value)

为Astra DB编码值

mdelete(keys)

删除指定的键及其相关值。

mget(keys)

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

mset(key_value_pairs)

为给定键设置值。

yield_keys(*[, prefix])

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

__init__(*, collection_name: str, token: Optional[Union[str, TokenProvider]] = None, api_endpoint: Optional[str] = None, environment: Optional[str] = None, astra_db_client: Optional[AstraDB] = None, namespace: Optional[str] = None, async_astra_db_client: Optional[AsyncAstraDB] = None, pre_delete_collection: bool = False, setup_mode: SetupMode = SetupMode.SYNC) None[源代码]

使用 DataStax AstraDB 作为底层存储的 ByteStore 实现。

字节数据被转换为 base64 编码字符串。在 AstraDB 集合中的文档将具有以下格式:

参数
  • collection_name (str) – 要创建/使用的 Astra DB 集合的名称。

  • token (可选[Union[str, TokenProvider]]) – 用于 Astra DB 的 API 令牌,可以是字符串形式或 astrapy.authentication.TokenProvider 的子类。如果未提供,将检查环境变量 ASTRA_DB_APPLICATION_TOKEN。

  • api_endpoint (可选[str]) – 到API端点的完整URL,例如 https://<DB-ID>-us-east1.apps.astra.datastax.com。如果未提供,将检查环境变量 ASTRA_DB_API_ENDPOINT。

  • environment (可选[str]) – 指定目标数据API的环境的字符串。如果未指定,则默认为“prod”(Astra DB生产)。其他值在 astrapy.constants.Environment 枚举类中。

  • astra_db_client (可选[AstraDB]) – 从版本 0.3.5 开始已弃用。 请使用‘token’,‘api_endpoint’和可选的‘environment’。 您可以传递一个已创建的‘astrapy.db.AstraDB’实例(作为‘token’,‘api_endpoint’和‘environment’的替代方案)。

  • async_astra_db_client (可选[AsyncAstraDB]) – 从版本0.3.5开始弃用。 请使用‘token’,‘api_endpoint’和可选的‘environment’。您可以传递已经创建的‘astrapy.db.AsyncAstraDB’实例(代替‘token’,‘api_endpoint’和‘environment’)。

  • namespace (可选[str]) – 创建集合的命名空间(也称为键空间)。如果未提供,则检查环境变量 ASTRA_DB_KEYSPACE。默认为数据库的“默认命名空间”。

  • setup_mode (SetupMode) – 创建Astra DB集合时使用的模式(SYNC,ASYNC或OFF)。

  • pre_delete_collection (bool) – 是否在创建集合之前删除它。如果为False且集合已存在,则将按原样使用集合。

返回类型

async amdelete(keys: Sequence[str]) None

异步删除指定的键及其相关值。

参数

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

返回类型

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

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

参数

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

返回值

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

返回类型

List[Optional[V]]

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

异步设置给定键的值。

参数

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

返回类型

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

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

参数

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

产出

Iterator[K | str] – 一个迭代器,它遍历与给定前缀匹配的键。此方法允许返回K或str迭代器,具体取决于哪个对特定存储更有意义。

返回类型

AsyncIterator[str]

decode_value(value: Any) Optional[bytes][source]

从Astra DB解码值

参数

value (Any) –

返回类型

Optional[bytes]

encode_value(value: Optional[bytes]) Any[源代码]

为Astra DB编码值

参数

value (Optional[bytes]) –

返回类型

任意类型

mdelete(keys: Sequence[str]) None

删除指定的键及其相关值。

参数

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

返回类型

mget(keys: Sequence[str]) List[Optional[V]]

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

参数

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

返回值

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

返回类型

List[Optional[V]]

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

为给定键设置值。

参数

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

返回类型

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

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

参数

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

产出

Iterator[K | str] – 一个迭代器,它遍历与给定前缀匹配的键。此方法允许返回K或str迭代器,具体取决于哪个对特定存储更有意义。

返回类型

str 迭代器

使用 AstraDBByteStore 的示例