Saltar al contenido
Todas las notas
4 min de lectura

Django es mejor backend para IA de lo que la gente espera

La conversación sobre backends para IA salta a lo más nuevo por defecto. La mayoría de lo que una feature con LLM necesita, Django ya lo tenía en 2010.

Cada feature de IA que he entregado terminó necesitando la misma lista poco glamorosa: registros durables de qué se preguntó y qué se respondió, una cola de trabajos para lo que sea más lento que un request, cuotas por usuario, una superficie de administración para que alguien no técnico pueda mirar las salidas malas, y migraciones para el esquema que cambiará cinco veces.

Esa lista es el terreno natural de Django. Es raro lo poco que aparece en la conversación.

Lo que el modelo necesita no es la parte difícil

Llamar a un LLM es un request HTTP. Es el código menos interesante del sistema y será un archivo pequeño sin importar qué framework lo rodee.

Lo que toma tiempo es todo lo demás: guardar la conversación, asociarla a un usuario, reintentar los fallos, limitar el abuso, y darle a soporte una forma de ver qué pasó cuando un cliente reclama. Un framework que te entrega el ORM, las migraciones, el admin y la autenticación está haciendo más por esa lista que uno que te entrega un router más rápido.

Dónde sí necesita ayuda

El ciclo request/response de Django es síncrono por defecto, y las llamadas a LLM son lo bastante lentas como para que ocupar un worker veinte segundos sea un problema real. Para eso está la cola de tareas — el request encola, el worker llama al modelo, el cliente hace polling o se suscribe.

El streaming es el punto de fricción genuino. Es viable con ASGI, pero es la parte donde el framework deja de ayudarte y cableas las cosas tú. Si el producto es streaming de punta a punta, esa es una razón legítima para buscar en otro lado.

El criterio real

Elige el backend según de qué está hecha mayormente la feature. Si es mayormente llamadas al modelo con una capa delgada alrededor, usa lo más delgado que haya. Si es un producto con usuarios, facturación, permisos y traza de auditoría que además llama a un modelo — eso es una aplicación web, y Django lleva mucho tiempo siendo muy bueno en aplicaciones web.