Palak6106 commited on
Commit
3e633fe
·
verified ·
1 Parent(s): 48b15b6

Create server/app.py

Browse files
Files changed (1) hide show
  1. server/app.py +47 -1
server/app.py CHANGED
@@ -1 +1,47 @@
1
- from server import app
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import uvicorn
2
+ from fastapi import FastAPI
3
+ from pydantic import BaseModel
4
+ from env import EmailSortingEnv
5
+
6
+ app = FastAPI(
7
+ title="Email Sorting OpenEnv",
8
+ version="1.0.0"
9
+ )
10
+
11
+ env = EmailSortingEnv()
12
+
13
+ class StepRequest(BaseModel):
14
+ action: str
15
+
16
+ @app.get("/")
17
+ def root():
18
+ return {
19
+ "name": "Email Sorting OpenEnv",
20
+ "version": "1.0.0",
21
+ "description": "Sort emails as spam, important, or promotion",
22
+ "endpoints": ["/reset", "/step", "/state", "/health"]
23
+ }
24
+
25
+ @app.get("/health")
26
+ def health():
27
+ return {"status": "ok"}
28
+
29
+ @app.post("/reset")
30
+ def reset():
31
+ state = env.reset()
32
+ return {"status": "success", "state": state}
33
+
34
+ @app.post("/step")
35
+ def step(request: StepRequest):
36
+ next_state, reward, done, info = env.step(request.action)
37
+ return {"status": "success", "state": next_state, "reward": reward, "done": done, "info": info}
38
+
39
+ @app.get("/state")
40
+ def get_state():
41
+ return {"status": "success", "state": env.state()}
42
+
43
+ def main():
44
+ uvicorn.run(app, host="0.0.0.0", port=7860)
45
+
46
+ if __name__ == "__main__":
47
+ main()