Nusri7 commited on
Commit
32a7594
·
1 Parent(s): c1afed5

Initial commit with FastAPI + Gradio app

Browse files
Files changed (1) hide show
  1. app.py +22 -7
app.py CHANGED
@@ -2,7 +2,7 @@ import io
2
  import tempfile
3
  from fastapi import FastAPI, HTTPException, File, UploadFile
4
  from speechbrain.inference import SpeakerRecognition
5
- from fastapi.openapi.docs import get_swagger_ui_html
6
 
7
  # Initialize the speaker verification model
8
  verification = SpeakerRecognition.from_hparams(
@@ -55,12 +55,27 @@ async def compare_voices_api(file1: UploadFile = File(...), file2: UploadFile =
55
  except Exception as e:
56
  raise HTTPException(status_code=400, detail=str(e))
57
 
58
- # Custom route to expose Swagger UI
59
- @app.get("/docs")
60
- def custom_swagger_ui_html():
61
- return get_swagger_ui_html(openapi_url=app.openapi_url, title="API Docs")
 
 
 
 
 
 
 
62
 
63
- # Running the FastAPI app
 
 
 
 
 
 
 
 
64
  if __name__ == "__main__":
65
  import uvicorn
66
- uvicorn.run(app, host="127.0.0.0", port=5000)
 
2
  import tempfile
3
  from fastapi import FastAPI, HTTPException, File, UploadFile
4
  from speechbrain.inference import SpeakerRecognition
5
+ import gradio as gr
6
 
7
  # Initialize the speaker verification model
8
  verification = SpeakerRecognition.from_hparams(
 
55
  except Exception as e:
56
  raise HTTPException(status_code=400, detail=str(e))
57
 
58
+ # Gradio interface function
59
+ def gradio_interface():
60
+ return gr.Interface(
61
+ fn=compare_voices_api, # FastAPI function is wrapped here
62
+ inputs=[
63
+ gr.Audio(type="filepath", label="First Audio File"), # Audio file input
64
+ gr.Audio(type="filepath", label="Second Audio File") # Audio file input
65
+ ],
66
+ outputs="json", # Output as JSON
67
+ live=False # No live interface, just the API
68
+ )
69
 
70
+ # Launch Gradio interface
71
+ @app.on_event("startup")
72
+ async def startup():
73
+ gr.Interface(fn=compare_voices_api, inputs=[
74
+ gr.Audio(type="filepath", label="First Audio File"), # Audio file input
75
+ gr.Audio(type="filepath", label="Second Audio File") # Audio file input
76
+ ], outputs="json", live=False).launch(share=True, inline=True)
77
+
78
+ # Running the FastAPI app with Gradio
79
  if __name__ == "__main__":
80
  import uvicorn
81
+ uvicorn.run(app, host="0.0.0.0", port=5000)