- Nueva estructura de carpetas según Skynet v7 - Añadidos schemas SQL completos - Documentación de entidades, componentes e integraciones - Modelo de seguridad actualizado - Infraestructura y operaciones reorganizadas
151 lines
4.8 KiB
Markdown
151 lines
4.8 KiB
Markdown
# Context System
|
|
|
|
**Versión:** 0.1
|
|
**Estado:** Especificación inicial
|
|
|
|
---
|
|
|
|
## Descripción
|
|
|
|
Herramienta local para gestionar el contexto de trabajo con modelos de IA. Funciona de forma idéntica en cualquier servidor. No depende de servicios externos.
|
|
|
|
---
|
|
|
|
## Principios
|
|
|
|
1. **Local first** - Todo funciona sin conexión a servicios externos
|
|
2. **Inmutabilidad del log** - El historial nunca se modifica
|
|
3. **Control del usuario** - El usuario decide qué contexto envía
|
|
4. **Independencia** - Cada componente funciona por separado
|
|
5. **Portabilidad** - La misma herramienta en cualquier servidor
|
|
|
|
---
|
|
|
|
## Componentes
|
|
|
|
### 1. Log Inmutable
|
|
|
|
Registro de TODOS los mensajes de conversaciones con IA.
|
|
|
|
| Característica | Valor |
|
|
|----------------|-------|
|
|
| Editable | NO |
|
|
| Borrable | NO |
|
|
| Ubicación | Local (PostgreSQL) |
|
|
|
|
**Contenido:**
|
|
- Cada mensaje enviado a la IA
|
|
- Cada respuesta recibida
|
|
- Timestamp
|
|
- Identificador de sesión
|
|
|
|
### 2. Gestor de Contexto
|
|
|
|
| Característica | Valor |
|
|
|----------------|-------|
|
|
| Editable | Sí |
|
|
| Borrable | Sí |
|
|
| Ubicación | Local |
|
|
|
|
**Contenido:**
|
|
- Bloques de contexto reutilizables
|
|
- Configuración de qué se incluye en cada sesión
|
|
- Prioridades y orden
|
|
|
|
### 3. Dataset del Usuario
|
|
|
|
| Característica | Valor |
|
|
|----------------|-------|
|
|
| Editable | Sí |
|
|
| Borrable | Sí |
|
|
| Ubicación | Local |
|
|
|
|
**Contenido:**
|
|
- Referencias a archivos, documentos, datos
|
|
- Metadatos para búsqueda y acceso
|
|
- Estructura del espacio de trabajo
|
|
|
|
### 4. Buzón de Entrada
|
|
|
|
| Característica | Valor |
|
|
|----------------|-------|
|
|
| Editable | Según implementación |
|
|
| Ubicación | Local |
|
|
|
|
**Contenido:**
|
|
- Resultados que el usuario quiere persistir
|
|
- Datos que entran al sistema
|
|
- Conexión con almacenamiento externo
|
|
|
|
---
|
|
|
|
## Arquitectura
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
│ SERVIDOR (local) │
|
|
│ │
|
|
│ ┌─────────────────┐ ┌─────────────────┐ │
|
|
│ │ 1. LOG │ │ 2. GESTOR │ │
|
|
│ │ INMUTABLE │ │ DE CONTEXTO │ │
|
|
│ │ [NO editable] │ │ [Editable] │ │
|
|
│ └─────────────────┘ └─────────────────┘ │
|
|
│ │
|
|
│ ┌─────────────────┐ ┌─────────────────┐ │
|
|
│ │ 3. DATASET │ │ 4. BUZÓN │ │
|
|
│ │ DEL USUARIO │ │ DE ENTRADA │ │
|
|
│ │ [Editable] │ │ [E/S datos] │ │
|
|
│ └─────────────────┘ └─────────────────┘ │
|
|
│ │
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
│
|
|
▼
|
|
┌─────────────────┐
|
|
│ IA EXTERNA │
|
|
│ (no en local) │
|
|
└─────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## Módulo Grafo (Kuzu)
|
|
|
|
Capa de selección dinámica de contexto. El grafo no almacena datos primarios — es una proyección reconstruible del log.
|
|
|
|
```
|
|
LOG (inmutable) → GRAFO (derivado) → Contexto seleccionado
|
|
fuente de verdad caché relaciones input para LLM
|
|
```
|
|
|
|
### Tecnología: Kuzu
|
|
|
|
| Criterio | Kuzu |
|
|
|----------|------|
|
|
| Instalación | `pip install kuzu` |
|
|
| Dependencias | Ninguna |
|
|
| Servidor | No requiere |
|
|
| Persistencia | Carpeta local |
|
|
| Licencia | MIT |
|
|
|
|
### Uso Básico
|
|
|
|
```python
|
|
import kuzu
|
|
|
|
db = kuzu.Database("./grafo_contexto")
|
|
conn = kuzu.Connection(db)
|
|
|
|
# Crear esquema
|
|
conn.execute("CREATE NODE TABLE Mensaje(id INT64, hash STRING, PRIMARY KEY(id))")
|
|
conn.execute("CREATE NODE TABLE Concepto(nombre STRING, PRIMARY KEY(nombre))")
|
|
conn.execute("CREATE REL TABLE Menciona(FROM Mensaje TO Concepto)")
|
|
```
|
|
|
|
### Mantenimiento
|
|
|
|
| Tarea | Comando |
|
|
|-------|---------|
|
|
| Backup | `cp -r ./grafo_contexto ./backup` |
|
|
| Borrar | `rm -rf ./grafo_contexto` |
|
|
| Regenerar | Script desde log |
|