NEXUS CORE

NEXUS CORE

Agente conversacional RAG 100% on-premise — Architecture brief.

Universidad Ricardo Palma · 2025–2026 · Construido individualmente end-to-end

100%
on-premise
30
sesiones concurrentes
7s
latencia p50
~239
clases Java (+54 de prueba)

01 contexto

Asistente de IA conversacional para una universidad peruana que responde consultas de docentes y alumnos sobre normativa y documentación interna mediante RAG, ejecutado íntegramente on-premise (sin enviar datos a APIs comerciales) por requisitos de privacidad y cumplimiento. Construido end-to-end de forma individual: arquitectura, investigación, desarrollo y evaluación.

02 arquitectura & stack

Backend
Java 21, Spring Boot 4 (WebFlux reactivo + R2DBC), Spring AI, Spring Security 7 / OAuth2. ~239 clases + 54 de prueba (Testcontainers, WireMock, k6).
Datos
PostgreSQL 16 + pgvector como única base relacional y vectorial (índice HNSW). Migraciones con Flyway.
Despliegue
Docker Compose con overlays (GPU / Mac / dev / observabilidad). Portable sin cambios de código entre servidor NVIDIA y Apple Silicon.

03 pipeline rag

Ingesta
Chunking inteligente (~2000 caracteres, overlap 200) por párrafo/puntuación. Embeddings BAAI/bge-m3 (1024 dim) vía TEI.
Recuperación híbrida
Vector (coseno) + BM25 full-text en español, fusionados con Reciprocal Rank Fusion (k=60). Filtrado por rol/scope antes del retrieval (autorización fuera del LLM).
Reranking
BAAI/bge-reranker-v2-m3 (top-20 → 10 → 6 chunks, umbral 0.3 con fallback).
Generación
Citación inline obligatoria [N] y guardrails anti-alucinación/anti-jailbreak en capas (regex + semántico + filtro de fuga). Tool-calling: ~7 herramientas en registro dinámico desde BD, filtradas por rol; flujos normal / crisis / continuación.

04 inferencia local & rendimiento

LLM
Qwen3-4B-Instruct cuantizado AWQ INT4, servido con vLLM en NVIDIA A5000 24 GB (alternativa: Gemma vía Ollama en Apple Silicon). API OpenAI-compatible.
Rendimiento (medido)
30 sesiones concurrentes de flujo completo a p50 7.0 s (36/36 sin fallos). Barrido empírico de gpu-memory-utilization → 0.78, logrando 12.4× de concurrencia KV (~101.6k tokens).
Evaluación
Golden set de ~43 consultas (admisión, académico, fuera-de-scope, jailbreak multi-idioma, crisis, redteam) con criterios contains/not-contains + latencia.

05 seguridad & cumplimiento

Autorización
Multi-rol (JWT multi-issuer; 4 roles con scopes, rate-limits y token-caps). Filtrado por rol previo al retrieval.
Auditoría & privacidad
Auditoría inviolable append-only con cadena de hashes SHA-256; redacción de PII.
Compliance
Ley N° 29733 (Perú), compatible GDPR / LGPD / CCPA; gestión de derechos del titular (DSR), consentimiento y retención.
Observabilidad
OpenTelemetry + Prometheus + Grafana + Loki + Tempo; kill-switches por subsistema.

06 estado & próximos pasos

Estado
Arquitectura completa y validada en pruebas de carga; en fase pre-piloto, iniciando pruebas con usuarios.
Próximos pasos
Carga del corpus institucional, métricas automatizadas de recuperación (recall@k, faithfulness) y CI/CD.

El código es privado (proyecto institucional); este brief resume la arquitectura y los resultados.