langchain_community.storage.astradb.AstraDBStore

class langchain_community.storage.astradb.AstraDBStore(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.AstraDBStore 代替。

使用 DataStax AstraDB 作为基础存储的 BaseStore 实现。

值类型可以是任何能通过 json.dumps 序列化的类型。可用于存储与 CacheBackedEmbeddings 一起使用的嵌入。

AstraDB 集合中的文档将具有以下格式

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

  • token (可选字符串) – Astra DB 使用时的 API 令牌。

  • api_endpoint (可选字符串) – API 端点的完整 URL,例如 https://<DB-ID>-us-east1.apps.astra.datastax.com

  • astra_db_client (可选字符串) – 替代方法 token+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 作为基础存储的 BaseStore 实现。

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 作为基础存储的 BaseStore 实现。

值类型可以是任何能通过 json.dumps 序列化的类型。可用于存储与 CacheBackedEmbeddings 一起使用的嵌入。

AstraDB 集合中的文档将具有以下格式

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

  • token (可选字符串) – Astra DB 使用时的 API 令牌。

  • api_endpoint (可选字符串) – API 端点的完整 URL,例如 https://<DB-ID>-us-east1.apps.astra.datastax.com

  • astra_db_client (可选字符串) – 替代方法 token+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

async amdelete(keys: Sequence[str]) None

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

参数

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

返回类型

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) Any[source]

从Astra DB解码值

参数

value (Any) –

返回类型

任何

encode_value(value: Any) Any[source]

将值编码为Astra DB

参数

value (Any) –

返回类型

任何

mdelete(keys: Sequence[str]) None

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

参数

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

返回类型

None

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

返回类型

None

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

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

参数

prefix (str) – 匹配的前缀。

产生

Iterator[K | str] – 一个迭代器,遍历与给定前缀匹配的键。此方法允许返回 K 或 str 的迭代器,具体取决于给定存储器的适用性。

返回类型

Iterator[str]

使用 AstraDBStore 的示例