Ollama: ejecuta LLMs de forma local ► Tutorial
Llevo un tiempo leyendo sobre Ollama, una herramienta open source (github que te permite correr LLMs (Large-Language-Models) en tu máquina local, de forma muy sencilla.
Ollama expone una API mediante la cual puedes interactuar con los diferentes modelos, que se configuran utilizando archivos de configuración (Modelfile). Además te permite descargar y añadir diferentes modelos utilizando el formato GGUF.
A continuación te dejo un vídeo de YouTube de mi canal Pirobits donde realizo una introducción a Ollama:
Para instalarlo es sencillo: entra la página de ollama para descargar e instalar la aplicación.
Modelos de LLMs incluídos por defecto
Si quieres experimentar con diferentes modelos y no quieres tener que aprender aún nuevos coneptos, Ollama tiene una biblioteca por defecto que incluye los siguientes modelos:
- Llama 2 (7B, 13B, 70B)
- Mistral (7B, 13B, 70B)
- Codellama
- Vicuna
- Consulta el resto de modelos en ollama.ai/library.
Cada modelo tiene una serie de variantes, por ejemplo habrás visto términos como 7B, 13B 70B... estos hacen referencia al número de parámetros (b = billions) que contiene el modelo. En general, cuantos más parámetros, más calidad suelen tener las respuestas del modelo en una tarea, pero también necesita más RAM. Además, hay modelos con menos parámetros que con fine-tuning pueden llegar a funcionar mejor.
Tutorial: cómo utilizar ollama con LLaMA2 o Mistral
Una vez has instalado ollama, simplemente tienes que ejecutar el siguiente comando:
ollama run <modelo>:<etiqueta>
Por ejemplo, el más simple puede ser:
ollama run llama2:7b
Esto primero descargará (ollama pull) y ejecutará el modelo para que puedas interactuar desde la terminal. También, cuando ejecutas Ollama, tienes disponible una API Rest con la que puedes interactuar realizando una petición HTTP usando cualquier herramienta, por ejemplo, curl:
curl http://localhost:11434/api/generate -d '{
"model": "llama2",
"prompt": "Why is the sky blue?"
}'
Puedes leer toda la información sobre la api en su documentación.
Ollama - WebUI
Al leer sobre su API Rest he pensado que tendría que haber algún proyecto que imitase la interfaz de ChatGPT o de algún chatbot, y efectivamente, existe un proyecto Ollama-WebUI que te permite interactuar con estos modelos cómodamente desde el navegador.
Para ejecutarlo simplemente lanza el siguiente comando (necesitas tener instalado docker):
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v ollama-webui:/app/backend/data --name ollama-webui ghcr.io/ollama-webui/ollama-webui:main
Ahora entra en tu navegador en localhost:3000 (puedes cambiar el puerto si lo tienes ocupado por algún front) y a practicar jeje.
Si te ha resultado útil este artículo agradecería si te suscribes a mi newsletter. Recibirás contenido exclusivo de calidad y también me ayudarás enormemente. Cada suscripción apoya el trabajo que realizo y me permite conocer mejor los temas que te interesan, de forma que puedo mejorar los conocimientos que comparto contigo.