File size: 618 Bytes
8d96200
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from fastapi import FastAPI
from src.env import PRReviewEnv
from src.models import PRReviewAction

app = FastAPI()
env = PRReviewEnv(task="easy")


@app.get("/")
def health():
    return {"status": "ok"}


@app.post("/reset")
def reset(task: str = "easy"):
    global env
    env = PRReviewEnv(task=task)
    obs = env.reset()
    return obs.model_dump()


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


@app.get("/state")
def state():
    return env.state()