|
from fastapi import FastAPI, Request |
|
from fastapi.responses import JSONResponse |
|
from fastapi.middleware.cors import CORSMiddleware |
|
from pydantic import BaseModel |
|
from llmeval import LLM_as_Evaluator |
|
app = FastAPI() |
|
|
|
|
|
origins = ["*"] |
|
|
|
app.add_middleware( |
|
CORSMiddleware, |
|
allow_origins=origins, |
|
allow_credentials=True, |
|
allow_methods=["*"], |
|
allow_headers=["*"], |
|
) |
|
|
|
le=LLM_as_Evaluator() |
|
|
|
|
|
class EvalInput(BaseModel): |
|
promptversion: str |
|
|
|
@app.post("/evaluate") |
|
async def evaluation(request:EvalInput): |
|
|
|
prompt_version = request.promptversion |
|
prompt_version_splitted=prompt_version.split(":") |
|
|
|
if prompt_version_splitted[0]=="paradigm_identifier": |
|
|
|
le.Paradigm_LLM_Evaluator(prompt_version) |
|
|
|
elif prompt_version_splitted[0]=="observational_biologist": |
|
le.Observation_LLM_Evaluator(prompt_version) |
|
|
|
|
|
return JSONResponse(content={"evalsuccessful":True},status_code=200) |
|
|
|
|