Spaces:
Sleeping
Sleeping
| from fastapi import FastAPI | |
| from env import Action, PharmaVigilanceEnv | |
| app = FastAPI() | |
| env = PharmaVigilanceEnv() | |
| def reset(body: dict = {}): | |
| task_id = body.get("task_id", "known_signal_easy") | |
| obs = env.reset(task_id) | |
| return obs.model_dump() | |
| def step(action: Action): | |
| obs, reward, done, info = env.step(action) | |
| return { | |
| "observation": obs.model_dump(), | |
| "reward": reward.model_dump(), | |
| "done": done, | |
| "info": info, | |
| } | |
| def state(): | |
| return env.state() | |
| def list_tasks(): | |
| return {"tasks": ["known_signal_easy", "cluster_signal_medium", "confounded_hard"]} | |
| def health(): | |
| return {"status": "ok"} | |
| def main(host: str = "0.0.0.0", port: int = 7860) -> None: | |
| import uvicorn | |
| uvicorn.run(app, host=host, port=port) | |
| if __name__ == "__main__": | |
| main() | |