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]
- 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