Files
telegram_expenses_controller/app/ai/classifier.py

43 lines
1.4 KiB
Python

"""
Clasificación y puntuación de confianza impulsada por IA.
"""
import openai
import json
import logging
from typing import Dict, Any
from app.config import config
from app.ai.prompts import AUDITOR_PROMPT
from app.schema.base import ProvisionalExpense
# Configure the OpenAI client
openai.api_key = config.OPENAI_API_KEY
logger = logging.getLogger(__name__)
def classify_and_audit(expense: ProvisionalExpense) -> ProvisionalExpense:
"""
Utiliza un modelo de IA para auditar un gasto extraído, proporcionando una puntuación
de confianza y notas. Este es un marcador de posición para una lógica de clasificación
y validación más compleja.
Args:
expense: Un objeto ProvisionalExpense con datos extraídos.
Returns:
El mismo objeto ProvisionalExpense, actualizado con los hallazgos de la auditoría.
"""
logger.info(f"Iniciando auditoría por IA para el gasto: {expense.extracted_data.description}")
# Por ahora, esto es un marcador de posición. Una implementación real
# llamaría a un modelo de IA como en el extractor.
# Para la demostración, simplemente asignaremos una puntuación de confianza alta.
expense.confidence_score = 0.95
expense.validation_notes.append("Marcador de posición de auditoría por IA: aprobado automáticamente.")
expense.processing_method = "ai_inference" # Asumir que se usó IA
logger.info("AI audit placeholder complete.")
return expense