Files
2026-05-09 14:00:04 -04:00

116 lines
2.4 KiB
Python

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())