Spaces:
Sleeping
Sleeping
File size: 1,074 Bytes
3e633fe | 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 42 43 44 45 46 47 | import uvicorn
from fastapi import FastAPI
from pydantic import BaseModel
from env import EmailSortingEnv
app = FastAPI(
title="Email Sorting OpenEnv",
version="1.0.0"
)
env = EmailSortingEnv()
class StepRequest(BaseModel):
action: str
@app.get("/")
def root():
return {
"name": "Email Sorting OpenEnv",
"version": "1.0.0",
"description": "Sort emails as spam, important, or promotion",
"endpoints": ["/reset", "/step", "/state", "/health"]
}
@app.get("/health")
def health():
return {"status": "ok"}
@app.post("/reset")
def reset():
state = env.reset()
return {"status": "success", "state": state}
@app.post("/step")
def step(request: StepRequest):
next_state, reward, done, info = env.step(request.action)
return {"status": "success", "state": next_state, "reward": reward, "done": done, "info": info}
@app.get("/state")
def get_state():
return {"status": "success", "state": env.state()}
def main():
uvicorn.run(app, host="0.0.0.0", port=7860)
if __name__ == "__main__":
main() |