File size: 1,094 Bytes
8b7bdb7
b3d1ac3
 
 
 
 
8b7bdb7
b3d1ac3
 
8b7bdb7
 
b3d1ac3
 
 
8b7bdb7
b3d1ac3
 
 
 
8b7bdb7
 
b3d1ac3
8b7bdb7
b3d1ac3
8b7bdb7
 
cc42e0f
 
 
 
8b7bdb7
 
e9fdb4a
 
 
 
 
8b7bdb7
e9fdb4a
 
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
"""FastAPI application for the Clinical Note Scribe environment."""

from __future__ import annotations

import logging
import sys
from pathlib import Path

from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from fastapi.responses import FileResponse

from server.routes import router

logging.basicConfig(level=logging.INFO, format="%(message)s", handlers=[logging.StreamHandler(sys.stdout)])
logging.getLogger("uvicorn.access").setLevel(logging.WARNING)

app = FastAPI(
    title="Clinical Note Scribe – OpenEnv",
    description="OpenEnv-compliant environment for evaluating AI agents on clinical SOAP-note generation.",
    version="1.0.0",
)
app.include_router(router)

FRONTEND_DIR = Path(__file__).resolve().parent.parent / "frontend"
app.mount("/static", StaticFiles(directory=str(FRONTEND_DIR)), name="static")


@app.get("/", include_in_schema=False)
async def root():
    return FileResponse(str(FRONTEND_DIR / "index.html"))


def main():
    import uvicorn
    uvicorn.run("server.app:app", host="0.0.0.0", port=7860)


if __name__ == "__main__":
    main()