DEV Community

Cover image for Como Baixar, Quantizar e Rodar um Modelo LLM Localmente no Ollama
Carine Neris
Carine Neris

Posted on

Como Baixar, Quantizar e Rodar um Modelo LLM Localmente no Ollama

Rodar um modelo de linguagem grande (LLM) no seu próprio computador pode parecer coisa de outro mundo — e, pra ser sincera, eu também achava isso 😅. Mas a curiosidade falou mais alto, e eu decidi tentar rodar o modelo Jurema-7B (baseado no LLaMA 3), só por estudo... e deu certo!
Consegui fazer todo o processo e colocar o modelo pra conversar comigo localmente, direto do meu computador.

Neste guia, eu vou te mostrar o passo a passo que segui pra fazer isso funcionar:

  1. Baixar um modelo no Hugging Face — no meu caso, usei o Jurema-7B.
  2. Converter o modelo para .gguf, o formato compatível com o Ollama.
  3. Compilar o llama.cpp para ter acesso à ferramenta de quantização.
  4. Quantizar o modelo pra economizar memória da GPU e CPU.
  5. Adicionar o modelo ao Ollama e começar a conversar com ele, tudo rodando localmente.

Todo o processo foi feito no Windows, mas se você usa Linux ou macOS, a lógica é praticamente a mesma — muda só o jeito de instalar algumas dependências.


🧰 Pré-requisitos

Antes de começar, tenha instalado:

  choco install mingw
Enter fullscreen mode Exit fullscreen mode

💡 Dica: depois de instalar o MinGW, adicione C:\mingw64\bin ao seu PATH.
Se você instalou via Chocolatey, o caminho é adicionado automaticamente. 😉


📥 1️⃣ Baixando o modelo Jurema-7B

Para este exemplo, usei o Jurema-7B, o mesmo modelo que explorei durante meus estudos.
Ele é um LLM especializado no domínio jurídico brasileiro, criado a partir de um fine-tuning do Qwen2.5-7B-Instruct.

Você pode baixá-lo diretamente do Hugging Face com o comando:

git clone https://huggingface.co/Jurema-br/Jurema-7B
Enter fullscreen mode Exit fullscreen mode

⚠️ Se aparecer um erro de autenticação, basta usar o Access Token do Hugging Face em vez da senha.

Isso vai criar uma pasta:

Jurema-7B/
 ├── config.json
 ├── model.safetensors
 ├── tokenizer.json
 └── ...
Enter fullscreen mode Exit fullscreen mode

🧠 2️⃣ Baixando e compilando o llama.cpp

O llama.cpp é o projeto que permite rodar e quantizar modelos LLaMA em praticamente qualquer hardware.

Clone o repositório:

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
Enter fullscreen mode Exit fullscreen mode

Agora, compile o projeto:

cmake -S . -B build -G "MinGW Makefiles"
cmake --build build --config Release
Enter fullscreen mode Exit fullscreen mode

Isso vai gerar vários binários dentro da pasta build/bin, incluindo o quantize.exe, que é o executável responsável por quantizar o modelo (ou seja, reduzir o tamanho e o consumo de memória sem perder muita qualidade).


⚙️ 3️⃣ Convertendo e Quantizando o modelo

Primeiro, converta o modelo para o formato .gguf, que é o formato usado pelo Ollama para rodar modelos localmente:

python convert_hf_to_gguf.py "path_para_llm\Jurema-7B" --outfile "jurema-7b-fp16.gguf"
Enter fullscreen mode Exit fullscreen mode

Agora vamos quantizar o modelo para reduzir tamanho e uso de memória.

Exemplo: Q4_K_M (boa precisão com economia de RAM).

llama.cpp\build\bin\quantize.exe jurema-7b-fp16.gguf jurema-7b-q4.gguf Q4_K_M
Enter fullscreen mode Exit fullscreen mode

🔹 O arquivo jurema-7b-q4.gguf é o modelo quantizado final que usaremos no Ollama.


💬 4️⃣ Adicionando ao Ollama

Crie um arquivo chamado Modelfile:

FROM path_para_llm\Jurema-7B\jurema-7b-q4.gguf

TEMPLATE """### Instrução: {{ .Prompt }} ### Resposta: """
PARAMETER temperature 0.3
PARAMETER top_p 0.8
PARAMETER num_predict 512
PARAMETER stop ["<|im_end|>", "</s>", "User:", "Human:", "###"]
Enter fullscreen mode Exit fullscreen mode

Agora, crie o modelo no Ollama:

ollama create jurema -f Modelfile
Enter fullscreen mode Exit fullscreen mode

E rode:

ollama run jurema
Enter fullscreen mode Exit fullscreen mode

Pronto 🎉
Você agora tem o Jurema-7B rodando localmente no Ollama!


🧠 5️⃣ Evitando loops infinitos nas respostas

Alguns modelos podem acabar “entrando em loop”, ou seja, continuar gerando texto indefinidamente sem concluir a resposta.
Aconteceu isso comigo ao testar o Jurema-7B, mas pesquisando um pouco encontrei a solução no próprio repositório do modelo

  • Adicione stop tokens no Modelfile.
  • Use num_predict para limitar o número de tokens.
  • Mantenha temperature baixa (0.3~0.5).

Exemplo de chamada via CLI com limite de tokens:

ollama run jurema --num-predict 300
Enter fullscreen mode Exit fullscreen mode

⚡ 6️⃣ Dicas extras

  • Use Q4_K_M ou Q5_K_S para bom equilíbrio entre desempenho e precisão.
  • Se sua GPU for poderosa (ex: RTX 4070+) e você tiver boa quantidade de RAM, teste Q6 ou até Q8.

Esse processo não serve apenas para o Jurema-7B — você pode usar o mesmo passo a passo para qualquer modelo disponível no Hugging Face que precise ser convertido para rodar no Ollama ou quantizado para otimizar desempenho e consumo de memória


🧠 Referências

Top comments (0)