2
"""Get GPTCache report including time and counts for different operations."""
5
self.op_pre = OpCounter()
6
self.op_embedding = OpCounter()
7
self.op_search = OpCounter()
8
self.op_data = OpCounter()
9
self.op_evaluation = OpCounter()
10
self.op_post = OpCounter()
11
self.op_llm = OpCounter()
12
self.op_save = OpCounter()
13
self.hint_cache_count = 0
15
def pre(self, delta_time):
16
"""Pre-process counts and time.
18
:param delta_time: additional runtime.
20
self.op_pre.total_time += delta_time
21
self.op_pre.count += 1
23
def embedding(self, delta_time):
24
"""Embedding counts and time.
26
:param delta_time: additional runtime.
28
self.op_embedding.total_time += delta_time
29
self.op_embedding.count += 1
31
def search(self, delta_time):
32
"""Search counts and time.
34
:param delta_time: additional runtime.
36
self.op_search.total_time += delta_time
37
self.op_search.count += 1
39
def data(self, delta_time):
40
"""Get data counts and time.
42
:param delta_time: additional runtime.
45
self.op_data.total_time += delta_time
46
self.op_data.count += 1
48
def evaluation(self, delta_time):
49
"""Evaluation counts and time.
51
:param delta_time: additional runtime.
53
self.op_evaluation.total_time += delta_time
54
self.op_evaluation.count += 1
56
def post(self, delta_time):
57
"""Post-process counts and time.
59
:param delta_time: additional runtime.
61
self.op_post.total_time += delta_time
62
self.op_post.count += 1
64
def llm(self, delta_time):
65
"""LLM counts and time.
67
:param delta_time: additional runtime.
69
self.op_llm.total_time += delta_time
70
self.op_llm.count += 1
72
def save(self, delta_time):
73
"""Save counts and time.
75
:param delta_time: additional runtime.
77
self.op_save.total_time += delta_time
78
self.op_save.count += 1
80
def average_pre_time(self):
81
"""Average pre-process time."""
82
return self.op_pre.average()
84
def average_embedding_time(self):
85
"""Average embedding time."""
86
return self.op_embedding.average()
88
def average_search_time(self):
89
"""Average search time."""
90
return self.op_search.average()
92
def average_data_time(self):
93
"""Average data time."""
94
return self.op_data.average()
96
def average_evaluation_time(self):
97
"""Average evaluation time."""
98
return self.op_evaluation.average()
100
def average_post_time(self):
101
"""Average post-process time."""
102
return self.op_post.average()
104
def average_llm_time(self):
105
"""Average LLM time."""
106
return self.op_llm.average()
108
def average_save_time(self):
109
"""Average save time."""
110
return self.op_save.average()
112
def hint_cache(self):
113
"""hint cache count."""
114
self.hint_cache_count += 1
118
"""Operation counter."""
121
"""Operation count."""
127
return round(self.total_time / self.count, 4) if self.count != 0 else 0