Spaces:
Sleeping
Sleeping
File size: 1,116 Bytes
249c88f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
from fastapi import APIRouter, HTTPException
import logging
from lm_eval import evaluator, utils
from svc.schemas import LMHarnessTaskRequest, LMHarnessTaskResponse
router = APIRouter()
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
logger = logging.getLogger(__name__)
@router.post("/chat", response_model=LMHarnessTaskResponse)
def inference_model(request: LMHarnessTaskRequest):
try:
results = evaluator.simple_evaluate(
model=request.model,
model_args=request.model_args,
tasks=request.tasks,
num_fewshot=request.num_fewshot,
batch_size=request.batch_size,
device=request.device,
limit=request.limit,
write_out=request.write_out # Whether to write out an example document and model input, for checking task integrity
)
except Exception as e:
raise HTTPException(status_code=500, detail=f"lm-harness task execution failed for model: {request.model_args}")
logger.info(results)
return LMHarnessTaskResponse(results=results)
|