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]
- 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 迭代器