Spaces:
Sleeping
Sleeping
File size: 1,910 Bytes
0cb452d f503df8 0cb452d f503df8 0cb452d f12bd27 0cb452d | 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | """
Module: app.py
Purpose: FastAPI server exposing the TriageFlow environment via HTTP/WebSocket.
Part of: Medical Triage Assistant — OpenEnv Round 1
Author: Team Squirrel
Overview:
Uses OpenEnv's create_app() to automatically create all required
endpoints: /reset, /step, /state, /health, /ws, /docs, /web.
This is the entry point when running the server in Docker or locally.
Dependencies:
- openenv.core.env_server.http_server: create_app
- models: TriageAction, TriageObservation
- server.triage_flow_environment: TriageEnvironment
Usage:
uvicorn server.app:app --host 0.0.0.0 --port 8000
"""
try:
from openenv.core.env_server.http_server import create_app
except ImportError:
from openenv.core.env_server import create_fastapi_app as create_app
try:
from ..models import TriageAction, TriageObservation
from .triage_flow_environment import TriageEnvironment
except (ImportError, ModuleNotFoundError):
import sys, os
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from models import TriageAction, TriageObservation
from server.triage_flow_environment import TriageEnvironment
from .ui import build_triage_ui
# Create the app with web interface
app = create_app(
TriageEnvironment,
TriageAction,
TriageObservation,
env_name="triage_flow",
max_concurrent_envs=1,
gradio_builder=build_triage_ui
)
from fastapi.responses import RedirectResponse
@app.get("/")
def redirect_to_web():
return RedirectResponse(url="/web")
def main(host: str = "0.0.0.0", port: int = 8000):
"""
Entry point for direct execution via uv run or python -m.
Args:
host: Host address to bind to (default: "0.0.0.0")
port: Port number to listen on (default: 8000)
"""
import uvicorn
uvicorn.run(app, host=host, port=port)
if __name__ == "__main__":
main()
|