import requests import json from datetime import datetime # --------------------------- # CONFIG # --------------------------- OLLAMA_URL = "http://136.115.239.38:11434/api/generate" MODEL = "qwen:14b" pg_config = PGConfig() database = DatabaseManager(pg_config.database, pg_config.databaseID) # --------------------------- # 1. TU QUERY (ya la tienes) # --------------------------- query = f""" SELECT TOP (100)-- [ID] -- ,[FieldID] [ExecutionID] ,[ProcedureID] ,[ProcedureName] ,[ProcedureType] ,[TargetDate] ,[Status] ,[ExecutedBy] ,[MessageDescription] ,[Source] ,[ExtraInfo] ,[ExecutionDate] FROM [glm_pg].[dbo].[ExecutionLog] where [Status]='FAILED' AND [TargetDate]>'2026-04-01' ORDER BY [ExecutionDate] DESC """ print("Query ejecutada:") print(query) # --------------------------- # 2. EJECUTAR QUERY # --------------------------- data_sql_report = database.get_execute_query(query) # --------------------------- # 3. FORMATEAR DATOS # --------------------------- def format_data(data): try: return json.dumps(data, indent=2, default=str) except: return str(data) data_formatted = format_data(data_sql_report) # --------------------------- # 4. CREAR PROMPT # --------------------------- prompt = f""" Eres un analista de datos experto. Tengo los siguientes datos obtenidos desde SQL: QUERY: {query} RESULTADO: {data_formatted} TAREA: 1. Analiza los datos 2. Identifica patrones importantes 3. Detecta posibles errores o anomalĂ­as 4. Da recomendaciones claras Responde de forma clara y estructurada. """ # --------------------------- # 5. GUARDAR PROMPT EN TXT # --------------------------- timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") file_name = f"prompt_{timestamp}.txt" with open(file_name, "w", encoding="utf-8") as f: f.write(prompt) print(f"\nPrompt guardado en: {file_name}") # --------------------------- # 6. (OPCIONAL) ENVIAR A IA # --------------------------- send_to_ai = True # cambia a False si solo quieres el TXT print(datetime.now()) if send_to_ai: response = requests.post( OLLAMA_URL, json={ "model": MODEL, "prompt": prompt, "stream": False } ) result = response.json() print("\nRespuesta IA:\n") print(result["response"]) print(datetime.now()) print(datetime.now())