Hoy cualquiera sabe que le puede hacer una pregunta a un modelo de lenguaje (LLM) y recibir una respuesta. Lo que mucha gente supone es que eso exige conexión a internet, porque esos modelos viven en centros de datos gigantes. Pero un LLM también puede correr en hardware local y contestar sin red. Cameron Coward, del canal de YouTube Serial Hobbyism, aprovechó eso y conectó un Arduino UNO Q a un terminal antiguo, según contó el blog de Arduino el 1 de octubre.

Un terminal de papel de los años setenta

El terminal es un Texas Instruments Silent 700 (modelo 745), un terminal de papel fabricado en la década de 1970. En su época se usaba como dispositivo de entrada y salida de algo como un minicomputador, conectado por un acoplador acústico (en remoto) o por RS232 (en local). El usuario escribía comandos en el teclado y la respuesta del computador se imprimía en papel térmico.

Para este proyecto, Coward conectó el Silent 700 a Termi3, un equipo que armó él mismo para darle al terminal la capacidad de contestar preguntas. El usuario escribe la pregunta y, un momento después, el terminal imprime la respuesta.

¿Qué cambió en la tercera versión?

Como sugiere el nombre, Termi3 es la tercera versión del aparato. Las dos primeras necesitaban internet, porque sacaban las respuestas de la API de Wolfram Alpha.

Termi3 no necesita ninguna conexión, porque genera la respuesta en local sobre un UNO Q de 2 GB. La placa corre un LLM local, Llama 3.2-1B, en el lado Linux, sin tocar nunca una red. La comunicación con el terminal se hace por bit-banging desde el lado STM32 de la placa, que pasa por un transceptor MAX3232 (para convertir los niveles de voltaje) hasta el puerto RS232 del terminal.

Respuestas que no siempre aciertan

Según el blog de Arduino, sorprende que un LLM pueda correr en una placa tan chica y barata como el UNO Q, sobre todo con 2 GB de RAM. Por eso el modelo no es sofisticado y sus respuestas no siempre son correctas, ni siquiera coherentes. Pero muchas veces son entretenidas, y eso hace que conversar con Termi3 sea divertido.