Executando modelos locais com Ollama e llama.cpp
O Ollama transforma a execução de LLMs em algo equivalente a “docker run”; llama.cpp aprofunda o controle com quantização e controle direto em C++.
Executando modelos locais com Ollama e llama.cpp é uma aula grátis de AI Agents no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Agents, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Agents inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Dois Caminhos Fáceis
Para auto-hospedar modelos abertos em uma estação de trabalho ou servidor:
- Ollama — a opção mais simples, com experiência de uso semelhante ao Docker para LLMs
- llama.cpp — mais próximo do hardware, com mais controle e menor uso de recursos
Ollama Quick Start
# Install (macOS):
brew install ollama
# Pull a model:
ollama pull llama3.1:8b
# Run interactively:
ollama run llama3.1:8b 'Hello'
# Serve via HTTP (OpenAI-compatible):
ollama serveCalling Ollama Via SDK
from openai import OpenAI
client = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')
response = client.chat.completions.create(
model='llama3.1:8b',
messages=[{'role': 'user', 'content': 'Hello'}]
)
print(response.choices[0].message.content)Chamadas de Ferramentas do Ollama
Ollama oferece chamadas de ferramentas para modelos compatíveis (Llama 3.1+, Mistral, Qwen 2.5):
tools = [{'type': 'function', 'function': {...}}]
response = client.chat.completions.create(
model='llama3.1:8b',
messages=messages,
tools=tools
)Conceitos Básicos do llama.cpp
llama.cpp é uma implementação em C++ que executa qualquer modelo no formato GGUF em CPU, GPU ou Metal (Apple Silicon):
# Build (or install pre-built):
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp && make
# Run a quantized model:
./llama-cli -m models/llama-3.1-8b-instruct.Q4_K_M.gguf -p 'Hello'Server Mode
./llama-server -m models/llama-3.1-8b-instruct.Q4_K_M.gguf --port 8080
# Now OpenAI-compatible endpoint at http://localhost:8080/v1Quantização
A quantização de 4 bits (Q4_K_M) permite executar um modelo de "16GB" usando cerca de 5GB de RAM, com perda marginal de qualidade. Comece com Q4; use valores mais altos (Q5, Q6, Q8) para tarefas em que a qualidade é crítica.
Requisitos de Hardware
| Modelo | RAM Q4 | VRAM Q4 |
|---|---|---|
| 7-8B | ~6 GB | ~6 GB |
| 13B | ~10 GB | ~10 GB |
| 70B | ~40 GB | ~40 GB |
A memória unificada do Apple Silicon torna modelos locais grandes surpreendentemente utilizáveis.
vLLM para Taxa de Processamento
Para servir modelos em produção com alta simultaneidade, use vLLM (PagedAttention, agrupamento contínuo):
# pip install vllm
from vllm import LLM, SamplingParams
llm = LLM(model='meta-llama/Llama-3.1-8B-Instruct')
params = SamplingParams(temperature=0.2, max_tokens=512)
result = llm.generate(['Hello world'], params)Inferência de Geração de Texto (TGI)
HuggingFace TGI — outro servidor de produção. Oferece forte suporte ao uso de ferramentas.
Comparando Servidores
- Ollama — melhor experiência de uso, CLI/HTTP simples, bom para desenvolvimento
- llama.cpp — o mais leve, executa em qualquer lugar
- vLLM — maior taxa de processamento, somente com GPU
- TGI — integração com HuggingFace, monitoramento
Quando Auto-Hospedar
- Privacidade rigorosa
- Volume muito alto (ponto de equilíbrio de custo em cerca de 10 milhões de tokens por dia)
- Modelos ajustados
- Cenários de borda ou sem conexão
Quando NÃO Auto-Hospedar
- Projetos paralelos de baixo volume (hospedar é mais barato)
- Necessidade de qualidade de raciocínio de fronteira
- Tarefas multimodais
Ponto de Acesso Compatível com OpenAI
Por que a convenção de ponto de acesso compatível com OpenAI é conveniente para modelos locais?
Recapitulação
Ollama para simplicidade no desenvolvimento, llama.cpp para portabilidade e vLLM para a taxa de processamento em produção. Todos usam APIs no formato da OpenAI, portanto você pode fazer a troca sem alterar o código.
Perguntas Frequentes
A aula “Executando modelos locais com Ollama e llama.cpp” é grátis?
Sim — o texto completo de “Executando modelos locais com Ollama e llama.cpp” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Agents, atualize para CoddyKit PRO. O curso de AI Agents inclui 4 aulas no total.
O que vou aprender em “Executando modelos locais com Ollama e llama.cpp”?
O Ollama transforma a execução de LLMs em algo equivalente a “docker run”; llama.cpp aprofunda o controle com quantização e controle direto em C++. Você pratica AI Agents com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar AI Agents?
Nenhuma experiência prévia é necessária. AI Agents no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Executando modelos locais com Ollama e llama.cpp”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de AI Agents?
Sim. Cada aula de AI Agents inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Visão geral de Llama, Mistral e Qwen
- Executando modelos locais com Ollama e llama.cpp
- Modelos abertos com chamada de funções (Hermes, Functionary)
- Compromissos: latência, custo e capacidade