thisisgini's picture
Update server/app.py
764adea verified
Raw History Blame Contribute Delete
1.01 kB
from fastapi import FastAPI, Request
import uvicorn
import sys
import os
# Add root to path so it can find inference.py
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from inference import run_inference
app = FastAPI()
@app.get("/")
async def health():
return {"status": "ok"}
@app.post("/reset")
async def reset():
# Important: The validator sometimes looks for a reset log too
print("[RESET] Environment restored", flush=True)
return {"status": "ok"}
@app.post("/predict")
async def predict(request: Request):
data = await request.json()
# run_inference now contains our sys.stdout.flush() logic
return run_inference(data)
def main():
# log_level="info" and access_log=True ensure the server doesn't
# suppress your print statements from inference.py
uvicorn.run(
"server.app:app",
host="0.0.0.0",
port=7860,
log_level="info",
access_log=True
)
if __name__ == "__main__":
main()