Principiante 11 minOtras herramientas

Llamafile: un LLM completo en un solo archivo ejecutable

Respuesta directa

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 Clara M.·Actualización 2026-09-28·Probado en Windows, macOS y Linux

#¿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

El kit IA Local

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.

i
GGUF, la base común
Los pesos incluidos en un llamafile están en formato GGUF, el mismo que utiliza llama.cpp, Ollama o LM Studio. Un llamafile no crea un nuevo formato de modelo: empaqueta un GGUF existente con su motor.

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.
!
La limitación de 4 GB en Windows
Windows limita el tamaño de los ejecutables a 4 GB. Por encima de ese límite, hay que elegir un llamafile más pequeño o mantener el archivo de pesos .gguf separado y pasarlo al llamafile con la opción -m. Los demás sistemas no están afectados.

#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.

  1. 01
    Descargar el archivo
    Descarga un .llamafile desde la página de GitHub del proyecto o desde Hugging Face (busca «llamafile» en la barra de búsqueda de modelos).
  2. 02
    macOS y Linux: hacer ejecutable
    Abre un terminal en el directorio de descargas y permite la ejecución con chmod, luego ejecuta el archivo.
  3. 03
    Windows: renombrar a .exe
    Añade la extensión .exe al nombre del archivo y luego haz doble clic en él (o ejecútalo desde PowerShell).
  4. 04
    Abrir la interfaz
    El programa inicia un servidor local y suele abrir automáticamente tu navegador. Si no lo hace, ve a http://localhost:8080.
Terminal — macOS / Linux
# Rendre le fichier exécutable
chmod +x Llama-3.2-3B-Instruct.Q4_K_M.llamafile

# Lancer : ouvre l'interface web sur http://localhost:8080
./Llama-3.2-3B-Instruct.Q4_K_M.llamafile
PowerShell — Windows
# Renommer pour ajouter l'extension .exe
Rename-Item .\Llama-3.2-3B-Instruct.Q4_K_M.llamafile Llama-3.2-3B.exe

# Lancer
.\Llama-3.2-3B.exe
→
El doble clic
En Windows, después de cambiar la extensión del archivo a .exe, y en macOS/Linux, una vez activado el bit de ejecución, basta con hacer doble clic desde el explorador de archivos para iniciar el llamafile. No hace falta un terminal para el uso habitual.

#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.

i
ARM y Apple Silicon
Los llamafiles recientes también incluyen el código para ARM64. En un Mac M1/M2/M3/M4, la inferencia utiliza Metal y se ejecuta de forma nativa, sin emulación Rosetta.

#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.
Terminal — opciones
# Tout charger sur le GPU, contexte 8k, port personnalisé
./Llama-3.2-3B-Instruct.Q4_K_M.llamafile -ngl 999 -c 8192 --port 8090

# Serveur headless avec un GGUF externe (contourne la limite 4 Go)
./llava-v1.5-7b-q4.llamafile --server --nobrowser -m modele.gguf

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.

  1. 01
    Obtener las herramientas
    Descarga la última versión desde GitHub: contiene el binario llamafile (solo el motor) y la herramienta zipalign.
  2. 02
    Tener un GGUF
    Obtén el archivo .gguf del modelo deseado desde Hugging Face, con la cuantización que prefieras (Q4_K_M es un buen equilibrio).
  3. 03
    Escribir los argumentos por defecto
    Crea un archivo .args que enumere las opciones que se aplicarán al iniciar el programa (modelo, interfaz web, etc.).
  4. 04
    Empaquetar con zipalign
    Copia el motor con un nombre nuevo y luego incorpora en él el GGUF y el archivo .args mediante zipalign.
  5. 05
    Probar
    Haz que el archivo resultante sea ejecutable y ejecútalo como cualquier llamafile.
Terminal — empaquetado
# Fichier d'arguments par défaut
cat > .args <<'EOF'
-m
modele.Q4_K_M.gguf
--host
0.0.0.0
...
EOF

# Copier le moteur, puis y injecter poids + args
cp llamafile mon-modele.llamafile
zipalign -j0 mon-modele.llamafile modele.Q4_K_M.gguf .args

# Tester
chmod +x mon-modele.llamafile
./mon-modele.llamafile
→
Elegir la cuantización adecuada
Para un llamafile destinado a compartirse, Q4_K_M ofrece el mejor equilibrio entre tamaño y calidad. Reserva Q5_K_M o Q8_0 para los casos en los que la calidad prima sobre el tamaño del archivo, y FP16 solo para el archivado sin pérdida.

#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.

Llamafile u Ollama, comparativa rápida
CriterioLlamafileOllama
Modelo mentalUn archivo = un modelo, sin servicioGestor de modelos con daemon central
InstalaciónNinguna, el archivo se ejecuta tal cualSe instala una vez y luego se descargan los modelos mediante «pull»
DistribuciónSe puede compartir tal cual y funciona en cualquier sistemaSupone que el destinatario instale Ollama
Varios modelosSe vuelve pesado rápidamente, un archivo por modeloDestaca: cambio instantáneo mediante un comando
Audio (STT)Whisperfile como herramienta complementaria independienteNo nativo
API compatible con OpenAISíSí
LicenciaApache 2.0 (MIT para los módulos reutilizados)MIT
Buena opción siProbar o distribuir sin instalaciónAlternar 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.

i
No son competidores
Nada impide usar ambos: un llamafile para mostrar un modelo a un cliente en su portátil y Ollama como motor permanente en su equipo de trabajo. De hecho, ambos se basan en llama.cpp.

#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.


#FAQ

¿Es gratuito Llamafile?+
Sí. El proyecto llamafile es de código abierto bajo licencia Apache 2.0, y los cambios realizados en llama.cpp y whisper.cpp permanecen bajo licencia MIT. Solo pagas por el hardware y la electricidad necesarios para ejecutar el modelo, como con cualquier herramienta de inferencia local que ejecutes tú mismo.
¿Quién desarrolla llamafile?+
El proyecto fue lanzado por Mozilla Builders en 2023 y posteriormente retomado y modernizado por Mozilla.ai. El repositorio oficial cambió de dirección en GitHub como consecuencia de ello: ahora reside bajo la organización mozilla-ai en lugar de la antigua Mozilla-Ocho, con un nuevo sistema de compilación desde la versión 0.10.0.
¿Llamafile también puede transcribir audio?+
Sí, mediante whisperfile, una herramienta complementaria en un solo archivo basada en whisper.cpp y en el mismo empaquetado Cosmopolitan. Gestiona la transcripción y la traducción de audio sin instalación, en las mismas plataformas que un llamafile de chat clásico, con exactamente el mismo principio de un archivo único y autónomo que se descarga.
¿Por qué no arranca mi llamafile en Windows?+
La causa más común es el límite de 4 GB impuesto a los ejecutables de Windows: un llamafile más grande no puede ejecutarse allí tal cual. La solución es mantener el archivo de pesos GGUF por separado y pasarlo con la opción -m a un llamafile más ligero que contenga «solo el motor».
¿Se necesita instalar llama.cpp para usar llamafile?+
No. Llamafile ya incluye el motor llama.cpp compilado dentro del archivo gracias a Cosmopolitan Libc. Es precisamente esto lo que hace que el formato sea autónomo: no hay dependencias externas que instalar antes de poder ejecutar el modelo, ni siquiera es necesario conocer previamente la existencia de llama.cpp.
¿Esta guía te ha ayudado?

¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.