langchain_elasticsearch.cache
.ElasticsearchEmbeddingsCache¶
- class langchain_elasticsearch.cache.ElasticsearchEmbeddingsCache(index_name: str, store_input: bool = True, metadata: Optional[Dict[str, Any]] = None, namespace: Optional[str] = None, maximum_duplicates_allowed: int = 1, *, es_url: Optional[str] = None, es_cloud_id: Optional[str] = None, es_user: Optional[str] = None, es_api_key: Optional[str] = None, es_password: Optional[str] = None, es_params: Optional[Dict[str, Any]] = None)[source]¶
用于缓存嵌入的Elasticsearch存储。
通过指定要使用的索引/别名以及确定应在缓存中存储哪些附加信息(如输入、输入参数和任何其他元数据)来初始化Elasticsearch缓存存储。提供名称空间以组织缓存。
- 参数
index_name (str) – 索引的名称或用于缓存的别名。如果它们不存在,将根据 mapping 属性定义的默认映射创建索引。
store_input (bool) – 是否将输入存储在缓存中。默认为 True。
metadata (Optional[dict]) – 要存储在缓存中的额外元数据,用于过滤目的。这必须在 Elasticsearch 文档中可序列化为 JSON。默认为 None。
namespace (Optional[str]) – 用于缓存的命名空间。
maximum_duplicates_allowed (int) – 允许的重复键的最大数量。必须在同一别名下跨越多个索引相同键出现的情况下使用。默认为 1。
es_url (Optional[str]) – 连接到 Elasticsearch 实例的 URL。
es_cloud_id (Optional[str]) – 连接到 Elasticsearch 实例的云 ID。
es_user (Optional[str]) – 连接到 Elasticsearch 时使用的用户名。
es_password (Optional[str]) – 连接到 Elasticsearch 时使用的密码。
es_api_key (Optional[str]) – 连接到 Elasticsearch 时使用的 API 密钥。
es_params (Optional[Dict[str, Any]]) – 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 字符串的形式表示。
mdelete
(keys)删除给定的键及其相关值。
mget
(keys)获取给定键的相关值。
mset
(key_value_pairs)为给定的键设置值。
yield_keys
(*[, prefix])获取与给定前缀匹配的键的迭代器。
- __init__(index_name: str, store_input: bool = True, metadata: Optional[Dict[str, Any]] = None, namespace: Optional[str] = None, maximum_duplicates_allowed: int = 1, *, es_url: Optional[str] = None, es_cloud_id: Optional[str] = None, es_user: Optional[str] = None, es_api_key: Optional[str] = None, es_password: Optional[str] = None, es_params: Optional[Dict[str, Any]] = None)[source]¶
通过指定要使用的索引/别名以及确定应在缓存中存储哪些附加信息(如输入、输入参数和任何其他元数据)来初始化Elasticsearch缓存存储。提供名称空间以组织缓存。
- 参数
index_name (str) – 索引的名称或用于缓存的别名。如果它们不存在,将根据 mapping 属性定义的默认映射创建索引。
store_input (bool) – 是否将输入存储在缓存中。默认为 True。
metadata (Optional[dict]) – 要存储在缓存中的额外元数据,用于过滤目的。这必须在 Elasticsearch 文档中可序列化为 JSON。默认为 None。
namespace (Optional[str]) – 用于缓存的命名空间。
maximum_duplicates_allowed (int) – 允许的重复键的最大数量。必须在同一别名下跨越多个索引相同键出现的情况下使用。默认为 1。
es_url (Optional[str]) – 连接到 Elasticsearch 实例的 URL。
es_cloud_id (Optional[str]) – 连接到 Elasticsearch 实例的云 ID。
es_user (Optional[str]) – 连接到 Elasticsearch 时使用的用户名。
es_password (Optional[str]) – 连接到 Elasticsearch 时使用的密码。
es_api_key (Optional[str]) – 连接到 Elasticsearch 时使用的 API 密钥。
es_params (Optional[Dict[str, Any]]) – Elasticsearch 客户端的其它参数。
- async amdelete(keys: Sequence[K]) None ¶
异步删除给定键及其关联的值。
- 参数
keys (Sequence[K]) – 要删除的键的序列。
- 返回类型
None
- async amget(keys: Sequence[K]) List[Optional[V]] ¶
异步获取与给定键关联的值。
- 参数
keys (Sequence[K]) – 键的序列。
- 返回
与键相关的可选值序列。如果找不到键,对应的值将为None。
- 返回类型
List[Optional[V]]
- async amset(key_value_pairs: Sequence[Tuple[K, V]]) None ¶
异步为给定键设置值。
- 参数
key_value_pairs (Sequence[Tuple[K, V]]) – 键值对的序列。
- 返回类型
None
- async ayield_keys(*, prefix: Optional[str] = None) Union[AsyncIterator[K], AsyncIterator[str]] ¶
异步获取与给定前缀匹配的键的迭代器。
- 参数
prefix (str) – 匹配的前缀。
- 产生
Iterator[K | str] – 返回匹配给定前缀的键的迭代器。此方法可以返回键或str的迭代器,具体取决于存储的上下文。
- 返回类型
Union[AsyncIterator[K], AsyncIterator[str]]
- build_document(text_input: str, vector: bytes) Dict[str, Any] [source]¶
构建存储单个嵌入的 Elasticsearch 文档。
- 参数
text_input (str) –
vector (bytes) –
- 返回类型
Dict[str, Any]
- static encode_vector(data: bytes) str [source]¶
将向量数据编码为字节数据并以 base64 字符串的形式表示。
- 参数
data (bytes) –
- 返回类型
str
- mget(keys: Sequence[str]) List[Optional[bytes]] [source]¶
获取给定键的相关值。
- 参数
keys (Sequence[str]) –
- 返回类型
List[Optional[bytes]]