Lucas S. Vieira
Conectando com modelos locais
Guilda de IA
"Python é a ferramenta. O LLM é o cérebro. A API é a ponte."
Entender HTTP = entender todas as APIs de LLM.
curl -fsSL https://ollama.com/install.sh | sh
ollama pull gemma4:e2b-it-qat
No Colab o notebook já faz o setup pra você.
luksamuk.codes/pages/guilda-ia → Semana 05Warm up de ~2-3 min na primeira vez. Depois: respostas rápidas.
system → user → assistant → user → ...É como repetir toda a conversa toda vez que você fala.
llama-server \
--port 8081 \
--model ~/.llama-models/lfm2.5-2.6b/LFM2.5-2.6B-QAD-Q4_0.gguf \
--fit on --fit-target 512 \
--ctx-size 8192 \
--jinja \
--temp 0.1 --top-p 0.9 --top-k 50 --min-p 0.0 \
--repeat-penalty 1.1 \
--cache-type-k q4_0 --cache-type-v q4_0 \
--flash-attn auto
llama-server \
(igual ao de cima) \
--reasoning on # ← única flag que muda
lfm2.5-2.6b:thinkno llama-swap: o mesmo modelo, com o rascunho de raciocínio embaixo da resposta.
/v1/chat/completionsimport requests
import json
response = requests.post(
"http://localhost:12434/v1/chat/completions",
json={
"model": "lfm2.5-2.6b",
"messages": [
{"role": "system", "content": "..."},
{"role": "user", "content": "O que é Python?"}
],
"temperature": 0.7,
"max_tokens": 8192
}
)
response_dict = response.json()
print(json.dumps(response_dict, indent=2, sort_keys=True))
requests.post(url, json=payload)
Ferramentas como o llama-swap trocam de modelo a quente.
| Código | Significado | O que fazer |
|---|---|---|
| ConnectionError | Servidor não existe | Subir o servidor! |
| 404 | Modelo não encontrado | Conferir em /api/tags |
| 429 | Rate limit | Aguardar e tentar |
| 500 | Erro do servidor | Conferir payload |
Erro clássico: esquecer de subir o servidor antes da requisição.
perguntar() universal (só muda a URL)try/exceptTodos os exercícios estão na apostila com gabarito.