缓存
CacheInterface
基类: ABC
定义缓存实现接口的抽象基类。
此类提供了一个标准接口,所有缓存实现都必须遵循。它支持基本的缓存操作,如获取(get)、设置(set)和键检查(key checking)。
get abstractmethod
set abstractmethod
has_key abstractmethod
检查缓存中是否存在一个键。
参数: key: 要检查的键。
返回值: 如果缓存中存在该键,则为 True;否则为 False。
DiskCacheBackend
基类: CacheInterface
使用 diskcache 库将数据存储在磁盘上的缓存实现。
此缓存后端将数据持久化到磁盘,使其能够在程序运行之间保留。它实现了 CacheInterface,用于 Ragas 缓存功能。
参数: cache_dir (str, 可选): 缓存文件将存储的目录。默认为 ".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: 一个实现缓存行为的装饰函数。