ljcortesr
commited on
Commit
·
0ead803
1
Parent(s):
bf45ee9
fast api health
Browse files
app.py
CHANGED
|
@@ -4,6 +4,7 @@ import torchaudio
|
|
| 4 |
from audiocraft.models import AudioGen
|
| 5 |
from audiocraft.data.audio import audio_write
|
| 6 |
import gradio as gr
|
|
|
|
| 7 |
|
| 8 |
OUTPUT_DIR = "audio_files"
|
| 9 |
DEFAULT_DURATION = 5 # Default duration for audio generation in seconds
|
|
@@ -47,5 +48,17 @@ with gr.Blocks() as demo:
|
|
| 47 |
|
| 48 |
generate_button.click(fn=generate_audio, inputs=[descriptions, duration_slider], outputs=output)
|
| 49 |
|
| 50 |
-
demo.queue(max_size=10, status_update_rate="auto")
|
| 51 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
from audiocraft.models import AudioGen
|
| 5 |
from audiocraft.data.audio import audio_write
|
| 6 |
import gradio as gr
|
| 7 |
+
from fastapi import FastAPI
|
| 8 |
|
| 9 |
OUTPUT_DIR = "audio_files"
|
| 10 |
DEFAULT_DURATION = 5 # Default duration for audio generation in seconds
|
|
|
|
| 48 |
|
| 49 |
generate_button.click(fn=generate_audio, inputs=[descriptions, duration_slider], outputs=output)
|
| 50 |
|
| 51 |
+
demo = demo.queue(max_size=10, status_update_rate="auto")
|
| 52 |
+
|
| 53 |
+
app = FastAPI()
|
| 54 |
+
|
| 55 |
+
# Mount Gradio app on "/"
|
| 56 |
+
app = mount_gradio_app(app, demo, path="/")
|
| 57 |
+
|
| 58 |
+
# Add healthcheck endpoint
|
| 59 |
+
@app.get("/health")
|
| 60 |
+
def health_check():
|
| 61 |
+
# Check if model is at least initialized (not required but useful)
|
| 62 |
+
status = "ready" if model is not None else "loading"
|
| 63 |
+
return {"status": status, "queue_active": True}
|
| 64 |
+
|