File size: 1,199 Bytes
d3c9f60 d23da01 8251b12 b02341c d23da01 b02341c d23da01 8251b12 d3c9f60 |
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 34 35 36 37 38 39 40 41 |
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)
|