# Despliegue de Tablas de Contexto IA - TZZR **Fecha:** 2024-12-24 **Responsable:** ARCHITECT **Estado:** ✅ Completado (2/3 servidores) ## Resumen Se desplegaron exitosamente las tablas de contexto IA en los servidores **architect** y **corp**. El servidor **deck** no estuvo disponible durante el despliegue (SSH connection refused). ## Servidores Desplegados ### ✅ architect (69.62.126.110) - **PostgreSQL:** v16.11 - **Estado:** Desplegado exitosamente - **Tablas creadas:** 5 tablas + 1 vista - **Triggers:** 2 triggers activos - **Funciones:** 2 funciones PL/pgSQL - **Test:** ✅ Funcionando correctamente ### ✅ corp (92.112.181.188) - **PostgreSQL:** v16.11 - **Estado:** Desplegado exitosamente - **Tablas creadas:** 5 tablas + 1 vista - **Triggers:** 2 triggers activos - **Funciones:** 2 funciones PL/pgSQL - **Test:** ✅ Funcionando correctamente ### ⚠️ deck (72.62.1.113) - **Estado:** No disponible - **Error:** SSH connection refused - **Acción pendiente:** Verificar conectividad y desplegar cuando esté disponible ## Estructura de Base de Datos ### Tablas 1. **ia_contexts** - Almacena contextos de conversación de agentes IA - Campos: context_id (UNIQUE), agent_name, user_id, session_id, metadata, status - Trigger: Actualiza `updated_at` automáticamente 2. **ia_messages** - Mensajes de conversación con agentes IA - Campos: context_id, role, content, timestamp, token_count, model, metadata - Trigger: Actualiza métricas de contexto automáticamente 3. **ia_embeddings** - Embeddings vectoriales para búsqueda semántica - Campos: context_id, message_id, embedding_vector, content_hash 4. **ia_tool_calls** - Registro de llamadas a herramientas - Campos: context_id, message_id, tool_name, tool_input, tool_output, execution_time_ms, success 5. **ia_context_metrics** - Métricas agregadas por contexto - Campos: context_id (UNIQUE), total_messages, total_tokens, total_tool_calls, avg_response_time_ms ### Vista - **ia_context_summary** - JOIN de ia_contexts + ia_context_metrics - Proporciona resumen completo de cada contexto ### Índices Se crearon 13 índices para optimizar las siguientes consultas: - Búsqueda por agente - Búsqueda por sesión - Ordenamiento por fecha - Filtrado por estado - Búsqueda por hash de contenido ## Funciones y Triggers ### 1. update_ia_contexts_updated_at() - **Trigger:** `trigger_update_ia_contexts_updated_at` - **Evento:** BEFORE UPDATE en ia_contexts - **Función:** Actualiza automáticamente el campo `updated_at` ### 2. update_ia_context_metrics() - **Trigger:** `trigger_update_ia_context_metrics` - **Evento:** AFTER INSERT en ia_messages - **Función:** Actualiza automáticamente las métricas (total_messages, total_tokens, last_activity) ## Tests Realizados ### architect ```sql -- Contexto de prueba: test-context-001 -- Mensajes insertados: 2 -- Métricas actualizadas: ✅ automáticamente -- Última actividad: 2025-12-24 00:07:18 ``` ### corp ```sql -- Contexto de prueba: test-corp-001 -- Agente: margaret -- Mensajes insertados: 1 -- Métricas actualizadas: ✅ automáticamente ``` ## Archivos Desplegados 1. **Schema principal:** `/home/orchestrator/orchestrator/scripts/ia_context_schema.sql` 2. **Script de despliegue:** `/home/orchestrator/orchestrator/scripts/deploy_ia_tables.sh` ## Correcciones Aplicadas Durante el despliegue se identificó y corrigió: - Faltaba constraint UNIQUE en `context_id` de `ia_context_metrics` - Se agregó: `ALTER TABLE ia_context_metrics ADD CONSTRAINT ia_context_metrics_context_id_key UNIQUE (context_id);` ## Próximos Pasos 1. ✅ Schema actualizado con UNIQUE constraint 2. ⏳ Desplegar en **deck** cuando esté disponible 3. ⏳ Integrar tablas con agentes IA del sistema 4. ⏳ Implementar almacenamiento de embeddings vectoriales 5. ⏳ Crear dashboard de métricas en tiempo real ## Comandos Útiles ### Verificar tablas ```bash # En architect o corp ssh root@ "sudo -u postgres psql -c '\dt ia_*'" ``` ### Ver resumen de contextos ```bash ssh root@ "sudo -u postgres psql -c 'SELECT * FROM ia_context_summary;'" ``` ### Limpiar datos de prueba ```sql DELETE FROM ia_contexts WHERE context_id LIKE 'test-%'; ``` ## Notas - Las tablas usan cascadas (ON DELETE CASCADE) para mantener integridad referencial - Los triggers garantizan que las métricas estén siempre actualizadas - La vista ia_context_summary simplifica consultas frecuentes - Los índices están optimizados para las consultas más comunes del sistema --- **Deployment completado por:** ARCHITECT **Timestamp:** 2025-12-24 00:07:00 UTC