langchain社区存储模块.astradb.AstraDB字节存储

class langchain_community.storage.astradb.AstraDBByteStore(collection_name: str, token: Optional[str] = None, api_endpoint: 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)[source]

自版本 0.0.22 起已弃用: 请使用 langchain_astradb.AstraDBByteStore 代替。

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

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

{
  "_id": "<key>",
  "value": "<byte64 string value>"
}
参数
  • collection_name (str) – 要创建/使用的 Astra DB 集合名称。

  • token (可选[str]) – Astra DB 使用 API 令牌。

  • api_endpoint (可选[str]) – 连接到 API 端点的完整 URL,例如 https://<DB-ID>-us-east1.apps.astra.datastax.com

  • astra_db_client (可选[AstraDB]) – 相对令牌+api_endpoint 的替代方案,您可以传递一个已经创建的 ‘astrapy.db.AstraDB’ 实例。

  • async_astra_db_client (可选[AsyncAstraDB]) – token+api_endpoint的替代方案,您可以将已创建的‘astrapy.db.AsyncAstraDB’实例传递。

  • namespace (可选[str]) – 创建集合的命名空间(也称为键空间)。默认为数据库的“默认命名空间”。

  • setup_mode (SetupMode) – 创建 Astra DB 集合使用的模式(同步、异步或关闭)。

  • 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[str] = None, api_endpoint: 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 集合中的文档将具有以下格式

{
  "_id": "<key>",
  "value": "<byte64 string value>"
}
参数
  • collection_name (str) – 要创建/使用的 Astra DB 集合名称。

  • token (可选[str]) – Astra DB 使用 API 令牌。

  • api_endpoint (可选[str]) – 连接到 API 端点的完整 URL,例如 https://<DB-ID>-us-east1.apps.astra.datastax.com

  • astra_db_client (可选[AstraDB]) – 相对令牌+api_endpoint 的替代方案,您可以传递一个已经创建的 ‘astrapy.db.AstraDB’ 实例。

  • async_astra_db_client (可选[AsyncAstraDB]) – token+api_endpoint的替代方案,您可以将已创建的‘astrapy.db.AsyncAstraDB’实例传递。

  • namespace (可选[str]) – 创建集合的命名空间(也称为键空间)。默认为数据库的“默认命名空间”。

  • setup_mode (SetupMode) – 创建 Astra DB 集合使用的模式(同步、异步或关闭)。

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

返回类型

None

asyncamdelete(keys: Sequence[str]) None

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

参数

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

返回类型

None

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]]) – 一系列的键值对。

返回类型

None

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]) 任何[来源]

为 Astra DB 编码值。

参数

value (可选[bytes]) –

返回类型

任何

mdelete(keys: Sequence[str]) None

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

参数

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

返回类型

None

mget(keys: Sequence[str]) 列表[可选[V]]

获取与给定键关联的值。

参数

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

返回

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

返回类型

List[Optional[V]]

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

为给定的键设置值。

参数

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

返回类型

None

yield_keys(*, prefix: 可选[字符串] = None) 迭代器[字符串]

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

参数

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

产生

Iterator[K | str] – 迭代与给定前缀匹配的键。此方法可以返回 K 或 str 的迭代器,具体取决于哪个对于给定的存储更为合理。

返回类型

迭代器[str]

使用 AstraDBByteStore 的示例