01 / Visión general
Qué es y qué problema resuelve
Un CV estático obliga a todos los entrevistadores a seguir la misma profundidad y no demuestra cómo construyo un producto de IA generativa.
Producto público para explorar mi perfil profesional. Las sesiones viven en memoria de una única instancia; escalar horizontalmente requeriría un almacén compartido.
02 / Funcionamiento
Cómo funciona el sistema
- 01
Catálogo estructurado y documentos Markdown controlados; el modelo debe seleccionar fuentes antes de redactar la respuesta.
- 02
FastAPI mantiene sesiones efímeras en servidor, limita el historial y transmite eventos NDJSON para estado, texto, métricas y errores.
- 03
Cola FIFO con dos generaciones simultáneas, límites por IP y presupuesto mensual para proteger disponibilidad y coste.
- 04
Saneado incremental de la salida, cookies HttpOnly y analítica agregada únicamente tras consentimiento.
03 / Mi aportación
Qué hice yo
Diseñé y desarrollé backend, recuperación documental, herramientas del modelo, streaming, sesiones, interfaz, seguridad, pruebas y despliegue.
Decisiones principales
- Conservar el historial en servidor y limitar el contexto enviado al modelo.
- Forzar selección de fuentes antes de responder y sanear la salida en streaming.
- Controlar concurrencia, cola y tasa de peticiones para proteger coste y disponibilidad.
04 / Comprobación y resultado
Cómo comprobé el resultado
La suite verifica contratos del chat, selección documental, sesiones, reinicio, cancelación, continuación tras respuestas incompletas, concurrencia, cola, rate limiting, presupuesto y saneado de datos personales. También prueba el adaptador CMS y su última copia válida.
Resultado del proyecto
- Conversaciones contextuales con tres niveles de detalle y cancelación.
- Respuestas parciales recuperables y referencias de error sin filtrar información interna.
- Servicio Docker desplegado con analítica opcional basada en consentimiento.
05 / Aprendizajes
Qué aprendí durante el desarrollo
Publicar un chatbot implica diseñar el sistema que rodea al modelo: qué puede leer, cuánto contexto recibe, cómo se controla el coste, qué ocurre cuando falla y qué información nunca debe aparecer en una respuesta.