← Volver a FAQ IA

Por que tarda tanto en responder o chatbot de IA da miña web?

Daniel García·

Un cliente cunha tenda de mobles escribiunos case molesto porque o chatbot que lle acabábamos de instalar “tardaba unha eternidade” en contestar. Collemos o móbil e cronometramos: 4,2 segundos desde que o usuario premía enter até que aparecía a primeira palabra. A nós, que levamos meses mirando logs destas cousas, non nos pareceu moito. Para alguén afeito ao chat de WhatsApp, onde a resposta aparece case ao instante, si o é.

Por que tarda en responder un chatbot de IA ten unha resposta bastante concreta: depende do tamaño do modelo que uses, de canto contexto lle mandas en cada petición e de se ten que consultar algunha ferramenta externa (unha base de datos, un catálogo, outra API) antes de poder contestar. Un modelo grande, con moito historial de conversa a cuestas e unha chamada a un sistema de inventario polo medio, pode tardar máis de tres segundos aínda que todo estea funcionando exactamente como debería.

O tamaño do modelo pesa máis do que parece. Cando probamos o mesmo fluxo con GPT-4 e con un modelo máis pequeno pensado para tarefas sinxelas, a diferenza foi de 4 segundos a 900 milisegundos para preguntas tipo “¿tedes esta mesa en carballo?”. O modelo grande seguía sendo necesario para as consultas raras, as que mesturan varias condicións ou requiren razoar un pouco. Para o resto, era pagar de máis por unha precisión que ninguén necesitaba nese punto.

O que ao cliente lle importaba, de todos os xeitos, non era o número exacto, senón a sensación. E aí hai un truco que cambia a percepción sen tocar a latencia real: amosar a resposta palabra a palabra en canto comeza a chegar (o que na xerga se chama streaming), en vez de esperar a ter o texto completo para pintalo de golpe. Psicoloxicamente, ver que algo “xa está pasando” tolérase moito mellor que unha pantalla en branco cun punto a xirar.

Hai outras cousas que si reducen o tempo real, non só a percepción. Recortar o system prompt ao imprescindible axuda, porque cada token de máis procésase antes de xerar nada. Gardar en caché resultados de chamadas externas que non cambian cada minuto —prezos, stock aproximado, políticas de envío— tamén quita de en medio a parte máis lenta, que case nunca é o modelo en si, senón a rede ir e vir a outro sistema; é a mesma lóxica que explicamos ao falar de por que ás veces non se ven os cambios dunha web, só que aplicada a datos en vez de a páxinas. E usar un modelo rápido como primeiro filtro, que só escale ao modelo grande cando detecta que a pregunta o necesita, é basicamente o que fixemos coa tenda de mobles: mesma caixa de entrada, dúas velocidades segundo faga falta.

O cliente dos mobles segue con esa configuración mixta meses despois. O que non resolvemos de todo, e dicímolo sen disimulo, é onde trazar a liña entre “isto é simple, vai polo camiño rápido” e “isto precisa o modelo grande”: cada vez que se afina esa regra aparece unha pregunta nova que non encaixa ben en ningún dos dous caixóns.

ialatenciachatbotsrendemento