langchain_astradb.storage.AstraDBStore

class langchain_astradb.storage.AstraDBStore(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)[source]

基于DataStax AstraDB作为底层存储的BaseStore实现。

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

AstraDB集合中的文档格式如下

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

  • token (Optional[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_modeSetupMode) – 创建Astra DB集合时使用的模式(SYNC、ASYNC或OFF)。

  • pre_delete_collectionbool) – 是否在创建集合之前删除它。如果为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[Union[str, TokenProvider]], api_endpoint: Optional[str], environment: Optional[str], astra_db_client: Optional[AstraDB], namespace: Optional[str], async_astra_db_client: Optional[AsyncAstraDB], pre_delete_collection: bool = False, setup_mode: SetupMode = SetupMode.SYNC) None[source]

基于DataStax AstraDB作为底层存储的BaseStore实现。

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

AstraDB集合中的文档格式如下

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

  • token (Optional[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 (Optional[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_modeSetupMode) – 创建Astra DB集合时使用的模式(SYNC、ASYNC或OFF)。

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

返回类型

None

async amdelete(keys: Sequence[str]) None

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

参数

keys (Sequence[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[来源]

解码来自Astra DB的值

参数

value (Any) –

返回类型

Any

encode_value(value: Any) Any[来源]

编码用于Astra DB的值

参数

value (Any) –

返回类型

Any

mdelete(keys: Sequence[str]) None

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

参数

keys (Sequence[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 的示例