File size: 577 Bytes
ce7d977
 
 
d1b1da2
 
ce7d977
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from fastapi import FastAPI
from pydantic import BaseModel

from server.disruption_environment import DisruptionEnv
from models import DisruptionAction

app = FastAPI()
env = DisruptionEnv(seed=0)

class StepRequest(BaseModel):
    action: DisruptionAction

@app.post("/reset")
def reset():
    obs = env.reset()
    return obs.model_dump()

@app.post("/step")
def step(request: StepRequest):
    obs, reward, done, info = env.step(request.action)
    return {
        "observation": obs.model_dump(),
        "reward": reward,
        "done": done,
        "info": info
    }