mirror of
https://github.com/marcogll/telegram_expenses_controller.git
synced 2026-01-13 21:35:15 +00:00
43 lines
1.4 KiB
Python
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
|