guard / app.py
Junaidb's picture
Update app.py
b02341c verified
raw
history blame
1.2 kB
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()
# CORS configuration
origins = ["*"] # Allow all origins; specify domains in production
app.add_middleware(
CORSMiddleware,
allow_origins=origins, # Allows all origins
allow_credentials=True,
allow_methods=["*"], # Allows all HTTP methods
allow_headers=["*"], # Allows all headers
)
le=LLM_as_Evaluator()
# Pydantic model for request body
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)
# Example processing (replace with actual logic)
return JSONResponse(content={"evalsuccessful":True},status_code=200)