Chatbots IA Sin Conexión: Cómo instalar GPT4ALL y Jan en Tu PC
Si utilizas de forma asidua ChatGPT, seguro que estás muy acostumbrado a acceder a él mediante el navegador. Puedes hacerlo desde el ordenador, pero también desde el móvil. Todas las órdenes que envías se procesan en un servidor remoto y no tienen apenas impacto en tu dispositivo. Este enfoque, al que nos hemos acostumbrado gracias a miles de apps que funcionan en la nube, no siempre es el más conveniente. ¿Y si pudieras instalar modelos de lenguaje como GPT en tu ordenador y utilizarlos sin conexión a Internet?
Eso es, precisamente, lo que te proponemos en esta guía. En los siguientes apartados te explicamos qué pasos debes seguir para disfrutar de un chatbot que ejecuta las peticiones en local, es decir, aprovechando la potencia de tu equipo y sin conectarse a Internet. Como te podrás imaginar, todas las soluciones de las que hablamos aquí están pensadas para PC y Mac. No obstante, lo mejor es que no vas a necesitar un súper equipo para ejecutar el LLM que prefieras.
Antes de hablar de GPT4All y Jan, que son las dos herramientas que nos van a ayudar a instalar modelos LLM de forma local, es necesario que nos pongamos en antecedentes. Consideramos oportuno aclarar algunas cosas antes de poner manos a la obra.
Estos son los puntos que debes conocer:
- No necesitas mucha potencia. Cuando te explicamos cómo emplear Stable Diffusion sin Internet, hablamos de unos requisitos bastante elevados. No obstante, con las herramientas que te proponemos en esta publicación, no vas a necesitar un PC muy potente y ni siquiera una tarjeta gráfica dedicada. De hecho, para saber hasta qué punto es posible utilizar un equipo modesto, hemos hecho todas las pruebas en un Huawei Matebook D15 de 2020.
- Rendimiento supeditado a las prestaciones de tu equipo. Siguiendo con la idea anterior, si bien es cierto que no necesitas un ordenador muy potente para ejecutar las herramientas y los LLM que incluyen, el tiempo de respuesta va acorde a las especificaciones del equipo. Ya te avanzo que, aunque nuestro humilde Huawei ha podido con ellos, el tiempo para obtener respuestas fue muy elevado.
- No juzgamos los modelos. Con las aplicaciones que te proponemos aquí podrás experimentar con diferentes modelos de lenguaje. En ningún caso vamos a juzgar las respuestas que hemos recibido, pues nuestra intención es enseñarte cómo utilizar los modelos sin conexión a Internet, no ponerlos a prueba. Eso sí, nos hemos encontrado con alguna respuesta divertida que sí vamos a compartir contigo.
- Multiplataforma. Hemos seguido estos pasos en el equipo mencionado por sus especificaciones modestas, pero también porque tiene instalado Windows y es el sistema más popular. Con todo, puedes utilizar GPT4All y Jan en entornos Mac y Linux. En funcionamiento, en todos los casos, es prácticamente idéntico, con la salvedad del proceso de instalación, que difiere según el sistema operativo.
- Privacidad. Siempre y cuando utilices un modelo local, no uno que funcione mediante una API remota, todas las consultas que hagas se quedarán en tu ordenador. Es decir, disponer de un chatbot que no necesita conexión a Internet implica que tus conversaciones son privadas y no se procesan por terceros. Sin duda, esta es una cuestión muy importante para algunos.
Con estas aclaraciones sobre la mesa, ya estamos listos para empezar a experimentar con los modelos de lenguaje disponibles para su ejecución en local. ¡Vamos allá!
La primera opción que te recomendamos para usar un chatbot basado en LLM sin conexión a Internet es GPT4All. Como menciona en su página web oficial, ni vas a necesitar conectarte a ningún servidor ni tener una GPU (se entiende que se refiere a una dedicada). Lo primero que debes hacer es descargar el instalador más apropiado para tu equipo, según el sistema operativo que tengas instalado.
El proceso de instalación es bastante sencillo, con el asistente típico en Windows. También hemos probado a ejecutar la aplicación en un MacBook Air con M2 y ha sido necesario activar Rosetta. Sea como fuere, sigue los pasos que aparecen en pantalla.
Durante la instalación, el programa va a descargar los archivos necesarios para que todo funcione. Y es que en realidad el archivo EXE que vas a descargar desde la página web de GPT4All solo pesa unos 27 MB.
Una vez instalada la herramienta, ya puedes ejecutarla en tu ordenador. Después de una ventana donde se muestran las novedades de la versión actual, irás a parar al espacio de descubrimiento de modelos. Es el sitio desde el cual vas a poder descargar el LLM deseado para empezar a interactuar con él. Cuando encuentres el deseado, presiona en Download y espera a que se complete la descarga.
Relacionado con esto, debes saber que cada modelo incluye una serie de comentarios. Por ejemplo, en el Nous Hermes 2 se explica que las respuestas suelen ser rápidas, que ha sido entrenado por Mistral y que tiene licencia de uso comercial. También se muestra el peso total del modelo y la cantidad de memoria RAM requerida para funcionar. Es interesante notar que, si la memoria del equipo es inferior a la recomendada, va a aparecer un aviso. Se trata de una recomendación que, en ningún caso, te va a impedir la descarga.
También están presentes los modelos de OpenAI, como GPT-3.5. Pero, ¡cuidado! Requieren una API para funcionar. Eso significa que el modelo se ejecuta en servidores remotos y no en tu equipo. Así, GPT4All se convierte en una especie de cliente de ChatGPT. Es evidente que no es lo que estamos buscando ahora mismo.
GPT4All cuenta con una base de datos de modelos muy extensa. Sin ir más lejos, al escribir GPT aparecen algunas propuestas, aunque no son en ningún caso los LLM oficiales de OpenAI. Lo más llamativo es que muchos de los modelos que encontrarás han sido entrados con conjuntos de datos muy específicos y con propósitos concretos.
Como la intención no es analizar el comportamiento y la fiabilidad de los modelos, la exploración y selección de estos te la dejamos a ti. Nosotros hemos descargado Nous Hermes 2 de Mistral, un modelo que, por cierto, necesita al menos 8 GB de RAM, una cifra a la que nuestro equipo de pruebas no llega. Una vez hayas descargado los modelos que quieres utilizar, cierra la zona de exploración y presiona en Choose a model, en la parte superior de la ventana.
Después de seleccionar el modelo, empieza una nueva conversación, igual que harías en ChatGPT. Haz tu petición y espera la respuesta. En nuestro caso, la experiencia ha sido bastante lenta y farragosa. Claro, todo dependerá de las prestaciones de tu equipo.
Si bien GPT4All nos avisaba de una posible falta de memoria RAM, lo que más ha sufrido ha sido el Ryzen 3500U, que sin prisa, pero sin pausa ha ido sacando las respuestas del modelo.
Dependiendo del modelo que elijas, vas a poder lanzar un tipo de tarea concreta. Todo depende de los datos que hayan utilizado para entrenar el modelo. En el caso de Nous Hermes 2, admite las típicas peticiones, geniales para procesar texto, crear contenido o traducir texto.
A partir de aquí, tienes horas de pruebas por delante, con una selección de modelos enorme y la posibilidad de ajustar sus parámetros internos desde los ajustes.
Jan es otra herramienta que te ayuda a instalar modelos de lenguaje en tu ordenador. Puedes descargarla desde su página web oficial, de manera gratuita. Al finalizar la instalación, verás que aparece una ventana muy parecida a la de ChatGPT. Es necesario que hagas clic en el botón Explore The Hub para empezar a obtener los modelos que más te interesen.
Nuevamente, las opciones disponibles son muchas. También existe la posibilidad de acceder a IA generativas en la nube, como las de OpenAI. En todos los casos, se especifica que se accede a ellas mediante API, siendo necesaria la obtención de la clave antes de poner en marcha el modelo. Recuerda que en esos casos todo se procesa en remoto, y no en tu ordenador.
Si seleccionas un modelo que se pueda instalar en modo local, como TinyLlama Chat, una vez descargado estará disponible en la barra lateral derecha, en el apartado Model.
Como ves en la siguiente imagen, algunos modelos todavía tienen un largo recorrido por delante, especialmente cuando los usamos en español.
Algo interesante que tiene Jan y que no hemos podido disfrutar en GPT4All es la instalación de extensiones. Una de las más útiles es la que añade un monitor de recursos a la zona inferior de la pantalla. En la siguiente captura puedes ver que la ejecución de Llama2 Chat, un modelo mucho más pesado que TinyLlama, ha saturado a nuestro querido Matebook. Incluso así, las respuestas se han completado en todos los casos.
Otro punto llamativo de Jan es que indica la velocidad de la respuesta. En este caso, se especifica el número de tokens procesados por segundo.
Como se desprende de lo analizado, Jan es una excelente aplicación para instalar todo tipo de modelos. Obviamente, seguro que no se te escapa que hablamos de una interfaz que proporciona acceso a los modelos LLM, tal y como hace GPT4All. Con todo, cuenta con una interfaz muy amigable y una serie de funcionalidades que facilitan el uso de los chatbots.
Adicionalmente, Jan cuenta con otra capacidad que no encontramos en GPT4All. Y es que incluye una API equivalente a la de GPT que se ejecuta en tu ordenador, en localhost. De este modo, las aplicaciones que te solicitan una clave de la API de OpenAI para utilizar ChatGPT, podrán conectarse a Jan. Esta es una forma fácil de evitar la conexión con los servidores remotos de OpenAI, mejorando tu privacidad incluso cuando utilizas aplicaciones y servicios de terceros.
Si te interesa utilizar la API de Jan y sustituir la de OpenAI, dispones de toda la información en esta página
Los modelos de lenguaje que dan vida a la conocida como IA generativa tienen cientos de aplicaciones. Poco a poco, las grandes empresas están integrando esta tecnología en sus productos, dándoles sentido a las capacidades de servicios como ChatGPT. Las dos propuestas de las que hablamos aquí van un poco más allá, favoreciendo una ejecución más privada de los LLM, eliminando la necesidad de consumir recursos remotos y convirtiendo prácticamente cualquier PC en una plataforma de inteligencia artificial.