Llamafile: un LLM completo en un solo archivo ejecutable
Llamafile (proyecto mozilla-ai/llamafile, licencia Apache 2.0) condensa un modelo GGUF y su motor llama.cpp en un único ejecutable gracias a Cosmopolitan Libc. Descargas un archivo, le das permisos de ejecución (o le añades la extensión .exe en Windows), y se abre una interfaz de chat en http://localhost:8080, sin instalación ni daemon. El mismo archivo funciona en Windows, macOS, Linux y BSD, con un límite de 4 GB en Windows.
Llamafile es un proyecto de Mozilla que integra un modelo de lenguaje completo y su motor de inferencia en un solo archivo ejecutable. Sin instalación, sin dependencias, sin daemon: descargas un archivo, lo ejecutas y un LLM funciona en tu máquina con una interfaz web. El mismo archivo funciona de forma idéntica en Windows, macOS y Linux. Esta guía muestra cómo lanzar un llamafile, qué contiene y en qué casos es mejor que herramientas como Ollama.
#¿Por qué llamafile?
La mayoría de las herramientas LLM locales requieren una instalación, un servicio en segundo plano y luego la descarga de un modelo. Llamafile elimina todos estos pasos: el motor de inferencia y los pesos del modelo están en un único archivo. Lo haces ejecutable, lo ejecutas y tu navegador abre una interfaz de chat. Es el camino más corto desde un enlace de descarga hasta una conversación con un modelo en local.
Este formato destaca en tres situaciones. Para probar rápidamente un modelo sin llenar tu máquina de dependencias. Para distribuir un LLM a colegas o usuarios no técnicos: un solo archivo que enviar, nada que configurar. Y para el archivado: un llamafile seguirá funcionando dentro de años, sin depender de un entorno de ejecución que haya que instalar ni de que un repositorio en línea siga siendo accesible.
- Sin instalación
- Ningún paquete, ningún daemon, ninguna variable de entorno que configurar.
- Un solo archivo
- Motor + modelo reunidos: fácil de copiar, hacer copias de seguridad o compartir.
- Multi-OS
- El mismo binario funciona en Windows, macOS, Linux, BSD (x86-64 y ARM64).
- 100 % local
- Ningún dato sale de la máquina y no se requiere ninguna conexión de red tras la descarga.
#Cómo funciona: el formato Mozilla
Tu ChatGPT privado y gratuito en tu máquina en 1 hora — LM Studio, Ollama, Open WebUI, tus documentos, sin nube.
- Espacio en línea de por vida
- PDF + archivos
- Actualizaciones de por vida
Llamafile combina dos componentes de código abierto. El primero es llama.cpp, el motor de inferencia en C/C++ que ejecuta modelos en formato GGUF tanto en CPU como en GPU. El segundo es Cosmopolitan Libc, una biblioteca creada por Justine Tunney que permite compilar un ejecutable «políglota»: un mismo archivo binario reconocido y ejecutado de forma nativa por varios sistemas operativos.
En concreto, un archivo .llamafile es a la vez un programa y un archivo contenedor. Contiene el código del servidor de inferencia y, empaquetado en su interior, el archivo GGUF de los pesos. Al ejecutarse, detecta el sistema operativo y la arquitectura, carga el modelo desde el propio archivo y luego inicia un servidor HTTP local con una interfaz web de chat.
El proyecto llamafile en sí está bajo licencia Apache 2.0; las modificaciones realizadas en llama.cpp y whisper.cpp para las necesidades del proyecto siguen bajo licencia MIT, como los proyectos originales, para mantener la compatibilidad y permitir su reintegración en los proyectos de origen. Desde la versión 0.10.0, llamafile utiliza un nuevo sistema de compilación alineado con las versiones recientes de llama.cpp, lo que amplía la compatibilidad con modelos y funciones más recientes; las versiones anteriores siguen disponibles para quienes prefieran la experiencia «clásica».
El proyecto también incluye whisperfile, una herramienta complementaria en un solo archivo basada en whisper.cpp y en el mismo empaquetado Cosmopolitan, para la transcripción y la traducción de audio, sin instalación, en las mismas plataformas que un llamafile clásico.
#Prerrequisitos
Los requisitos son mínimos de forma deliberada. Lo esencial es tener suficiente memoria para el modelo elegido; el tamaño del archivo y la RAM necesaria dependen directamente de la cuantización.
- OS
- Windows 10+, macOS 11+, Linux reciente o BSD. x86-64 o ARM64 (incluido Apple Silicon).
- RAM
- Calcular aproximadamente el tamaño del archivo más un margen. Un modelo de 7B en Q4 (~5 GB) funciona cómodamente con 8 a 16 GB.
- GPU (opcional)
- Aceleración posible mediante NVIDIA (CUDA) o Apple Metal. Sin GPU, la inferencia se realiza en CPU, más lenta pero funcional.
- Espacio en disco
- Desde unos 500 MB para un modelo pequeño hasta varias decenas de GB para un modelo grande sin cuantizar.
#Descargar y ejecutar en segundos
El repositorio oficial mozilla-ai/llamafile en GitHub lista llamafiles listos para usar, y Hugging Face aloja muchos otros. El proyecto, inicialmente lanzado por Mozilla Builders, está ahora a cargo de Mozilla.ai, que se encarga de su mantenimiento. Una vez descargado el archivo, el procedimiento varía muy poco según el sistema operativo.
- 01Descargar el archivoDescarga un .llamafile desde la página de GitHub del proyecto o desde Hugging Face (busca «llamafile» en la barra de búsqueda de modelos).
- 02macOS y Linux: hacer ejecutableAbre un terminal en el directorio de descargas y permite la ejecución con chmod, luego ejecuta el archivo.
- 03Windows: renombrar a .exeAñade la extensión .exe al nombre del archivo y luego haz doble clic en él (o ejecútalo desde PowerShell).
- 04Abrir la interfazEl programa inicia un servidor local y suele abrir automáticamente tu navegador. Si no lo hace, ve a http://localhost:8080.
#El mismo archivo en Windows, Mac y Linux
Es la promesa más sorprendente de llamafile: el archivo que descargas en Linux es exactamente el mismo que funcionará en un Mac o en un PC con Windows. No hay que elegir una versión «Windows», «Mac» o «Linux». Esta portabilidad proviene de Cosmopolitan Libc, que genera un ejecutable que varios sistemas pueden interpretar.
En la práctica, esto significa que un mismo llamafile guardado en una memoria USB o en un recurso compartido de red funciona para todo un equipo, independientemente de los ordenadores que utilicen. Distribuyes un modelo sin preocuparte por el sistema operativo de cada uno ni pedir a nadie que instale nada.
#Opciones útiles en línea de comandos
La interfaz web basta para conversar, pero algunas opciones permiten ajustar el comportamiento. Se añaden después del nombre del archivo al iniciar.
- -ngl N
- Transfiere N capas del modelo a la GPU (por ejemplo, -ngl 999 para ponerlas todas en la VRAM si hay suficiente).
- -c N
- Fija el tamaño de la ventana de contexto en tokens (por ejemplo, -c 4096).
- --host / --port
- Cambia la dirección y el puerto de escucha del servidor (por defecto localhost:8080).
- -m fichier.gguf
- Utiliza un archivo de pesos externo en lugar del integrado — útil para superar la limitación de Windows de 4 GB.
- --server --nobrowser
- Inicia en modo servidor sin abrir un navegador, práctico para uso headless.
El servidor también expone una API compatible con OpenAI en /v1/chat/completions. Por lo tanto, puedes conectar un llamafile detrás de cualquier cliente que use el protocolo OpenAI, simplemente apuntando la URL base a http://localhost:8080/v1.
#Crear tu propio llamafile
No estás limitado a archivos preparados por otros: cualquier modelo GGUF puede empaquetarse. El proyecto proporciona un binario zipalign y un ejecutable «vacío» (solo el motor) al que se añade el archivo de pesos y un archivo de argumentos por defecto.
- 01Obtener las herramientasDescarga la última versión desde GitHub: contiene el binario llamafile (solo el motor) y la herramienta zipalign.
- 02Tener un GGUFObtén el archivo .gguf del modelo deseado desde Hugging Face, con la cuantización que prefieras (Q4_K_M es un buen equilibrio).
- 03Escribir los argumentos por defectoCrea un archivo .args que enumere las opciones que se aplicarán al iniciar el programa (modelo, interfaz web, etc.).
- 04Empaquetar con zipalignCopia el motor con un nombre nuevo y luego incorpora en él el GGUF y el archivo .args mediante zipalign.
- 05ProbarHaz que el archivo resultante sea ejecutable y ejecútalo como cualquier llamafile.
#Llamafile vs Ollama: dos filosofías
Llamafile y Ollama responden a la misma necesidad — ejecutar un LLM localmente — pero con lógicas opuestas. Ollama instala un daemon que escucha en http://localhost:11434 y gestiona una biblioteca de modelos descargados según sea necesario. Llamafile no gestiona nada: cada modelo es un archivo autónomo que puede lanzarse directamente.
| Criterio | Llamafile | Ollama |
|---|---|---|
| Modelo mental | Un archivo = un modelo, sin servicio | Gestor de modelos con daemon central |
| Instalación | Ninguna, el archivo se ejecuta tal cual | Se instala una vez y luego se descargan los modelos mediante «pull» |
| Distribución | Se puede compartir tal cual y funciona en cualquier sistema | Supone que el destinatario instale Ollama |
| Varios modelos | Se vuelve pesado rápidamente, un archivo por modelo | Destaca: cambio instantáneo mediante un comando |
| Audio (STT) | Whisperfile como herramienta complementaria independiente | No nativo |
| API compatible con OpenAI | Sí | Sí |
| Licencia | Apache 2.0 (MIT para los módulos reutilizados) | MIT |
| Buena opción si | Probar o distribuir sin instalación | Alternar entre varios modelos a diario |
La diferencia se resume así: llamafile gana para hacer pruebas puntuales, distribuir a personas sin conocimientos técnicos o archivar un modelo fijo; Ollama gana en cuanto se manejan varios modelos a diario o se integra un LLM en un conjunto de herramientas pensado para durar, con una interfaz como Open WebUI o LM Studio.
#Solución de problemas
- «run-detectors» o imposibilidad de iniciar (Linux)
- Un binutils/binfmt demasiado estricto puede bloquear el formato políglota. Solución: instalar el paquete APE loader o ejecutar mediante sh -c "./fichier.llamafile".
- Archivo demasiado grande en Windows
- Si supera los 4 GB, mantén el GGUF separado y pásalo con -m a un pequeño llamafile que contenga «solo el motor».
- Sin aceleración GPU
- Verifica que los controladores CUDA (NVIDIA) estén presentes y añade -ngl 999. En Mac, Metal se usa automáticamente.
- Puerto ya ocupado
- Otro servicio está ejecutándose en el puerto 8080: cambia el puerto con --port 8090, por ejemplo.
- Respuestas lentas
- Si solo se usa la CPU, es normal con los modelos grandes. Elige una cuantización más ligera o un modelo más pequeño (3B en lugar de 7B).
#Para ir más allá
Llamafile es un punto de partida ideal. Para un uso local más completo y duradero, estas guías profundizan en el tema.
- Instalar un LLM local: guía paso a paso
- Ollama vs llama.cpp: ¿cuál elegir?
- Alternativas a Ollama: visión general
- Instalar Ollama en 5 minutos
- Fuente: repositorio GitHub de llamafile
- Fuente: documentación oficial de llamafile
- Fuente: anuncio original de llamafile
#FAQ
¿Es gratuito Llamafile?+
¿Quién desarrolla llamafile?+
¿Llamafile también puede transcribir audio?+
¿Por qué no arranca mi llamafile en Windows?+
¿Se necesita instalar llama.cpp para usar llamafile?+
¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.