/
ksilisk
/
spbtechrun_hack
Обзор
Документация
Войти
/
ksilisk
/
spbtechrun_hack
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
python/backend/main.py
44 строки
1 KB
Shaliko Salimov
all prompts moving to the prompts directory and README.me refactoring
02 дек 2025, 21:18
02 дек 2025, 21:18
0511ade
Код
Авторство
О чём код?
from __future__ import annotations from contextlib import asynccontextmanager from fastapi import FastAPI from api.v1.routes_chat import router as chat_router from api.v1.routes_health import router as health_router from api.v1.routes_rag import router as rag_router from config import get_settings from core.dialog.postgres_session_store import get_postgres_session_store from infrastructure.llm.gigachat_langchain import get_gigachat from infrastructure.logging.logger import get_logger from infrastructure.vectorstore.chroma_store import get_chroma_vectorstore logger = get_logger(__name__) @asynccontextmanager async def lifespan(app: FastAPI): settings = get_settings() # прогреваем эмбеддинги и векторку get_chroma_vectorstore(settings) # можно ещё прогреть GigaChat-клиент, если нужно get_gigachat(settings) psql_session_store = get_postgres_session_store(settings) await psql_session_store.connect() logger.info("Application startup complete") yield await psql_session_store.close() logger.info("Application shutdown complete") app = FastAPI(title="spb-tech-run-hack", version="0.1.0", lifespan=lifespan) app.include_router(health_router) app.include_router(chat_router) app.include_router(rag_router) if __name__ == "__main__": import uvicorn uvicorn.run(app=app, host="0.0.0.0", port=8000)