Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| from pathlib import Path | |
| from dotenv import load_dotenv | |
| _env_path = Path(__file__).resolve().parents[2] / ".env" | |
| load_dotenv(dotenv_path=_env_path, override=True) | |
| from fastapi import FastAPI | |
| from app.api.deps import get_settings | |
| from app.api.middleware import setup_cors, setup_logging | |
| from app.api.middleware.rate_limit import setup_rate_limiting | |
| from app.api.middleware.security import setup_security_headers | |
| from app.api.routes import health, conversations, documents, images, chat, tools | |
| from app.services.rag.config import RAGConfig | |
| app = FastAPI(title="ReAct Agent API", version="0.1.0") | |
| settings = get_settings() | |
| extra_origins = [o.strip() for o in settings.cors_origins.split(",") if o.strip()] if settings.cors_origins else None | |
| setup_cors(app, extra_origins=extra_origins) | |
| setup_logging(app) | |
| setup_security_headers(app) | |
| setup_rate_limiting(app) | |
| app.include_router(health.router) | |
| app.include_router(tools.router) | |
| app.include_router(conversations.router) | |
| app.include_router(documents.router) | |
| app.include_router(images.router) | |
| app.include_router(chat.router) | |
| def startup(): | |
| get_settings() | |
| RAGConfig.validate() | |