gestiona_conocimiento
- Ruta de Configuración:
IA_Configuracion/skills/gestiona_conocimiento/
Skill: Gestionar Conocimiento (gestiona_conocimiento)
Este skill interactúa con el microservicio api-conocimiento-rag (corriendo en el puerto 3600 o de manera centralizada a través del API Gateway en http://localhost:3000/api/rag) para indexar documentación y buscar información relevante en un almacén temporal en memoria.
Cuándo activar
Activa esta habilidad cuando el usuario o los requerimientos de la tarea soliciten:
- “guarda este manual en la base de conocimientos”, “indexa la documentación”
- “busca información sobre…”, “consulta en la base de conocimientos qué dice sobre…”
- “carga el código/guía en el RAG”
- “limpia la base de datos de conocimiento”
Instrucciones de Uso y Automatización
Paso 1: Verificar el Estado del Servidor (Health Check)
El servidor corre por defecto en el puerto 3600 (mapeado en /api/rag del Gateway). Comprueba su estado a través del Gateway:
try { $r = Invoke-RestMethod -Uri "http://localhost:3000/api/rag/" -TimeoutSec 3; $r.message } catch { "OFFLINE" }Si no responde, arráncalo de fondo:
Start-Process -FilePath "node" -ArgumentList "server.js" -WorkingDirectory "C:\Users\jjtei\Desktop\IA_Infraestructura\api-conocimiento-rag" -WindowStyle HiddenStart-Sleep -Seconds 2Paso 2: Indexar Documentos (POST /api/rag/index)
Este endpoint toma un texto extenso (content), lo divide automáticamente en fragmentos (chunks) por párrafos, los normaliza (tokenización, remoción de acentos) y los guarda en memoria.
$body = @{ title = "Manual de Arquitectura Local" content = "El Gateway central de la infraestructura escucha en el puerto 3000.`n`nRedirige las peticiones a los respectivos puertos internos en el rango 3100-3700." metadata = @{ autor = "Admin"; proyecto = "Suite IA" }} | ConvertTo-Json
$res = Invoke-RestMethod -Uri "http://localhost:3000/api/rag/index" -Method Post -Body $body -ContentType "application/json"$res | Format-ListPaso 3: Buscar Pasajes Relevantes (POST /api/rag/search)
Permite realizar búsquedas rápidas. Devuelve los fragmentos ordenados descendentemente por su puntaje de relevancia léxica (score):
$body = @{ query = "en qué puerto escucha el gateway" limit = 3 # Cantidad máxima de fragmentos a retornar (por defecto 3)} | ConvertTo-Json
$res = Invoke-RestMethod -Uri "http://localhost:3000/api/rag/search" -Method Post -Body $body -ContentType "application/json"$res.data | Format-Table -WrapPaso 4: Limpiar la Base de Conocimiento (DELETE /store)
Para vaciar por completo la base de conocimiento temporal en memoria (por ejemplo, para reiniciar el contexto de una nueva investigación):
Invoke-RestMethod -Uri "http://localhost:3000/api/rag/store" -Method DeleteFlujo Recomendado de Indexación de Carpetas
Si necesitas indexar una carpeta entera del ordenador del usuario, el agente debe:
- Buscar los archivos (generalmente
.mdo.txt) usando el sistema de archivos local (list_dir). - Leer recursivamente cada archivo.
- Para cada uno, enviar una solicitud
POSTa/api/rag/indexasignando el nombre del archivo comotitley su contenido comocontent. - Una vez cargados, realizar las llamadas a
/api/rag/searchpara encontrar respuestas precisas en lugar de saturar la ventana de contexto de la conversación principal.