ecemumutlu commited on
Commit
99e165e
·
1 Parent(s): 61636ad

Add deepeval endpoint

Browse files
Files changed (1) hide show
  1. svc/router.py +12 -14
svc/router.py CHANGED
@@ -2,14 +2,14 @@ from fastapi import APIRouter, HTTPException, Depends
2
  import logging
3
 
4
  from lm_eval import evaluator
5
- from svc.schemas import LMHarnessTaskRequest, LMHarnessTaskResponse, LoadModelRequest
6
  from fastapi.security import OAuth2PasswordRequestForm
7
  from auth.authentication import get_current_user, create_access_token
8
  from dotenv import load_dotenv
9
  import os
10
  import json
 
11
 
12
- from transformers import AutoModelForCausalLM, AutoTokenizer
13
 
14
  router = APIRouter()
15
 
@@ -17,7 +17,7 @@ logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(
17
  logger = logging.getLogger(__name__)
18
 
19
  load_dotenv()
20
-
21
  @router.post("/token")
22
  async def login_for_access_token(form_data: OAuth2PasswordRequestForm = Depends()):
23
  auth_token = os.getenv("AUTH_UUID")
@@ -32,7 +32,7 @@ async def protected_route(username: str = Depends(get_current_user)):
32
  return {"message": f"Hello, {username}! This is a protected resource."}
33
 
34
 
35
- @router.post("/chat", response_model=LMHarnessTaskResponse)
36
  def inference_model(request: LMHarnessTaskRequest, username: str = Depends(get_current_user)):
37
  try:
38
  logger.info("Inside")
@@ -59,16 +59,14 @@ def inference_model(request: LMHarnessTaskRequest, username: str = Depends(get_c
59
  logger.info("-------------------results------------------\n")
60
  logger.info(dumped)
61
  logger.info("-------------------results end------------------\n")
62
- return LMHarnessTaskResponse(results=dumped)
 
 
63
 
 
 
 
 
 
64
 
65
 
66
- # @router.post("/load_model")
67
- # async def load_model(request: LoadModelRequest):
68
- # model = AutoModelForCausalLM.from_pretrained(
69
- # request.model_name,
70
- # torch_dtype="auto",
71
- # device_map="auto"
72
- # )
73
- # tokenizer = AutoTokenizer.from_pretrained(request.model_name)
74
- # return model, tokenizer
 
2
  import logging
3
 
4
  from lm_eval import evaluator
5
+ from svc.schemas import LMHarnessTaskRequest, TaskResponse, LoadModelRequest, DeepEvalSuiteRequest
6
  from fastapi.security import OAuth2PasswordRequestForm
7
  from auth.authentication import get_current_user, create_access_token
8
  from dotenv import load_dotenv
9
  import os
10
  import json
11
+ from src.deepeval.deepeval_task_manager import DeepEvalTaskManager
12
 
 
13
 
14
  router = APIRouter()
15
 
 
17
  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")
 
32
  return {"message": f"Hello, {username}! This is a protected resource."}
33
 
34
 
35
+ @router.post("/chat", response_model=TaskResponse)
36
  def inference_model(request: LMHarnessTaskRequest, username: str = Depends(get_current_user)):
37
  try:
38
  logger.info("Inside")
 
59
  logger.info("-------------------results------------------\n")
60
  logger.info(dumped)
61
  logger.info("-------------------results end------------------\n")
62
+ return TaskResponse(results=dumped)
63
+
64
+
65
 
66
+ @router.post("/deepeval/eval", response_model=TaskResponse)
67
+ async def deep_eval_suite(request: DeepEvalSuiteRequest):
68
+ des = DeepEvalTaskManager(request.model_name, request.tasks)
69
+ results = des.run_tasks() #TODO: format should be different. Check metunlp/results repo for the correct format
70
+ return TaskResponse(results=results)
71
 
72