Spaces:
Sleeping
Sleeping
File size: 1,403 Bytes
6b8bb0d e61da91 6b8bb0d e61da91 281998d 6b8bb0d 928fedd 6b8bb0d e61da91 6b8bb0d e61da91 6b8bb0d 281998d 6b8bb0d 928fedd 6b8bb0d 281998d 6b8bb0d | 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 | from __future__ import annotations
import gradio as gr
from loguru import logger
from src.config import settings
from src.embeddings import warm_up_embeddings
from src.monitoring import add_monitoring_route
from src.ui.helpers import CSS, THEME
from src.ui.interactive import INTERACTIVE_HEAD_HTML
def warm_up_if_enabled() -> bool:
if not settings.embedding_warmup_enabled:
return False
try:
latency_ms = warm_up_embeddings()
except Exception as exc:
logger.warning("embedding_warmup_failed error={}", type(exc).__name__)
return False
logger.info("embedding_warmup_completed latency_ms={:.3f}", latency_ms)
return True
def launch_demo(demo: gr.Blocks) -> None:
settings.export_dir.mkdir(parents=True, exist_ok=True)
_ = warm_up_if_enabled()
auth = None
if settings.gradio_username and settings.gradio_password:
auth = (settings.gradio_username, settings.gradio_password)
queued_demo = demo.queue(default_concurrency_limit=2)
add_monitoring_route(queued_demo.app)
_ = queued_demo.launch(
allowed_paths=[str(settings.export_dir.resolve())],
auth=auth,
css=CSS,
head=INTERACTIVE_HEAD_HTML,
max_file_size=settings.max_upload_bytes,
server_name=settings.server_name,
server_port=settings.server_port,
theme=THEME,
_app=queued_demo.app,
)
|