smile commited on
Commit
e7d518b
·
1 Parent(s): f646fc1

Update dependeies and filter logic.

Browse files
app/backend/data_engine.py CHANGED
@@ -7,7 +7,7 @@ from typing import List
7
  import pandas as pd
8
 
9
  from app.backend.constant import ModelProvider
10
- from utils.cache_decorator import cache_with_custom_key
11
 
12
  COLUMNS = ['model_name', 'group_name', 'leaderboard', 'dataset_name',
13
  'embd_dtype', 'embd_dim', 'num_params', 'max_tokens', 'similarity',
@@ -75,7 +75,7 @@ class DataEngine:
75
  return True
76
  return organization in providers
77
 
78
- @cache_with_custom_key("json_result")
79
  def jsons_to_df(self):
80
 
81
  results_list = self.results
 
7
  import pandas as pd
8
 
9
  from app.backend.constant import ModelProvider
10
+ from utils.cache_decorator import cache_df_with_custom_key
11
 
12
  COLUMNS = ['model_name', 'group_name', 'leaderboard', 'dataset_name',
13
  'embd_dtype', 'embd_dim', 'num_params', 'max_tokens', 'similarity',
 
75
  return True
76
  return organization in providers
77
 
78
+ @cache_df_with_custom_key("json_result")
79
  def jsons_to_df(self):
80
 
81
  results_list = self.results
app/ui/component/filter_component.py CHANGED
@@ -20,7 +20,7 @@ class FilterComponent:
20
  self.embd_dims = embd_dims
21
  self.similarities = similarities
22
 
23
- def _validate_input(self,value:str):
24
  if value == "":
25
  return value
26
  try:
@@ -95,5 +95,4 @@ class FilterComponent:
95
  scale=2,
96
  )
97
 
98
-
99
  return navigations, model_provides, evaluation_metrics, embd_dtypes, embd_dims, similarities, max_tokens
 
20
  self.embd_dims = embd_dims
21
  self.similarities = similarities
22
 
23
+ def _validate_input(self, value: str):
24
  if value == "":
25
  return value
26
  try:
 
95
  scale=2,
96
  )
97
 
 
98
  return navigations, model_provides, evaluation_metrics, embd_dtypes, embd_dims, similarities, max_tokens
app/ui/component/subtabs_component.py CHANGED
@@ -12,7 +12,7 @@ class SubtabsComponent:
12
  self.data_engine = data_engine
13
 
14
  def show(self, navigations: str = None, model_provides: List = None, evaluation_metrics: str = None,
15
- embd_dtypes: str = None, embd_dims: List = None, similarity: str = None, max_tokens: str = None):
16
 
17
  df_result = self.data_engine.jsons_to_df()
18
 
@@ -39,7 +39,9 @@ class SubtabsComponent:
39
  gr_df = gr.Dataframe(
40
  df_leaderboard,
41
  datatype=COLUMNS_TYPES,
42
- interactive=False
 
 
43
  )
44
 
45
  items.append(gr_df)
@@ -50,7 +52,10 @@ class SubtabsComponent:
50
  gr_df = gr.Dataframe(
51
  df,
52
  datatype=COLUMNS_TYPES,
53
- interactive=False
 
 
 
54
  )
55
  items.append(gr_df)
56
  items.append(column)
 
12
  self.data_engine = data_engine
13
 
14
  def show(self, navigations: str = None, model_provides: List = None, evaluation_metrics: str = None,
15
+ embd_dtypes: str = None, embd_dims: List = None, similarity: str = None, max_tokens: int = None):
16
 
17
  df_result = self.data_engine.jsons_to_df()
18
 
 
39
  gr_df = gr.Dataframe(
40
  df_leaderboard,
41
  datatype=COLUMNS_TYPES,
42
+ # interactive=True,
43
+
44
+ type="pandas"
45
  )
46
 
47
  items.append(gr_df)
 
52
  gr_df = gr.Dataframe(
53
  df,
54
  datatype=COLUMNS_TYPES,
55
+ # interactive=True,
56
+ height=500,
57
+ type="pandas"
58
+
59
  )
60
  items.append(gr_df)
61
  items.append(column)
app/ui/home.py CHANGED
@@ -1,3 +1,5 @@
 
 
1
  import pandas as pd
2
 
3
  from app.backend.constant import Navigation, ModelProvider, EvaluationMetric, EmbdDtype, EmbdDim, Similarity
@@ -11,6 +13,7 @@ import gradio as gr
11
  NUM_DATASETS = 1
12
  NUM_SCORES = 2
13
  NUM_MODELS = 3
 
14
 
15
 
16
  def init_home():
@@ -46,20 +49,33 @@ def init_home():
46
  inputs=[navigations, model_provides, evaluation_metrics, embd_dtypes, embd_dims, similarities,
47
  max_tokens], outputs=columns)
48
 
