langchain_elasticsearch.cache.ElasticsearchCache

class langchain_elasticsearch.cache.ElasticsearchCache(index_name: str, store_input: bool = True, store_input_params: bool = True, metadata: Optional[Dict[str, Any]] = None, *, 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]

用于 LLM 的 Elasticsearch 缓存集成。

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

参数
  • index_name (str) – 索引名称或用于缓存的别名。如果它们不存在,将根据由 mapping 属性定义的默认映射创建索引。

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

  • store_input_params (bool) – 是否将输入参数存储在缓存中,即用于生成 LLM 反应的 LLM 参数。默认为 True。

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

  • 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 缓存存储。

aclear(**kwargs)

异步清除缓存,可以接受额外的关键字参数。

alookup(prompt, llm_string)

基于提示和 llm_string 的异步查找。

aupdate(prompt, llm_string, return_val)

根据提示和 llm_string 异步更新缓存。

build_document(prompt, llm_string, return_val)

为存储单个 LLM 交互构建 Elasticsearch 文档。

clear(**kwargs)

清除缓存。

lookup(prompt, llm_string)

根据提示和 llm_string 查找。

update(prompt, llm_string, return_val)

根据提示和 llm_string 更新。

__init__(index_name: str, store_input: bool = True, store_input_params: bool = True, metadata: Optional[Dict[str, Any]] = None, *, 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)[源代码]

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

参数
  • index_name (str) – 索引名称或用于缓存的别名。如果它们不存在,将根据由 mapping 属性定义的默认映射创建索引。

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

  • store_input_params (bool) – 是否将输入参数存储在缓存中,即用于生成 LLM 反应的 LLM 参数。默认为 True。

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

  • 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 aclear(**kwargs: Any) None

异步清除缓存,可以接受额外的关键字参数。

参数

kwargs (任意类型) –

返回类型

None

async alookup(prompt: str, llm_string: str) Optional[序列[Generation]]

基于提示和 llm_string 的异步查找。

缓存实现应从提示和llm_string的两元组中生成一个键(例如,通过使用分隔符连接它们)。

参数
  • prompt (str) – 提示的字符串表示。对于聊天模型,提示是对语言模型的提示的非平凡序列化。

  • llm_string (str) – LLM配置的字符串表示。这用于捕获LLM的调用参数(例如,模型名称、温度、停止令牌、最大令牌等)。这些调用参数序列化为字符串表示。

返回值

在缓存未命中时返回None。在缓存命中时返回缓存的值。缓存的值是Generation(或子类)列表。

返回类型

Optional[Sequence[Generation]]

async aupdate(prompt: str, llm_string: str, return_val: Sequence[Generation]) None

根据提示和 llm_string 异步更新缓存。

提示和llm_string用于生成缓存键。该键应与查找方法的键匹配。

参数
  • prompt (str) – 提示的字符串表示。对于聊天模型,提示是对语言模型的提示的非平凡序列化。

  • llm_string (str) – LLM配置的字符串表示。这用于捕获LLM的调用参数(例如,模型名称、温度、停止令牌、最大令牌等)。这些调用参数序列化为字符串表示。

  • return_val (SequenceGeneration]) – 要缓存的值。该值是Generation(或子类)列表。

返回类型

None

build_document(prompt: str, llm_string: str, return_val: Sequence[Generation]) Dict[str, Any][source]

为存储单个 LLM 交互构建 Elasticsearch 文档。

参数
  • prompt (str) –

  • llm_string (str) –

  • return_val (Sequence[Generation]) –

返回类型

Dict[str, Any]

clear(**kwargs: Any) None[source]

清除缓存。

参数

kwargs (任意类型) –

返回类型

None

lookup(prompt: str, llm_string: str) Optional[Sequence[Generation]][source]

根据提示和 llm_string 查找。

参数
  • prompt (str) –

  • llm_string (str) –

返回类型

Optional[Sequence[Generation]]

update(prompt: str, llm_string: str, return_val: Sequence[Generation]) None[source]

根据提示和 llm_string 更新。

参数
  • prompt (str) –

  • llm_string (str) –

  • return_val (Sequence[Generation]) –

返回类型

None