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 decode_vector(data: str) bytes[source]

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

参数

data (str) –

返回类型

bytes

static encode_vector(data: bytes) str[source]

将向量数据编码为字节数据并以 base64 字符串的形式表示。

参数

data (bytes) –

返回类型

str

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

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

参数

keys (Sequence[str]) –

返回类型

None

mget(keys: Sequence[str]) List[Optional[bytes]][source]

获取给定键的相关值。

参数

keys (Sequence[str]) –

返回类型

List[Optional[bytes]]

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

为给定的键设置值。

参数

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

返回类型

None

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

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

参数

prefix (Optional[str]) –

返回类型

Iterator[str]