langchain_community.cache.GPTCache

class langchain_community.cache.GPTCache(init_func: Optional[Union[Callable[[Any, str], None], Callable[[Any], None]]] = None)[源代码]

使用 GPTCache 作为后端缓存的缓存。

通过传递初始化函数进行初始化(默认:None)。

参数
  • init_func (可选[Callable[[任何], None]]) – 初始化 GPTCache 函数

  • (默认None)

示例:.. code-block:: python

# 使用自定义初始化函数初始化 GPTCache import gptcache from gptcache.processor.pre import get_prompt from gptcache.manager.factory import get_data_manager from langchain_community.globals import set_llm_cache

# 避免使用同一文件进行多次缓存,导致不同的 llm 模型缓存相互影响

def init_gptcache(cache_obj: gptcache.Cache, llm str)
cache_obj.init(

pre_embedding_func=get_prompt, data_manager=manager_factory(

manager=”map”, data_dir=f”map_cache_{llm}”

),

)

set_llm_cache(GPTCache(init_gptcache))

方法

__init__([初始化函数])

通过传递初始化函数进行初始化(默认:None)。

aclear(**kwargs)

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

alookup(prompt, llm_string)

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

aupdate(prompt, llm_string, return_val)

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

clear(**kwargs)

清除缓存。

lookup(prompt, llm_string)

查找缓存数据。

update(prompt, llm_string, return_val)

更新缓存。

__init__(init_func: Optional[Union[Callable[[Any, str], None], Callable[[Any], None]] = None)[source]

通过传递初始化函数进行初始化(默认:None)。

参数
  • init_func (可选[Callable[[任何], None]]) – 初始化 GPTCache 函数

  • (默认None)

示例:.. code-block:: python

# 使用自定义初始化函数初始化 GPTCache import gptcache from gptcache.processor.pre import get_prompt from gptcache.manager.factory import get_data_manager from langchain_community.globals import set_llm_cache

# 避免使用同一文件进行多次缓存,导致不同的 llm 模型缓存相互影响

def init_gptcache(cache_obj: gptcache.Cache, llm str)
cache_obj.init(

pre_embedding_func=get_prompt, data_manager=manager_factory(

manager=”map”, data_dir=f”map_cache_{llm}”

),

)

set_llm_cache(GPTCache(init_gptcache))

async aclear(**kwargs: Any) None

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

参数

参数

(Any) kwargs

返回类型

None

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

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

参数
  • 缓存实现应从包含提示符和llm_string的二元组中生成密钥。

  • 参数

prompt (str)

提示符的字符串表示。对于会话模型,提示符是将提示序列化为语言模型的非平凡序列化。

(Any) kwargs

llm_string (str)

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

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

提示符和llm_string被用来生成缓存的关键字。关键字应与查找方法的匹配。

参数
  • 缓存实现应从包含提示符和llm_string的二元组中生成密钥。

  • 参数

  • return_val (Sequence[Generation]) – 要缓存的值。值是一个Generations(或子类)的列表。

(Any) kwargs

返回类型

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

清除缓存。

参数

参数

(Any) kwargs

返回类型

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

查找缓存数据。首先使用llm_string参数检索相应的缓存对象,然后根据prompt从缓存中检索数据。

参数
  • prompt (str) –

  • llm_string (str) –

(Any) kwargs

llm_string (str)

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

更新缓存。首先,使用 llm_string 参数检索相应的缓存对象,然后将 promptreturn_val 存储在缓存对象中。

参数
  • prompt (str) –

  • llm_string (str) –

  • return_val (序列[生成]) -

(Any) kwargs

返回类型

使用 GPTCache 的示例