- llamafile empacota um modelo GGUF e o mecanismo de inferência llama.cpp em um único arquivo executável que roda em Linux, macOS, Windows, FreeBSD e outros — sem necessidade de instalação.
- Executar
./model.llamafilee uma interface de chat no navegador abre automaticamente; uma API compatível com OpenAI é servida emhttp://localhost:8080/v1. - Arquivos maiores que 4 GB não podem rodar diretamente no Windows — use uma quantização menor ou execute o runtime e GGUF separadamente.
- Best for air-gapped machines, USB deployment, and one-file sharing. Ollama is better for managing multiple models long-term.
llamafile é um único arquivo executável que contém tanto um modelo de linguagem quanto o runtime de inferência. Construído sobre llama.cpp e Cosmopolitan Libc, o mesmo arquivo roda nativamente em Linux, macOS, Windows, FreeBSD e outros — sem container, sem ambiente Python, sem gerenciador de pacotes necessário.
Como um Único Arquivo Roda em Todos os Sistemas Operacionais
llamafile se baseia em duas tecnologias. llama.cpp fornece o mecanismo de inferência C++ para modelos em formato GGUF. Cosmopolitan Libc produz um binário poliglota: um único conjunto de bytes que satisfaz simultaneamente o formato PE/COFF que Windows espera, o formato ELF que Linux espera e o cabeçalho Mach-O que macOS espera. Quando você executa o arquivo, cada carregador do sistema operacional encontra seu próprio cabeçalho válido e executa o binário nativamente — sem emulação ou camada de tradução envolvida.
Os pesos do modelo são anexados a este binário usando um container compatível com ZIP. ZIP permite dados arbitrários antes do registro do diretório central, então o arquivo GGUF fica no final sem corromper o executável. O runtime localiza os pesos buscando até o fim do arquivo na inicialização. Um efeito colateral prático: você pode inspecionar ou extrair os pesos de qualquer llamafile usando um utilitário ZIP padrão.
Baixando e Executando um llamafile
llamafiles pré-construídos são publicados no Hugging Face por autores de modelos e vinculados a partir do repositório Mozilla-Ocho/llamafile no GitHub. Os arquivos usam a extensão .llamafile .
Linux e macOS
# Torna executável — arquivos baixados não têm o bit de execução por padrão
chmod +x mistral-7b-instruct.llamafile
# Inicia o servidor e interface web (navegador abre automaticamente)
./mistral-7b-instruct.llamafile
# Inferência CLI em uma única passada sem iniciar o servidor
./mistral-7b-instruct.llamafile -p "Explain llamafile in one paragraph"
O servidor se vincula a 127.0.0.1:8080 por padrão. Passe --port 9000 para alterar a porta, ou --host 0.0.0.0 para escutar em todas as interfaces de rede — útil para servir a partir de uma máquina sem monitor em uma rede local. Execute./model.llamafile --help para ver todas as flags disponíveis, incluindo opções para suprimir a aba do navegador automática ao rodar sem interface gráfica.
Windows
Windows requer que executáveis terminem em .exe. Renomeie o arquivo antes de executar:
ren mistral-7b-instruct.llamafile mistral-7b-instruct.llamafile.exe
Em seguida, clique duas vezes no Explorer ou execute a partir do Prompt de Comando. Uma aba do navegador abre automaticamente.
O limite de 4 GB. O carregador PE do Windows não consegue lidar com executáveis maiores que 4 GB. A maioria dos modelos 7B em quantização Q8 ou superior e todos os modelos 13B+ excedem este limite. Se o arquivo tiver mais de 4 GB, Windows se recusará a iniciá-lo. Suas opções: baixar uma Q4_K_M variante quantizada (normalmente 4–5 GB para um modelo 7B, frequentemente apenas abaixo do limite), ou baixar o binário de runtime llamafile autossuficiente e passar o GGUF como argumento separado. Antes de escolher um modelo e quantização, verifique os requisitos de VRAM e tamanho de arquivo para principais LLMs para escolher a quantização correta para seu hardware.
A Interface Web Integrada
Executar um llamafile sem a flag -p inicia um servidor HTTP e abre seu navegador padrão em http://localhost:8080. A interface é um aplicativo de página única completamente autossuficiente sem dependências externas de CDN — funciona completamente offline. Ela expõe:
- Configuração de prompt de sistema
- Parâmetros de amostragem: temperature, top-p, top-k, repeat penalty
- Exibição de contagem de tokens
- Histórico de conversa persistente dentro da sessão
Qualquer dispositivo em sua LAN pode acessar a interface se você iniciou o servidor com --host 0.0.0.0.
A API Compatível com OpenAI
Enquanto o servidor está rodando, llamafile expõe uma API REST compatível com OpenAI em http://localhost:8080/v1. Qualquer cliente SDK OpenAI, LangChain ou integração LlamaIndex pode direcioná-la substituindo a URL base:
curl http://localhost:8080/v1/chat/completions
-H "Content-Type: application/json"
-d '{
"model": "local",
"messages": [{"role": "user", "content": "Hello"}]
}'
No Python, defina base_url="http://localhost:8080/v1" e qualquer string não vazia como chave de API ao construir o cliente openai.OpenAI . O modelo o campo nas solicitações é ignorado — o modelo carregado é sempre utilizado.
Criando um llamafile a partir de um GGUF Existente
Se você já possui um modelo GGUF — do ecossistema llama.cpp, do cache local do Ollama ou de um download do Hugging Face — pode empacotá-lo em um llamafile autocontido. Esse processo utiliza a llamafile-zipalign , uma ferramenta incluída no conjunto de ferramentas llamafile:
- Baixe o pacote de versão do llamafile para sua plataforma na página de lançamentos no GitHub.
- Extraia o binário autônomo
llamafile(apenas o tempo de execução, sem modelo embutido). - Use
llamafile-zipalignpara anexar seu GGUF a uma cópia do binário de tempo de execução. - Marque o resultado como executável e execute-o.
A sintaxe exata das opções mudou entre versões. Consulte a seção oficial do README sobre criação de llamafiles para obter a sintaxe atual. A saída é um único arquivo portátil que pode ser distribuído como qualquer outro binário.
llamafile vs Ollama: Quando Usar Cada Um
Ambas as ferramentas rodam modelos GGUF localmente e expõem APIs compatíveis com OpenAI. Elas resolvem problemas diferentes. Veja o Guia completo do Ollama para uma análise mais detalhada do outro lado dessa comparação.
| Critério | llamafile | Ollama |
|---|---|---|
| Instalação | Nenhuma — basta baixar e executar | Requer instalador ou gerenciador de pacotes |
| Gerenciamento de modelos | Manual — um arquivo por modelo | Biblioteca embutida, ollama pull |
| Portabilidade | Arquivo único — USB, e-mail, compartilhamento NFS | Exige o daemon do Ollama no host de destino |
| Aceleração por GPU | CUDA, Metal, ROCm (detectados automaticamente) | CUDA, Metal, ROCm |
| Atendimento simultâneo a múltiplos modelos | Um modelo por processo | Vários modelos, troca automática em tempo real |
| Modelos grandes no Windows | Limitado: apenas executáveis com menos de 4 GB | Suporte completo para qualquer tamanho |
| Implantação em ambiente isolado (air-gapped) | Excelente — nenhuma dependência de tempo de execução | Requer instalação do daemon |
| Interface web embutida | Sim, sem necessidade de instalação adicional | Requer uma interface frontal separada |
Escolha o llamafile quando for distribuir para uma máquina que você não controla, executar em um ambiente isolado (air-gapped) ou incorporar um modelo em um projeto que deve funcionar sem dependências de nível de sistema. Escolha o Ollama quando você gerencia uma biblioteca de modelos, deseja atualizações automáticas ou alterna frequentemente entre modelos na mesma sessão.
Se você está avaliando se a inferência local faz sentido econômico para sua carga de trabalho, o calculadora de ponto de equilíbrio entre hospedagem local e uso de API pode quantificar a relação de custo-benefício em comparação com os custos das APIs em nuvem.
Requisitos de hardware
O llamafile adiciona sobrecarga desprezível além do llama.cpp. O gargalo é sempre o tamanho do modelo e sua quantização. O llamafile detecta aceleradores disponíveis na inicialização — CUDA para GPUs NVIDIA, Metal para Apple Silicon e ROCm para AMD — e os utiliza automaticamente. Caso nenhuma GPU seja encontrada, ele recorre à inferência na CPU, utilizando instruções AVX2 ou AVX-512, quando disponíveis.
Um modelo de 7 bilhões de parâmetros na quantização Q4_K_M requer aproximadamente 4–5 GB de VRAM para execução integral na GPU. Use o calculadora de VRAM para estimar os requisitos de qualquer modelo e quantização específicos antes do download. Para decisões de compra de hardware, o guia das melhores GPUs para LLMs locais aborda as opções atuais em diferentes faixas de preço.
Perguntas frequentes
Posso executar o llamafile em Apple Silicon?
Sim. O llamafile gera um binário nativo Mach-O no Apple Silicon e usa automaticamente a aceleração por GPU Metal. O desempenho é sólido para modelos de 7B e 13B; modelos maiores são limitados pela memória unificada disponível. Um M2 Max ou M3 Pro com 36 GB de memória unificada consegue executar confortavelmente modelos da classe 30B.
O llamafile suporta modelos multimodais (visão)?
O llamafile é construído sobre o llama.cpp, que suporta modelos de visão no estilo LLaVA. Se um llamafile específico suporta entrada de imagens depende de o modelo embutido ser, de fato, multimodal. Verifique o cartão do modelo do arquivo que você baixou — essa capacidade reside nos pesos, não no tempo de execução.
Como interrompo o servidor?
Imprensa Ctrl+C no terminal onde o llamafile está sendo executado. Se você o iniciou clicando duas vezes no Windows ou macOS, feche a janela do terminal que apareceu ou encerre o processo pelo Gerenciador de Tarefas ou pelo Monitor de Atividade.
Posso executar o llamafile como um serviço em segundo plano?
Sim. No Linux, envolva-o em um arquivo de unidade systemd. No macOS, crie um arquivo plist para launchd. O llamafile aceita sinais Unix padrão e funciona com qualquer supervisor de processos. Execute ./model.llamafile --help para encontrar a opção que suprime a abertura automática da guia do navegador ao executar em um ambiente headless.
O llamafile é o mesmo que um arquivo GGUF?
Não. Um arquivo GGUF contém apenas os pesos do modelo e exige um tempo de execução separado — como o llama.cpp, o Ollama, LM Studio, ou similar — para ser executado. Um arquivo llamafile empacota os pesos e de execução em um único arquivo. Como os pesos são anexados no formato ZIP, é possível extrair o arquivo GGUF bruto de qualquer arquivo llamafile com qualquer utilitário ZIP padrão e usá-lo em outro lugar.
Como o llamafile se compara ao LM Studio?
LM Studio is a GUI desktop application for model discovery and inference — it requires installation and manages a library of models, making it closer to Ollama than to llamafile. llamafile is a deployment format: no GUI, no model library, just a file you execute. LM Studio suits users who want a visual interface; llamafile suits automated, headless, or portable deployments. See the Guia completo do LM Studio para uma análise detalhada.
