Source code for gptcache.report

[docs]class Report: """Get GPTCache report including time and counts for different operations.""" def __init__(self): self.op_pre = OpCounter() self.op_embedding = OpCounter() self.op_search = OpCounter() self.op_data = OpCounter() self.op_evaluation = OpCounter() self.op_post = OpCounter() self.op_llm = OpCounter() self.op_save = OpCounter() self.hint_cache_count = 0
[docs] def pre(self, delta_time): """Pre-process counts and time. :param delta_time: additional runtime. """ self.op_pre.total_time += delta_time self.op_pre.count += 1
[docs] def embedding(self, delta_time): """Embedding counts and time. :param delta_time: additional runtime. """ self.op_embedding.total_time += delta_time self.op_embedding.count += 1
[docs] def search(self, delta_time): """Search counts and time. :param delta_time: additional runtime. """ self.op_search.total_time += delta_time self.op_search.count += 1
[docs] def data(self, delta_time): """Get data counts and time. :param delta_time: additional runtime. """ self.op_data.total_time += delta_time self.op_data.count += 1
[docs] def evaluation(self, delta_time): """Evaluation counts and time. :param delta_time: additional runtime. """ self.op_evaluation.total_time += delta_time self.op_evaluation.count += 1
[docs] def post(self, delta_time): """Post-process counts and time. :param delta_time: additional runtime. """ self.op_post.total_time += delta_time self.op_post.count += 1
[docs] def llm(self, delta_time): """LLM counts and time. :param delta_time: additional runtime. """ self.op_llm.total_time += delta_time self.op_llm.count += 1
[docs] def save(self, delta_time): """Save counts and time. :param delta_time: additional runtime. """ self.op_save.total_time += delta_time self.op_save.count += 1
[docs] def average_pre_time(self): """Average pre-process time.""" return self.op_pre.average()
[docs] def average_embedding_time(self): """Average embedding time.""" return self.op_embedding.average()
[docs] def average_search_time(self): """Average search time.""" return self.op_search.average()
[docs] def average_data_time(self): """Average data time.""" return self.op_data.average()
[docs] def average_evaluation_time(self): """Average evaluation time.""" return self.op_evaluation.average()
[docs] def average_post_time(self): """Average post-process time.""" return self.op_post.average()
[docs] def average_llm_time(self): """Average LLM time.""" return self.op_llm.average()
[docs] def average_save_time(self): """Average save time.""" return self.op_save.average()
[docs] def hint_cache(self): """hint cache count.""" self.hint_cache_count += 1
[docs]class OpCounter: """Operation counter.""" count = 0 """Operation count.""" total_time = 0 """Total time."""
[docs] def average(self): """Average time.""" return round(self.total_time / self.count, 4) if self.count != 0 else 0