import gradio as gr import spaces import uvicorn # Dummy GPU function at the module level to pass ZeroGPU startup check @spaces.GPU def _satisfy_zerogpu_startup_check(): """Dummy function to bypass ZeroGPU startup requirement.""" return "GPU available" from app.main import app as fastapi_app # 1. Create the Gradio Interface def moderate_ui(text): return f"Processing text: {text}" demo = gr.Interface( fn=moderate_ui, inputs="text", outputs="text", title="Multilingual Moderation API" ) # 2. Mount your FastAPI app onto Gradio's underlying FastAPI instance # This keeps your /moderate and /health endpoints accessible. # We mount it under the "/api" path to avoid conflicts. demo.app.mount("/api", fastapi_app) # 3. Launch Gradio (required for ZeroGPU) if __name__ == "__main__": demo.launch(server_name="0.0.0.0", server_port=7860)