iejfoiesf's picture
Upload 7 files
5658551 verified
raw
history blame
923 Bytes
# Modified app.py to serve both the FastAPI backend and Gradio frontend
import os
import gradio as gr
import subprocess
import threading
import sys
# Import the FastAPI app
from app_main import app as fastapi_app
# Import the gradio interface
from gradio_app import app as gradio_interface
# Function to start the FastAPI server in a separate thread
def run_fastapi():
import uvicorn
uvicorn.run(fastapi_app, host="0.0.0.0", port=8000)
# Main entry point
if __name__ == "__main__":
# Start FastAPI in a background thread
threading.Thread(target=run_fastapi, daemon=True).start()
# Start Gradio on the main thread - using port 7860 which is the default for Gradio
# When running in a Space, use 0.0.0.0 as the server
if os.getenv("SPACE_ID"):
gradio_interface.launch(server_name="0.0.0.0", server_port=7860)
else:
gradio_interface.launch()