异步Elasticsearch嵌入缓存#

class langchain_elasticsearch.cache.AsyncElasticsearchEmbeddingsCache(index_name: str, store_input: bool = True, metadata: Dict[str, Any] | None = None, namespace: str | None = None, maximum_duplicates_allowed: int = 1, *, es_url: str | None = None, es_cloud_id: str | None = None, es_user: str | None = None, es_api_key: str | None = None, es_password: str | None = None, es_params: Dict[str, Any] | None = None)[来源]#

通过指定要使用的索引/别名并确定应存储在缓存中的其他信息(如输入、输入参数和任何其他元数据)来初始化Elasticsearch缓存存储。提供一个命名空间来组织缓存。

Parameters:
  • index_name (str) – 用于缓存的索引名称或别名。 如果它们不存在,则会根据mapping属性定义的默认映射创建一个索引。

  • store_input (bool) – 是否将输入存储在缓存中。 默认为 True。

  • metadata (Optional[dict]) – 用于存储在缓存中的附加元数据,用于过滤目的。这必须是Elasticsearch文档中可JSON序列化的。默认为None。

  • namespace (可选[str]) – 用于缓存的命名空间。

  • maximum_duplicates_allowed (int) – 定义允许的最大重复键数。必须在多个共享相同别名的索引中出现相同键的场景中使用。默认为1。

  • es_url (str | None) – 要连接的Elasticsearch实例的URL。

  • es_cloud_id (str | None) – 要连接的Elasticsearch实例的云ID。

  • es_user (str | None) – 连接到Elasticsearch时使用的用户名。

  • es_password (str | None) – 连接到Elasticsearch时使用的密码。

  • es_api_key (str | None) – 连接到Elasticsearch时使用的API密钥。

  • es_params (Dict[str, Any] | None) – Elasticsearch客户端的其他参数。

属性

mapping

获取索引的默认映射。

方法

__init__(index_name[, store_input, ...])

通过指定要使用的索引/别名并确定应存储在缓存中的其他信息(如输入、输入参数和任何其他元数据)来初始化Elasticsearch缓存存储。

amdelete(keys)

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

amget(keys)

获取与给定键关联的值。

amset(key_value_pairs)

为给定的键设置值。

ayield_keys(*[, prefix])

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

build_document(text_input, vector)

构建用于存储单个嵌入的Elasticsearch文档

decode_vector(data)

将base64字符串解码为字节形式的向量数据。

encode_vector(data)

将向量数据编码为字节,并转换为base64字符串。

is_alias()

mdelete(keys)

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

mget(keys)

获取与给定键关联的值。

mset(key_value_pairs)

设置给定键的值。

yield_keys(*[, prefix])

获取一个迭代器,用于遍历与给定前缀匹配的键。

__init__(index_name: str, store_input: bool = True, metadata: Dict[str, Any] | None = None, namespace: str | None = None, maximum_duplicates_allowed: int = 1, *, es_url: str | None = None, es_cloud_id: str | None = None, es_user: str | None = None, es_api_key: str | None = None, es_password: str | None = None, es_params: Dict[str, Any] | None = None)[来源]#

通过指定要使用的索引/别名并确定应存储在缓存中的其他信息(如输入、输入参数和任何其他元数据)来初始化Elasticsearch缓存存储。提供一个命名空间来组织缓存。

Parameters:
  • index_name (str) – 用于缓存的索引名称或别名。 如果它们不存在,则会根据mapping属性定义的默认映射创建一个索引。

  • store_input (bool) – 是否将输入存储在缓存中。 默认为 True。

  • metadata (Optional[dict]) – 用于存储在缓存中的附加元数据,用于过滤目的。这必须是Elasticsearch文档中可JSON序列化的。默认为None。

  • namespace (可选[str]) – 用于缓存的命名空间。

  • maximum_duplicates_allowed (int) – 定义允许的最大重复键数。必须在多个共享相同别名的索引中出现相同键的场景中使用。默认为1。

  • es_url (str | None) – 要连接的Elasticsearch实例的URL。

  • es_cloud_id (str | None) – 要连接的Elasticsearch实例的云ID。

  • es_user (str | None) – 连接到Elasticsearch时使用的用户名。

  • es_password (str | None) – 连接到Elasticsearch时使用的密码。

  • es_api_key (str | None) – 连接到Elasticsearch时使用的API密钥。

  • es_params (Dict[str, Any] | None) – Elasticsearch客户端的其他参数。

async amdelete(keys: Sequence[str]) None[source]#

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

Parameters:

keys (序列[字符串])

Return type:

async amget(keys: Sequence[str]) List[bytes | None][source]#

获取与给定键关联的值。

Parameters:

keys (序列[字符串])

Return type:

列表[字节 | 无]

async amset(key_value_pairs: Sequence[Tuple[str, bytes]]) None[source]#

为给定的键设置值。

Parameters:

key_value_pairs (Sequence[Tuple[str, bytes]])

Return type:

async ayield_keys(*, prefix: str | None = None) AsyncIterator[str][source]#

获取一个迭代器,用于遍历与给定前缀匹配的键。

Parameters:

prefix (str | None)

Return type:

AsyncIterator[str]

build_document(text_input: str, vector: bytes) Dict[str, Any][source]#

构建用于存储单个嵌入的Elasticsearch文档

Parameters:
  • text_input (str)

  • 向量 (字节)

Return type:

Dict[str, Any]

static decode_vector(data: str) bytes[source]#

将base64字符串解码为字节形式的向量数据。

Parameters:

数据 (字符串)

Return type:

字节

static encode_vector(data: bytes) str[来源]#

将向量数据编码为字节,作为base64字符串。

Parameters:

数据 (字节)

Return type:

字符串

async is_alias() bool[来源]#
Return type:

布尔

mdelete(keys: Sequence[str]) None[source]#

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

Parameters:

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

Return type:

mget(keys: Sequence[str]) List[bytes | None][source]#

获取与给定键关联的值。

Parameters:

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

Returns:

与键相关联的一系列可选值。 如果未找到键,则对应的值将为None。

Return type:

列表[字节 | 无]

mset(key_value_pairs: Sequence[Tuple[str, bytes]]) None[source]#

为给定的键设置值。

Parameters:

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

Return type:

yield_keys(*, prefix: str | None = None) Iterator[str][source]#

获取一个迭代器,用于遍历与给定前缀匹配的键。

Parameters:

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

Yields:

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

Return type:

迭代器[str]