|
|
|
|
@ -1,15 +1,15 @@
|
|
|
|
|
""" |
|
|
|
|
API endpoints для получения AI заключений от GigaAM API |
|
|
|
|
""" |
|
|
|
|
from fastapi import APIRouter, HTTPException |
|
|
|
|
from fastapi import APIRouter, HTTPException, Depends |
|
|
|
|
from pydantic import BaseModel |
|
|
|
|
from typing import Optional, List, Dict, Any |
|
|
|
|
from apiApp.database import get_db_session |
|
|
|
|
from sqlalchemy.orm import Session |
|
|
|
|
from apiApp.database import get_db |
|
|
|
|
from apiApp.database.Audio import Audio |
|
|
|
|
from apiApp.database.AiConclusion import AiConclusion |
|
|
|
|
from datetime import datetime |
|
|
|
|
import logging |
|
|
|
|
import uuid |
|
|
|
|
|
|
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
|
ai_conclusion_router = APIRouter() |
|
|
|
|
@ -35,7 +35,7 @@ class AiConclusionResponse(BaseModel):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ai_conclusion_router.post("/conclusion/save", response_model=AiConclusionResponse) |
|
|
|
|
async def save_ai_conclusion(request: AiConclusionRequest): |
|
|
|
|
async def save_ai_conclusion(request: AiConclusionRequest, db: Session = Depends(get_db)): |
|
|
|
|
""" |
|
|
|
|
Сохраняет AI заключение от GigaAM API |
|
|
|
|
|
|
|
|
|
@ -50,7 +50,6 @@ async def save_ai_conclusion(request: AiConclusionRequest):
|
|
|
|
|
try: |
|
|
|
|
logger.info(f"📥 Получено AI заключение для файла: {request.filename}") |
|
|
|
|
|
|
|
|
|
with get_db_session() as db: |
|
|
|
|
# Находим аудио файл по имени |
|
|
|
|
audio = db.query(Audio).filter(Audio.filename == request.filename).first() |
|
|
|
|
|
|
|
|
|
@ -103,6 +102,7 @@ async def save_ai_conclusion(request: AiConclusionRequest):
|
|
|
|
|
raise |
|
|
|
|
except Exception as e: |
|
|
|
|
logger.error(f"❌ Ошибка при сохранении заключения: {e}") |
|
|
|
|
db.rollback() |
|
|
|
|
raise HTTPException( |
|
|
|
|
status_code=500, |
|
|
|
|
detail=str(e) |
|
|
|
|
|