in src/backend/entrypoints/llm_backend/app.py [0:0]
def create_fastapi() -> FastAPI:
config = Settings()
fastapi_app = FastAPI(
title=constants.PROJECT_NAME,
version=constants.VERSION,
docs_url=f"{constants.MARKET_ALERTS_API_PREFIX}{constants.SWAGGER_DOC_URL}",
description=constants.DESCRIPTION,
openapi_url=f"{constants.MARKET_ALERTS_API_PREFIX}/openapi.json",
)
fastapi_app.include_router(api.tickers_router, prefix=constants.MARKET_ALERTS_API_PREFIX)
fastapi_app.include_router(api.llm_router, prefix=constants.MARKET_ALERTS_API_PREFIX)
fastapi_app.include_router(api.plots_router, prefix=constants.MARKET_ALERTS_API_PREFIX)
fastapi_app.include_router(api.jupyter_router, prefix=constants.MARKET_ALERTS_API_PREFIX)
fastapi_app.include_router(api.session_router, prefix=constants.MARKET_ALERTS_API_PREFIX)
fastapi_app.include_router(api.tasks_router, prefix=constants.MARKET_ALERTS_API_PREFIX)
fastapi_app.include_router(api.ws_router, prefix=constants.MARKET_ALERTS_API_PREFIX)
fastapi_app.include_router(api.files_router, prefix=constants.MARKET_ALERTS_API_PREFIX)
fastapi_app.include_router(api.ui_router, prefix=constants.MARKET_ALERTS_API_PREFIX)
fastapi_app.include_router(api.alerts_backend_router, prefix=constants.MARKET_ALERTS_API_PREFIX)
fastapi_app.include_router(api.optimization_router, prefix=constants.MARKET_ALERTS_API_PREFIX)
if config.authentication.enabled:
if config.limits_enabled:
alerts_backend_proxy_singleton.set_user_context(user)
register_limits_middleware(fastapi_app)
fastapi_app.add_middleware(
SessionMiddleware,
session_manager=session_manager_singleton,
public_endpoints=MARKET_ALERTS_PUBLIC_ENDPOINTS + MARKET_ALERTS_NO_SESSION_ENDPOINTS,
readonly_endpoints=MARKET_ALERTS_READ_ONLY_SESSION_ENDPOINTS,
)
register_auth_middleware(fastapi_app, MARKET_ALERTS_PUBLIC_ENDPOINTS)
if config.cors.enabled:
register_cors_middleware(fastapi_app, config)
register_error_handlers(fastapi_app)
return fastapi_app