异步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:
字符串
- 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:
列表[字节 | 无]