28e50b921c
- Added Router_de_agentes.py to manage agent interactions for sales data analysis. - Created Analizador_de_datos_de_ventas.yaml for generating structured text reports from sales data. - Developed Generador_sql_ventas.yaml for generating SQL queries to analyze sales data. - Established Router_de_agente.yaml as a routing mechanism for agent requests. - Compiled centros_disponibles.md listing available sales centers. - Introduced primera_ejecucion_de_un_agente.py as an example for executing agents. - Added ver_los_prompts_de_un_agente.py to inspect prompts sent to OpenAI. - Included service account key for BigQuery access in rag-datasets-reader-sa-key.json. - Defined schema for sales data in Objeto_ventas.json. - Implemented utility functions for querying BigQuery in conseguir_datos_bq.py. - Created data transformation utilities in transformar_datos.py for handling decimal and date formats.
32 lines
914 B
Python
32 lines
914 B
Python
from decimal import Decimal
|
|
from datetime import datetime, date, time
|
|
|
|
def convertir_decimales(obj):
|
|
if isinstance(obj, list):
|
|
return [convertir_decimales(x) for x in obj]
|
|
elif isinstance(obj, dict):
|
|
return {k: convertir_decimales(v) for k, v in obj.items()}
|
|
elif isinstance(obj, Decimal):
|
|
return float(obj)
|
|
else:
|
|
return obj
|
|
|
|
|
|
def convertir_fechas(obj):
|
|
"""
|
|
Convierte objetos datetime, date y time a su representación ISO 8601.
|
|
"""
|
|
if isinstance(obj, list):
|
|
return [convertir_fechas(x) for x in obj]
|
|
elif isinstance(obj, dict):
|
|
return {k: convertir_fechas(v) for k, v in obj.items()}
|
|
elif isinstance(obj, (datetime, date, time)):
|
|
return obj.isoformat()
|
|
else:
|
|
return obj
|
|
|
|
|
|
def limpiar_datos_para_json(data):
|
|
data = convertir_decimales(data)
|
|
data = convertir_fechas(data)
|
|
return data |