153 lines
4.5 KiB
Markdown
153 lines
4.5 KiB
Markdown
|
|
# 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@<servidor> "sudo -u postgres psql -c '\dt ia_*'"
|
||
|
|
```
|
||
|
|
|
||
|
|
### Ver resumen de contextos
|
||
|
|
```bash
|
||
|
|
ssh root@<servidor> "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
|