Spaces:
Sleeping
Sleeping
| 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 | |
| def root(): | |
| return { | |
| "name": "Email Sorting OpenEnv", | |
| "version": "1.0.0", | |
| "description": "Sort emails as spam, important, or promotion", | |
| "endpoints": ["/reset", "/step", "/state", "/health"] | |
| } | |
| def health(): | |
| return {"status": "ok"} | |
| def reset(): | |
| state = env.reset() | |
| return {"status": "success", "state": state} | |
| 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} | |
| 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() |