langchain_mongodb.cache.MongoDBCache

class langchain_mongodb.cache.MongoDBCache(connection_string: str, collection_name: str = 'default', database_name: str = 'default', **kwargs: Dict[str, Any])[来源]

MongoDB Atlas高速缓存

使用MongoDB Atlas作为后端的高速缓存

初始化Atlas高速缓存。在实例化时创建集合

参数
  • collection_name (str) – 保存缓存数据使用的集合名称。默认为“default”。

  • connection_string (str) – 连接到MongoDB Atlas的连接URI。默认为“default”。

  • database_name (str) – 保存缓存数据使用的数据库名称。默认为“default”。

  • kwargs (Dict[str, Any]) –

属性

LLM

PROMPT

RETURN_VAL

collection

返回用于存储缓存值使用的集合。

database

返回用于存储缓存值的数据库。

方法

__init__(connection_string[, ...])

初始化Atlas高速缓存。

aclear(**kwargs)

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

alookup(prompt, llm_string)

根据提示和llm_string进行异步查找。

aupdate(prompt, llm_string, return_val)

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

clear(**kwargs)

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

lookup(prompt, llm_string)

根据提示和llm_string进行查找。

update(prompt, llm_string, return_val)

根据提示和llm_string更新缓存。

__init__(connection_string: str, collection_name: str = 'default', database_name: str = 'default', **kwargs: Dict[str, Any]) None[源代码]

初始化Atlas高速缓存。在实例化时创建集合

参数
  • collection_name (str) – 保存缓存数据使用的集合名称。默认为“default”。

  • connection_string (str) – 连接到MongoDB Atlas的连接URI。默认为“default”。

  • database_name (str) – 保存缓存数据使用的数据库名称。默认为“default”。

  • kwargs (Dict[str, Any]) –

返回类型

None

async aclear(**kwargs: Any) None

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

参数

kwargs (Any) –

返回类型

None

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

根据提示和llm_string进行异步查找。

期望缓存实现能够从提示(prompt)和LLM字符串(llm_string)的二元组生成一个键(例如,通过分隔符拼接它们)。

参数
  • prompt (str) – 提示的字符串表示形式。对于Chat模型,提示被非平凡序列化为语言模型。

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

返回

缓存未命中时返回None。当缓存命中时,返回缓存的值。缓存的值是生成列表(或子类)。

返回类型

Optional[Sequence[Generation]]

async aupdate(prompt: str, llm_string: str, return_val: 序列[生成器]) None

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

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

参数
  • prompt (str) – 提示的字符串表示形式。对于Chat模型,提示被非平凡序列化为语言模型。

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

  • return_val (序列[生成器]) – 要缓存的值。该值是一个生成器(或其子类)的列表。

返回类型

None

clear(**kwargs: Any) None

清除缓存可接受额外的关键字参数。任何额外的参数都将以筛选条件的形式传播,以确定哪些内容将被删除。

例如:

# 仅删除llm_string为“fake-model”的条目 self.clear(llm_string="fake-model")

参数

kwargs (Any) –

返回类型

None

lookup(prompt: str, llm_string: str) Optional[序列[生成器]][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