cracksmity.dev
English
L3 · Espejo Terminal Estación histórica

PsicolocosBot

Un bot de apoyo emocional, mi primera vez construyendo con IA y la primera pregunta seria: ¿qué le pones para que no haga daño?

INAUGURADA
NOV 2025
MATERIA
Fundamentos de IA
SEMESTRE
4.º
CÓDIGO
Privado
DOMINIO
psicolocos.lat (retirado)
Interfaz del bot estilo chat con canales. Alguien escribe que tiene tres exámenes y no le da el tiempo; el bot valida, resume y propone una lista corta de pendientes.
Una conversación real, en 2026, con el código de 2025: valida, resume y ofrece un solo recurso.

RECORRIDO · L3 Espejo · 3 estaciones

  1. ESTÁS AQUÍ PsicolocosBot
  2. MAR 2026 · Estación histórica Sisyphus
  3. JUL 2026 · En servicio Speculum

Por qué existe

Proyecto de Fundamentos de Inteligencia Artificial, en cuarto semestre: un bot de apoyo emocional. El tema me tocaba de cerca, y eso cambió cómo lo construí.

Antes de escribir código ya estaba pensando en los límites: cómo evitar que alucine, qué hacer si alguien escribe que no quiere vivir, con qué información alimentarlo. En salud mental no hay margen para improvisar.

Terminé haciéndolo solo y fue mi primera vez construyendo con IA, antes de Cursor y de los agentes: le pegaba mi archivo .py a ChatGPT una y otra vez, y los modelos de entonces se inventaban cosas.

Lo hice en una época baja. Mi equipo eligió hacer un bot de apoyo psicológico y, con algo de ironía, yo era quien más lo necesitaba.

Terminé haciéndolo solo, sin saber programar casi nada, pegándole mi archivo a ChatGPT una y otra vez. Lo probaron mis amigos; fue más una curiosidad técnica que otra cosa, y sacamos un 8.

Pero me dejó una pregunta que no se me ha ido: si una máquina va a hablarle a alguien que la está pasando mal, ¿qué le pones para que no haga daño? De esa pregunta sale todo lo que sigue en esta línea.

Qué hace

crisis primero

Un filtro antes que nada

Si un mensaje muestra señales de riesgo, el bot no improvisa: responde con un mensaje fijo y las líneas de ayuda de México y de Jalisco.

17 intenciones

Respuestas verificadas

Rasa reconoce lo que se repite (saludos, contactos, qué es el bot) y contesta con textos escritos a mano. El modelo solo entra cuando hace falta.

1 recurso por turno

Reglas cortas y claras

Valida, resume lo que entendió y ofrece un solo ejercicio: respiración 4-4-6, grounding 5-4-3-2-1 o una lista corta de pendientes. Nunca diagnostica.

El bot responde a un mensaje de desesperanza con el mensaje de crisis: Línea de la Vida 800 911 2000, LOCATEL y el 075 de Jalisco.
La segunda barrera: la frase no estaba en la lista de riesgo, pero las reglas del modelo la reconocieron y respondió con el mensaje fijo de crisis.

Cómo está hecho

10 commits · 3 capas antes del modelo

01 · InterfazHTML + CSS + JSChat neumórfico y registro de ánimo.
02 · FiltroDetector de riesgoSi hay crisis, mensaje fijo y líneas de ayuda.
03 · IntencionesRasa NLUReducido para caber en 2 GB de RAM.
04 · ModeloGPT-4o-miniSolo lo que Rasa no cubre, con reglas estrictas.
  • guardrails
  • Rasa NLU
  • OpenAI API
  • FastAPI
  • SQLite
  • Docker Compose
  • nginx

Bitácora

  1. NOV 2025Primera versión: API en FastAPI, interfaz y respuestas con la API de OpenAI.
  2. NOV 2025Versión 3: Rasa vuelve como clasificador de intenciones, todo en Docker Compose.
  3. NOV 2025Un easter egg con agradecimientos, escondido en la interfaz.
  4. NOV 2025En línea en psicolocos.lat, con Docker y nginx en un VPS. Hoy está apagado: dejé de pagar ese servidor y, con Rasa, pesaba demasiado para mudarlo al nuevo.

Lo que aprendí

  • Con IA se juega con cosas serias. Las barreras se diseñan antes que las funciones, no al final.
  • Se construye con lo que tienes. Rasa completo no cabía en un servidor de 2 GB: lo reduje hasta donde se pudo y le dejé al modelo solo lo que hacía falta.
  • Fue mi primera vez construyendo con IA. A mano, a base de copiar y pegar, pero aprendí que podía hacer cosas que antes no sabía hacer.
  • Fue lo primero que puse en internet: un dominio, un VPS, Docker y nginx. Lo que aprendí ahí es la base del servidor donde hoy vive este sitio.