Vansh04092003's picture
Upload folder using huggingface_hub
719515e verified
from fastapi import FastAPI
import sys
import os
sys.path.append(os.path.abspath(".."))
from environment import EmailTriageEnv
app = FastAPI()
env = None
from models import (
Action, Priority, Category, RouteTo,
)
@app.post("/reset")
def reset(task: str = "easy"):
global env
env = EmailTriageEnv(task_id=task)
obs = env.reset()
return {"observation": obs}
@app.post("/step")
def step(action: dict):
global env
if env is None:
env = EmailTriageEnv(task_id="easy")
env.reset()
try:
action_obj = Action(
email_id=action.get("email_id"),
priority=Priority(action.get("priority", "medium")),
category=Category(action.get("category", "general_inquiry")),
route_to=RouteTo(action.get("route_to", "support_tier1")),
summary=action.get("summary", "fallback"),
flag_review=action.get("flag_review", False),
reasoning=action.get("reasoning", ""),
reply_draft=action.get("reply_draft", None)
)
obs, reward, done, info = env.step(action_obj)
return {
"observation": obs.model_dump(),
"reward": getattr(reward, "total", reward), # safer
"done": done,
"info": info
}
except Exception as e:
return {"error": str(e)}
@app.post("/run")
def run_endpoint():
from inference import run
return run()