Início Rápido do LocalAI: Execute LLMs Compatíveis com OpenAI Localmente
Hospede APIs compatíveis com OpenAI com o LocalAI em minutos.
O LocalAI é um servidor de inferência de auto-hospedagem, com prioridade local, projetado para funcionar como uma API OpenAI plug-and-play para executar cargas de trabalho de IA no seu próprio hardware (laptop, estação de trabalho ou servidor local).
O projeto visa uma compatibilidade prática para “substituir a URL da API na nuvem”, suportando múltiplos backends e modalidades (texto, imagens, áudio, embeddings e mais).

O que é o LocalAI e por que os engenheiros o utilizam
O LocalAI apresenta uma API REST HTTP que espelha os endpoints-chave da OpenAI, incluindo conclusões de chat, embeddings, geração de imagens e endpoints de áudio, permitindo que ferramentas existentes compatíveis com a OpenAI sejam redirecionadas para a sua própria infraestrutura.
Para além da geração básica de texto, o conjunto de funcionalidades do LocalAI abrange “blocos de construção de produção” comuns, como embeddings para RAG, geração de imagens baseada em difusão, conversão de fala em texto e texto em fala, com aceleração GPU opcional e padrões distribuídos.
Se estiver a avaliar a servir LLMs com auto-hospedagem, o LocalAI é interessante porque foca na compatibilidade da API (para facilitar a integração), fornecendo também uma interface Web integrada e um fluxo de trabalho de galeria de modelos para reduzir a fricção na instalação e configuração de modelos.
Para uma comparação mais ampla das opções de alojamento de LLMs em auto-hospedagem e na nuvem — incluindo Ollama, vLLM, Docker Model Runner e provedores de nuvem geridos — consulte o guia de alojamento de LLM para 2026.
Se deseja uma análise lado a lado do LocalAI contra o Ollama, vLLM, LM Studio e outros, a página comparando as principais ferramentas locais de LLM em 2026 cobre suporte de API, compatibilidade de hardware e prontidão para produção. Para o caso mais amplo de manter os modelos na sua própria infraestrutura, a página auto-hospedagem de LLM e soberania da IA aborda as motivações de residência de dados e conformidade.
Opções de instalação do LocalAI que funcionam bem na prática
O LocalAI pode ser instalado de várias formas, mas para a maioria das equipas, o ponto de partida mais rápido e com menor risco é através de contentores (Docker ou Podman). Se precisar de uma referência de comandos enquanto trabalha nos exemplos abaixo, a folha de dicas do Docker cobre os comandos Docker mais frequentes e úteis.
Início mais rápido com Docker
Isto inicia o servidor LocalAI e liga a API e a interface Web na porta 8080:
docker run -p 8080:8080 --name local-ai -ti localai/localai:latest
A documentação do contentor do LocalAI define isto como o caminho mais rápido para colocar um servidor funcional em funcionamento, com a API acessível em http://localhost:8080.
Escolher a imagem de contentor LocalAI certa
O LocalAI publica vários sabores de contentor para que possa adaptar-se ao seu hardware:
- Uma imagem de CPU para ampla compatibilidade.
- Imagens específicas de GPU para NVIDIA CUDA, AMD ROCm, Intel oneAPI e Vulkan.
- Imagens All-in-One (AIO) que vêm pré-configuradas com modelos mapeados para nomes de modelos semelhantes à OpenAI.
O README do GitHub upstream inclui exemplos concretos de docker run apenas para CPU e várias opções de GPU (variantes NVIDIA CUDA, AMD ROCm, Intel, Vulkan), além de variantes AIO.
Persistir modelos entre reinícios
Se não montar armazenamento, os modelos descarregados podem não persistir através de alterações no ciclo de vida do contentor. O guia do contentor recomenda montar um volume de modelos, por exemplo:
docker run -ti --name local-ai -p 8080:8080 \
-v "$PWD/models:/models" \
localai/localai:latest-aio-cpu
Isto torna /models dentro do contentor persistente no seu hospedeiro.
Um QuickStart mínimo com Docker Compose
O LocalAI também fornece um docker-compose.yaml de referência no repositório,
demonstrando um padrão comum: ligar a porta 8080, montar um volume /models, definir MODELS_PATH=/models,
e opcionalmente pré-carregar um modelo especificando-o na lista de comandos (o exemplo do repositório mostra phi-2).
A folha de dicas do Docker Compose é uma referência útil ao adaptar isto à sua configuração.
Uma configuração Compose “padrão boa” (CPU) é assim:
services:
localai:
image: localai/localai:latest
container_name: local-ai
ports:
- "8080:8080"
volumes:
- ./models:/models
environment:
- MODELS_PATH=/models
A ideia principal é a mesma do exemplo upstream: diretório de modelos do hospedeiro ↔ contentor /models.
Se também estiver a utilizar a ferramenta nativa docker model do Docker juntamente com o LocalAI, a folha de dicas do Docker Model Runner cobre comandos de pull, run, package e configuração.
Instalações do LocalAI sem contentores
O LocalAI também suporta instalações através de métodos específicos de plataforma (por exemplo, DMG para macOS e binários Linux), e opções de implementação mais amplas como Kubernetes.
Se preferir instalações scriptadas no Linux,
a introdução rápida do DeepWiki descreve um caminho install.sh que deteta automaticamente o hardware e configura o sistema em conformidade.
Uma sequência de utilização previsível
Um fluxo de trabalho LocalAI fiável é:
Iniciar LocalAI → instalar ou importar um modelo → verificar modelos carregados → chamar endpoints compatíveis com OpenAI.
Esta sequência corresponde à orientação oficial de “Experimentar” e “Configurar modelos”, que estrutura o processo em torno de iniciar o servidor, instalar modelos via galeria ou CLI, e testar depois os endpoints com curl.
Iniciar o servidor e confirmar que está saudável
Uma vez que o servidor esteja em execução, uma verificação de sanidade comum é o endpoint de prontidão:
curl http://localhost:8080/readyz
O guia de resolução de problemas utiliza /readyz como primeiro diagnóstico para confirmar que o LocalAI está a responder.
Instalar um modelo da galeria ou importar um URI
O LocalAI fornece dois fluxos principais de onboarding de modelos:
- Instalação da Galeria de Modelos via interface Web, onde abre a UI, vai à aba Models, navega pelos modelos e clica em Install.
- Instalação e execução via CLI, utilizando
local-ai models list,local-ai models installelocal-ai run.
A documentação também suporta a importação de modelos por URI (repositórios Hugging Face, URIs de ficheiros de modelos diretos e outros registos), e a interface Web inclui um fluxo dedicado de Importar Modelo com um editor YAML para configuração avançada.
Verificar o que o LocalAI pensa que pode servir
Para listar os modelos implementados através da API compatível com OpenAI:
curl http://localhost:8080/v1/models
Isto é explicitamente recomendado tanto como “próximo passo” após a instalação do contentor como diagnóstico de resolução de problemas.
Principais parâmetros de linha de comando que valem a pena aprender
A CLI do LocalAI é construída em torno do comando local-ai run, com uma superfície de configuração abrangente.
Precisamos de destacar dois comportamentos operacionais importantes:
- Todo o sinalizador CLI pode ser definido via variável de ambiente.
- Variáveis de ambiente têm precedência sobre sinalizadores CLI.
Abaixo estão os parâmetros que a maioria dos praticantes acaba por utilizar cedo, agrupados por intenção.
Todos os valores padrão e nomes de variáveis de ambiente são extraídos da referência CLI upstream. Se estiver a avaliar o Ollama juntamente com o LocalAI, a folha de dicas da CLI Ollama cobre os seus comandos serve, run, ps e gestão de modelos para comparação.
Sinalizadores de servidor e armazenamento principais
| O que quer | Sinalizador | Variável de ambiente | Notas |
|---|---|---|---|
| Alterar endereço e porta de ligação | --address |
LOCALAI_ADDRESS |
O padrão é :8080. |
| Alterar onde os modelos vivem | --models-path |
LOCALAI_MODELS_PATH |
Crítico para armazenamento persistente e planeamento de disco. |
| Separar estado mutável da configuração | --data-path |
LOCALAI_DATA_PATH |
Armazena dados persistentes como estado de agente e tarefas. |
| Definir localização de upload | --upload-path |
LOCALAI_UPLOAD_PATH |
Para APIs relacionadas com ficheiros. |
A FAQ do LocalAI também documenta as localizações padrão de armazenamento de modelos e recomenda explicitamente LOCALAI_MODELS_PATH ou --models-path se quiser modelos fora do diretório padrão (por exemplo, para evitar encher um diretório home).
Sinalizadores de desempenho e capacidade
| O que quer | Sinalizador | Variável de ambiente | Notas |
|---|---|---|---|
| Ajustar utilização de CPU | --threads |
LOCALAI_THREADS |
Sugerido para corresponder a núcleos físicos; usado amplamente para ajuste de desempenho. |
| Controlar contexto por modelo | --context-size |
LOCALAI_CONTEXT_SIZE |
Tamanho de contexto padrão para modelos. |
| Ativar modo de aceleração GPU | --f16 |
LOCALAI_F16 |
Documentado como “Ativar aceleração GPU”. |
| Limitar modelos carregados na memória | --max-active-backends |
LOCALAI_MAX_ACTIVE_BACKENDS |
Permite expulsão LRU quando excedido; pode limitar a pegada de memória. |
| Parar backends inativos ou travados | --enable-watchdog-idle / --enable-watchdog-busy |
LOCALAI_WATCHDOG_IDLE / LOCALAI_WATCHDOG_BUSY |
Útil ao executar muitos modelos ou backends instáveis. |
Para compatibilidade mais ampla e restrições de aceleração, a tabela de compatibilidade de modelos documenta quais backends suportam quais modos de aceleração (CUDA, ROCm, SYCL, Vulkan, Metal, CPU), e também nota que modelos não configurados explicitamente podem ser carregados automaticamente, enquanto a configuração YAML permite fixar o comportamento. Para implementações multi-GPU de maior throughput com PagedAttention, o guia de início rápido vLLM percorre um servidor compatível com OpenAI comparável com configuração orientada à produção.
Sinalizadores de API, segurança e UI
| O que quer | Sinalizador | Variável de ambiente | Notas |
|---|---|---|---|
| Exigir chaves API | --api-keys |
LOCALAI_API_KEY / API_KEY |
Quando definido, todos os pedidos devem autenticar com uma chave configurada. |
| Permitir que navegadores chamem a API | --cors / --cors-allow-origins |
LOCALAI_CORS / LOCALAI_CORS_ALLOW_ORIGINS |
Mantenha desativado a menos que precise. |
| Desativar interface Web totalmente | --disable-webui |
LOCALAI_DISABLE_WEBUI |
Modo apenas API para implementações endurecidas. |
| Endurecer respostas de erro | --opaque-errors |
LOCALAI_OPAQUE_ERRORS |
Útil em ambientes de alta segurança. |
Se expuser o LocalAI remotamente, deve proteger os endpoints e pode controlar o acesso com uma chave API; a chave API concede efetivamente acesso total.
Tour da interface Web e como mapeia para o sistema
Por defeito, o LocalAI serve uma interface Web integrada juntamente com a API (a menos que a desative). A documentação indica que a UI é acessível no mesmo hospedeiro e porta que o servidor, tipicamente http://localhost:8080.
O que pode fazer na interface integrada
A interface Web é uma interface baseada em navegador que cobre:
- Gestão de modelos e experiência de navegação da galeria
- Interações de chat
- Interfaces de geração de imagens e texto para fala
- Configuração distribuída e P2P
A estrutura de rotas dá um modelo mental claro da área de superfície da UI:
/para o painel de controlo/browsepara o navegador da galeria de modelos/chat/para chat/text2image/para geração de imagens/tts/para texto para fala/talk/para interação de voz/p2ppara definições e monitorização P2P
Galeria de Modelos e fluxo de trabalho “Importar Modelo”
Para engenheiros, a funcionalidade de UI mais importante é o onboarding de modelos. O guia oficial “Configurar Modelos” descreve:
- Instalar modelos via a aba Models com instalação de um clique.
- Importar modelos via uma UI de Importar Modelo que suporta um modo simples (URI + preferências) e um modo avançado com editor YAML e ferramentas de validação.
Isto é importante porque o LocalAI executa modelos baseados em configuração YAML: pode gerir ficheiros YAML individuais no diretório de modelos, usar um único ficheiro com múltiplas definições de modelos via --models-config-file, ou referenciar URLs YAML remotas no arranque.
Exemplos que pode colar num terminal
Os endpoints compatíveis com OpenAI do LocalAI são projetados para aceitar formatos de pedido familiares e devolver respostas JSON (com endpoints de áudio a devolver cargas de áudio).
Exemplo de conclusões de chat com curl
A página “Experimentar” do LocalAI mostra como chamar diretamente ao endpoint de conclusões de chat:
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4",
"messages": [
{ "role": "user", "content": "Escreva uma explicação de um parágrafo sobre o que é o LocalAI." }
],
"temperature": 0.2
}'
As imagens AIO são enviadas com modelos pré-configurados mapeados para nomes semelhantes à OpenAI, como gpt-4, e a documentação do contentor explica que estes são suportados por modelos de código aberto.
Se não estiver a utilizar uma imagem AIO, substitua "model" pelo nome do modelo que instalou (verifique com /v1/models).
Exemplo de embeddings para pipelines RAG
O LocalAI suporta embeddings e documenta que o endpoint de embeddings é compatível com vários backends, incluindo llama.cpp, bert.cpp e sentence-transformers.
Um pedido mínimo de “inserir este texto” contra o endpoint compatível com OpenAI é assim:
curl http://localhost:8080/v1/embeddings \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-ada-002",
"input": "Os embeddings do LocalAI são úteis para pesquisa semântica e RAG."
}'
A documentação de embeddings do LocalAI também mostra como os embeddings são ativados via configuração YAML definindo embeddings: true.
Exemplo usando um cliente compatível com OpenAI
O LocalAI é projetado para que possa utilizar bibliotecas de cliente OpenAI padrão apontando-as para a URL base do LocalAI (e opcionalmente definindo uma chave API se ativou a autenticação). Este objetivo de “substituição plug-and-play” é descrito tanto no README upstream como na documentação de compatibilidade OpenAI.
Uma configuração típica é:
- URL Base:
http://localhost:8080/v1 - Chave API: ou não necessária (padrão) ou necessária se configurou
--api-keys
Essenciais de segurança e resolução de problemas
Segurar um servidor LocalAI antes de expô-lo
O LocalAI pode executar totalmente aberto em localhost por defeito. Se ligar a uma interface pública ou expor através de um ingress, adicione pelo menos um destes controlos:
- Ativar autenticação por chave API usando
--api-keys/API_KEY. - Colocar um proxy reverso e controlos de rede à frente (firewall, lista de permissões, VPN).
- Desativar a interface Web se precisar apenas da API (
--disable-webui). - Manter o CORS desativado a menos que um cliente baseado em navegador genuinamente precise disto.
Quando as chaves API estão ativadas, os endpoints compatíveis com OpenAI aceitam credenciais em locais comuns como um cabeçalho Authorization Bearer ou cabeçalho x-api-key.
Diagnósticos rápidos quando algo não está a funcionar
O guia de resolução de problemas do LocalAI sugere um pequeno conjunto de verificações que resolvem a maioria dos incidentes “está a correr”:
# prontidão
curl http://localhost:8080/readyz
# listar modelos
curl http://localhost:8080/v1/models
# versão
local-ai --version
Também documenta a ativação de registo de depuração via DEBUG=true ou --log-level=debug, e para implementações Docker, verificar registos de contentor com docker logs local-ai.