ecemumutlu commited on
Commit
c12a803
·
1 Parent(s): f24157e

Add other configs to result

Browse files
Files changed (1) hide show
  1. svc/router.py +42 -1
svc/router.py CHANGED
@@ -10,6 +10,9 @@ import os
10
  import json
11
  from src.deepeval.deepeval_task_manager import DeepEvalTaskManager
12
  import torch
 
 
 
13
 
14
  router = APIRouter()
15
 
@@ -18,6 +21,14 @@ logger = logging.getLogger(__name__)
18
 
19
  load_dotenv()
20
  HF_TOKEN = os.getenv("HF_TOKEN")
 
 
 
 
 
 
 
 
21
  @router.post("/token")
22
  async def login_for_access_token(form_data: OAuth2PasswordRequestForm = Depends()):
23
  auth_token = os.getenv("AUTH_UUID")
@@ -70,8 +81,38 @@ def inference_model(request: LMHarnessTaskRequest, username: str = Depends(get_c
70
  @router.post("/deepeval/eval", response_model=TaskResponse)
71
  async def deep_eval_suite(request: DeepEvalSuiteRequest):
72
  des = DeepEvalTaskManager(request.model_name, request.tasks)
 
73
  results = des.run_tasks() #TODO: format should be different. Check metunlp/results repo for the correct format
74
- json_results = json.dumps(results)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
 
76
  return TaskResponse(results=json_results)
77
 
 
10
  import json
11
  from src.deepeval.deepeval_task_manager import DeepEvalTaskManager
12
  import torch
13
+ from time import time
14
+ from huggingface_hub import HfApi, ModelInfo
15
+
16
 
17
  router = APIRouter()
18
 
 
21
 
22
  load_dotenv()
23
  HF_TOKEN = os.getenv("HF_TOKEN")
24
+
25
+ # Or configure a HfApi client
26
+ hf_api = HfApi(
27
+ endpoint="https://huggingface.co", # Can be a Private Hub endpoint.
28
+ token=HF_TOKEN, # Token is not persisted on the machine.
29
+ )
30
+
31
+
32
  @router.post("/token")
33
  async def login_for_access_token(form_data: OAuth2PasswordRequestForm = Depends()):
34
  auth_token = os.getenv("AUTH_UUID")
 
81
  @router.post("/deepeval/eval", response_model=TaskResponse)
82
  async def deep_eval_suite(request: DeepEvalSuiteRequest):
83
  des = DeepEvalTaskManager(request.model_name, request.tasks)
84
+ start_time = time()
85
  results = des.run_tasks() #TODO: format should be different. Check metunlp/results repo for the correct format
86
+ end_time = time()
87
+ duration = round(end_time - start_time, 2) # total_evaluation_time_seconds
88
+
89
+ model_info: ModelInfo = hf_api.model_info(request.model_name)
90
+
91
+ config = {
92
+ "model_source": "hf",
93
+ "num_fewshot": 0,
94
+ "batch_size": 8,
95
+ "batch_sizes": [],
96
+ "device": "cuda:0", # TODO: take this from requests
97
+ # "no_cache": true,
98
+ # "limit": null,
99
+ # "bootstrap_iters": 100000,
100
+ # "description_dict": null,
101
+ "model_dtype": "torch.float16", # TODO: take this from requests
102
+ "model_name": request.model_name,
103
+ "model_sha": model_info.sha
104
+ }
105
+
106
+ tbr_dict = {
107
+ "results": results,
108
+ "config": config,
109
+ "total_evaluation_time_seconds": duration,
110
+ "start_time": start_time,
111
+ "end_time": end_time
112
+ }
113
+
114
+
115
+ json_results = json.dumps(tbr_dict)
116
 
117
  return TaskResponse(results=json_results)
118