49
- gr.on(triggers=[navigations.change,
50
- model_provides.change,
51
- evaluation_metrics.change,
52
- embd_dtypes.change,
53
- embd_dims.change,
54
- similarities.change,
55
- max_tokens.change
56
- ],
57
- inputs=[navigations, model_provides, evaluation_metrics, embd_dtypes, embd_dims, similarities,
58
- max_tokens],
59
- fn=sub_tabs.show,
60
- outputs=columns,
61
- trigger_mode="once"
62
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
63
 
64
- block.queue(max_size=10)
65
  return block
 
1
+ import time
2
+
3
  import pandas as pd
4
 
5
  from app.backend.constant import Navigation, ModelProvider, EvaluationMetric, EmbdDtype, EmbdDim, Similarity
 
13
  NUM_DATASETS = 1
14
  NUM_SCORES = 2
15
  NUM_MODELS = 3
16
+ HANDLING = False
17
 
18
 
19
  def init_home():
 
49
  inputs=[navigations, model_provides, evaluation_metrics, embd_dtypes, embd_dims, similarities,
50
  max_tokens], outputs=columns)
51
 
52
+ navigations.change(trigger_mode="once", fn=sub_tabs.show,
53
+ inputs=[navigations, model_provides, evaluation_metrics, embd_dtypes, embd_dims,
54
+ similarities,
55
+ max_tokens], outputs=columns)
56
+ model_provides.change(trigger_mode="once", fn=sub_tabs.show,
57
+ inputs=[navigations, model_provides, evaluation_metrics, embd_dtypes, embd_dims,
58
+ similarities,
59
+ max_tokens], outputs=columns)
60
+ evaluation_metrics.change(trigger_mode="once", fn=sub_tabs.show,
61
+ inputs=[navigations, model_provides, evaluation_metrics, embd_dtypes, embd_dims,
62
+ similarities,
63
+ max_tokens], outputs=columns)
64
+ embd_dtypes.change(trigger_mode="once", fn=sub_tabs.show,
65
+ inputs=[navigations, model_provides, evaluation_metrics, embd_dtypes, embd_dims,
66
+ similarities,
67
+ max_tokens], outputs=columns)
68
+ embd_dims.change(trigger_mode="once", fn=sub_tabs.show,
69
+ inputs=[navigations, model_provides, evaluation_metrics, embd_dtypes, embd_dims, similarities,
70
+ max_tokens], outputs=columns)
71
+
72
+ similarities.change(trigger_mode="once", fn=sub_tabs.show,
73
+ inputs=[navigations, model_provides, evaluation_metrics, embd_dtypes, embd_dims,
74
+ similarities,
75
+ max_tokens], outputs=columns)
76
+ max_tokens.change(trigger_mode="always_last", fn=sub_tabs.show,
77
+ inputs=[navigations, model_provides, evaluation_metrics, embd_dtypes, embd_dims, similarities,
78
+ max_tokens], outputs=columns)
79
 
80
+ block.queue(max_size=1)
81
  return block
requirements.txt CHANGED
@@ -1,4 +1,3 @@
1
- gradio==4.44.1
2
  uvicorn>=0.14.0
3
  fastapi<0.113.0
4
- cachetools==5.5.0
 
1
+ gradio==4.20.0
2
  uvicorn>=0.14.0
3
  fastapi<0.113.0
 
utils/cache_decorator.py CHANGED
@@ -3,23 +3,36 @@
3
  # @Author : q275343119
4
  # @File : cache_decorator.py
5
  # @Description:
6
- from cachetools import TTLCache
7
  from functools import wraps
 
8
 
9
- CACHE = TTLCache(maxsize=5, ttl=3600)
 
10
 
11
 
12
- def cache_with_custom_key(cache_key: str):
13
  def decorator(func):
14
  @wraps(func)
15
  def wrapper(*args, **kwargs):
16
- if cache_key in CACHE:
17
- return CACHE[cache_key]
18
 
19
- result = func(*args, **kwargs)
20
- CACHE[cache_key] = result
21
- return result
 
 
 
 
 
22
 
23
  return wrapper
24
 
25
  return decorator
 
 
 
 
 
 
 
3
  # @Author : q275343119
4
  # @File : cache_decorator.py
5
  # @Description:
6
+ import time
7
  from functools import wraps
8
+ import pandas as pd
9
 
10
+ CACHE = {}
11
+ TTL = 3600
12
 
13
 
14
+ def cache_df_with_custom_key(cache_key: str):
15
  def decorator(func):
16
  @wraps(func)
17
  def wrapper(*args, **kwargs):
18
+ if cache_key in CACHE and CACHE[cache_key].get("expiry") - time.time() < TTL:
19
+ return CACHE[cache_key]["data"]
20
 
21
+ result: pd.DataFrame = func(*args, **kwargs)
22
+ if result is not None and not result.empty:
23
+ d = {"expiry": time.time(), "data": result}
24
+ CACHE[cache_key] = d
25
+ return result
26
+
27
+ CACHE[cache_key]["expiry"] += TTL
28
+ return CACHE[cache_key]["data"]
29
 
30
  return wrapper
31
 
32
  return decorator
33
+
34
+
35
+ if __name__ == '__main__':
36
+ a = time.time()
37
+ time.sleep(5)
38
+ print(time.time() - a)