Spaces:
Sleeping
Sleeping
import logging | |
import os | |
from contextlib import asynccontextmanager | |
from pathlib import Path | |
from typing import Annotated | |
import dotenv | |
import uvicorn | |
from fastapi import FastAPI | |
from fastapi.middleware.cors import CORSMiddleware | |
from transformers import AutoModel, AutoTokenizer | |
# from routes.acronym import router as acronym_router | |
from common import dependencies as DI | |
from common.common import configure_logging | |
from common.configuration import Configuration | |
from routes.dataset import router as dataset_router | |
from routes.document import router as document_router | |
from routes.entity import router as entity_router | |
from routes.llm import router as llm_router | |
from routes.llm_config import router as llm_config_router | |
from routes.llm_prompt import router as llm_prompt_router | |
from routes.auth import router as auth_router | |
# from main_before import config | |
# Загружаем переменные из .env | |
dotenv.load_dotenv() | |
# from routes.feedback import router as feedback_router | |
# from routes.llm import router as llm_router | |
# from routes.log import router as log_router | |
CONFIG_PATH = os.environ.get('CONFIG_PATH', 'config_dev.yaml') | |
print("config path: ") | |
print(CONFIG_PATH) | |
config = Configuration(CONFIG_PATH) | |
logger = logging.getLogger(__name__) | |
configure_logging(config_file_path=config.common_config.log_file_path) | |
configure_logging( | |
level=logging.DEBUG, | |
config_file_path=config.common_config.log_file_path, | |
) | |
# Костыль №47364: Удаляем файл статуса обработки датасета при запуске приложения | |
tmp_path = Path(os.environ.get("APP_TMP_PATH", '.')) / 'tmp.json' | |
tmp_path.unlink(missing_ok=True) | |
print("Downloading model to cache...") | |
AutoTokenizer.from_pretrained(config.db_config.faiss.model_embedding_path) | |
AutoModel.from_pretrained(config.db_config.faiss.model_embedding_path) | |
print("Model cached successfully.") | |
app = FastAPI(title="Assistant control panel") | |
origins = ["*"] | |
app.add_middleware( | |
CORSMiddleware, | |
allow_origins=origins, | |
allow_credentials=True, | |
allow_methods=["*"], | |
allow_headers=["*"], | |
) | |
app.include_router(llm_router) | |
# app.include_router(log_router) | |
# app.include_router(feedback_router) | |
app.include_router(dataset_router) | |
app.include_router(document_router) | |
app.include_router(llm_config_router) | |
app.include_router(llm_prompt_router) | |
app.include_router(entity_router) | |
app.include_router(auth_router) | |
if __name__ == "__main__": | |
uvicorn.run( | |
"main:app", | |
host="localhost", | |
port=7860, | |
reload=False, | |
workers=1 | |
) |