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_mode (SetupMode) – 创建Astra DB集合时使用的模式(SYNC、ASYNC或OFF)。
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[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_mode (SetupMode) – 创建Astra DB集合时使用的模式(SYNC、ASYNC或OFF)。
pre_delete_collection (bool) – 是否在创建集合之前删除它。如果为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]
- 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]