Spaces:
Configuration error
Configuration error
File size: 1,713 Bytes
313814b 3a14175 bf48682 8f3dcc9 313814b d0feed8 e0e6882 313814b bf48682 8f3dcc9 d0feed8 313814b dc4f25f 8f3dcc9 dc4f25f aada575 bf48682 65e955b bf48682 3a14175 bf48682 3a14175 bf48682 3a14175 bf48682 313814b bf48682 8f3dcc9 bf48682 9d4a9a2 bf48682 4e64465 bf48682 4e64465 bf48682 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
from __future__ import annotations
from contextlib import asynccontextmanager
import logging
from typing import TYPE_CHECKING
from fastapi import (
FastAPI,
)
from fastapi.middleware.cors import CORSMiddleware
from faster_whisper_server.dependencies import get_config, get_model_manager
from faster_whisper_server.logger import setup_logger
from faster_whisper_server.routers.list_models import (
router as list_models_router,
)
from faster_whisper_server.routers.misc import (
router as misc_router,
)
from faster_whisper_server.routers.stt import (
router as stt_router,
)
if TYPE_CHECKING:
from collections.abc import AsyncGenerator
def create_app() -> FastAPI:
setup_logger()
logger = logging.getLogger(__name__)
config = get_config() # HACK
logger.debug(f"Config: {config}")
model_manager = get_model_manager() # HACK
@asynccontextmanager
async def lifespan(_app: FastAPI) -> AsyncGenerator[None, None]:
for model_name in config.preload_models:
model_manager.load_model(model_name)
yield
app = FastAPI(lifespan=lifespan)
app.include_router(stt_router)
app.include_router(list_models_router)
app.include_router(misc_router)
if config.allow_origins is not None:
app.add_middleware(
CORSMiddleware,
allow_origins=config.allow_origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
if config.enable_ui:
import gradio as gr
from faster_whisper_server.gradio_app import create_gradio_demo
app = gr.mount_gradio_app(app, create_gradio_demo(config), path="/")
return app
|