Cache
CacheInterface
基础: ABC
抽象基类,定义了缓存实现的接口。
该类提供了所有缓存实现必须遵循的标准接口。它支持基本的缓存操作,如 get、set 和键检查。
get
abstractmethod
根据键从缓存中检索一个值。
参数: key: 要在缓存中查找的键.
返回: 与键关联的缓存值。
设置
abstractmethod
使用给定的键将一个值存储到缓存中。
参数: key: 用于存储该值的键。 value: 要缓存的值。
has_key
abstractmethod
检查缓存中是否存在指定键。
参数: key: 要检查的键。
返回:True(如果 key 存在于缓存中),否则为 False。
DiskCacheBackend
基类: CacheInterface
一个使用 diskcache 库将数据存储到磁盘上的缓存实现。
此缓存后端将数据持久化到磁盘,使其能在程序运行之间持续存在。 它实现了 CacheInterface,以用于 Ragas 的缓存功能。
参数: cache_dir (str, optional): 存放缓存文件的目录。默认值为 ".cache".
Source code in ragas/src/ragas/cache.py
获取
根据键从磁盘缓存中检索值。
参数: key: 用于在缓存中查找的键。
返回: 与键关联的缓存值,如果未找到则为 None。
设置
使用给定的 key 将一个值存储到磁盘缓存中。
参数: key: 用于存储该值的键。 value: 要缓存的值。
has_key
检查磁盘缓存中是否存在某个键。
参数: key: 要检查的键。
返回:如果键存在于缓存中则为 True,否则为 False。
缓存器
cacher(cache_backend: Optional[CacheInterface] = None)
装饰器,用于为函数添加缓存功能。
此装饰器可应用于同步和异步函数,以缓存其结果。如果未提供缓存后端,则按原样返回原始函数。
Args: cache_backend (Optional[CacheInterface]): 用于存储结果的缓存后端。 如果 None,缓存被禁用。
Returns: Callable: 一个被装饰的函数,实现缓存行为。