缓存
CacheInterface
Bases: ABC
定义缓存实现接口的抽象基类。
该类为所有缓存实现必须遵循的标准接口。它支持如 get、set 和 key 检查等基本缓存操作。
get abstractmethod
set abstractmethod
has_key abstractmethod
检查缓存中是否存在某个键。
参数: key: 要检查的键。
返回: 如果键存在于缓存中则为 True,否则为 False。
DiskCacheBackend
Bases: CacheInterface
一个使用 diskcache 库将数据存储在磁盘上的缓存实现。
该缓存后端将数据持久化到磁盘,使其能够在程序运行之间保持。它实现了 CacheInterface 接口,以便与 Ragas 的缓存功能配合使用。
参数: cache_dir (str, optional): 缓存文件将存储的目录。默认为 ".cache"。
源代码位于 src/ragas/cache.py
get
通过键从磁盘缓存中检索值。
参数: key: 要在缓存中查找的键。
返回: 与键关联的缓存值,如果未找到则返回 None。
set
使用给定的键在磁盘缓存中存储一个值。
参数: key: 用于存储值的键。 value: 要缓存的值。
has_key
检查磁盘缓存中是否存在某个键。
参数: key: 要检查的键。
返回: 如果键存在于缓存中则为 True,否则为 False。
cacher
cacher(cache_backend: Optional[CacheInterface] = None)
为函数添加缓存功能的装饰器。
此装饰器可应用于同步和异步函数,以缓存其结果。如果未提供缓存后端,则原函数将不加改变地返回。
参数: cache_backend (Optional[CacheInterface]): 用于存储结果的缓存后端。如果为 None,则禁用缓存。
返回: Callable: 一个实现了缓存行为的装饰后函数。