← volver a proyectos
journalctl -u artemisa --full

journalctl -u artemisa --full

Artemisa + Picasso LTSM

Suite de planeación docente con asistencia IA contextual, RAG y observabilidad de prompts.

0%

menos tiempo consolidación

0

proveedores LLM

0

microservicio Docling

0%

uptime chatbot

alejandro@codedbyjav.cc :~$ cat context.md

¿Por qué?

context.md

Los docentes del colegio dedicaban horas a consolidar planeaciones, evaluaciones DUA y análisis TOEFL en herramientas desconectadas. No había asistencia inteligente contextual ni trazabilidad de las respuestas de IA. Coordinación académica y docentes necesitaban un flujo único con datos institucionales confiables, no un chatbot genérico.

alejandro@codedbyjav.cc :~$ grep -E "^\[ \]" objectives.md

¿Para qué?

objectives.checklist
  • Chatbot RAG con documentos institucionales indexados.
  • Soporte multi-proveedor LLM sin lock-in de vendor.
  • Generación DUA y análisis TOEFL en el mismo flujo.
  • Observabilidad de prompts y costos con Langfuse.
  • Extracción de documentos vía microservicio Docling.

alejandro@codedbyjav.cc :~$ ls adr/

Decisiones de arquitectura

pgvector + HNSW en PostgreSQL

alternatives: Pinecone, Weaviate, Chroma managed

why: Un solo datastore operativo, embeddings junto a datos académicos, sin vendor extra.

trade-off: Tuning manual de índices y escalado vertical inicial.

AI SDK multi-proveedor

alternatives: Solo Gemini, LangChain monolítico

why: Fallback entre Gemini, Claude, OpenAI y OpenRouter según costo y latencia.

trade-off: Abstracción adicional y pruebas por proveedor.

Docling como microservicio FastAPI

alternatives: Procesamiento inline en Next.js, OCR en cliente

why: PDFs pesados y pipelines de extracción aislados del frontend.

trade-off: Operación de un servicio extra con colas y almacenamiento MinIO.

Langfuse + OpenTelemetry

alternatives: Logs ad-hoc, sin trazas de prompts

why: Auditoría de respuestas IA y optimización de costos por docente.

trade-off: Configuración inicial de instrumentación.

alejandro@codedbyjav.cc :~$ tree -L 2 services/

Arquitectura

architecture.flow
Next.js App Picasso RAG pgvector Docling API Langfuse

alejandro@codedbyjav.cc :~$ npm ls --depth=0

Stack tecnológico

Next.js AI SDK pgvector PostgreSQL FastAPI Redis Langfuse MinIO Next.js AI SDK pgvector PostgreSQL FastAPI Redis Langfuse MinIO

alejandro@codedbyjav.cc :~$ tail -f results.log

Resultados

results.log
[OK] [OK] 60% menos tiempo en consolidación de planeaciones
[OK] [OK] Chatbot con contexto institucional y streaming
[OK] [OK] 4 proveedores LLM intercambiables en producción
[OK] [OK] Trazas de prompts auditables por coordinación

lecciones aprendidas

  • RAG local en Postgres reduce fricción operativa vs. vectores managed.
  • Multi-proveedor es seguro de vida cuando cambian precios o cuotas.
  • Microservicios de extracción evitan bloquear el hilo del servidor web.

¿Construimos algo juntos?

Abierto a roles senior full-stack y trabajo freelance seleccionado. Escribime por LinkedIn — leo cada mensaje.

LinkedIn →