journalctl -u artemisa --full
Artemisa + Picasso LTSM
Suite de planeación docente con asistencia IA contextual, RAG y observabilidad de prompts.
menos tiempo consolidación
proveedores LLM
microservicio Docling
uptime chatbot
alejandro@codedbyjav.cc :~$ cat context.md
¿Por qué?
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é?
- ○ 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
alejandro@codedbyjav.cc :~$ npm ls --depth=0
Stack tecnológico
alejandro@codedbyjav.cc :~$ tail -f results.log
Resultados
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.