Hype é Hype.
Isso é fato.
Mas confesso que fazia tempo que algo não me deixava tão empolgado quanto o Memphis Depay no Corinthians DeepSeek.
Nesses últimos dias só se tem falado nele. E não é por menos: Esse modelo criado por uma startup chinesa com o mesmo nome consegue entregar o mesmo resultado do o1, modelo super avançado da OpenAI. Só que de graça! Caso queira saber mais sobre o modelo, acesse https://arxiv.org/pdf/2501.12948.
Enquanto é necessário assinar o ChatGPT Plus para ter acesso a esse modelo, o DeepSeek simplesmente o entrega de graça. É só acessar https://chat.deepseek.com/.
E caso você queira utilizar as suas APIs em seu software, é possível assinar um plano. E é aqui que a coisa é mais surpreendente ainda:
Model | Input Cost (per million tokens) | Output Cost (per million tokens) |
---|---|---|
DeepSeek Reasoner | $0.55 | $2.19 |
OpenAI O1 | $15.00 | $60.00 |
A diferença é escandalosa.
E deve ser por isso que o mundo tech listado na NASDAQ começou a desmoronar: Tech billionaires lost almost $100bn in stock market selloff sparked by DeepSeek.
Eu precisei fazer essa sutil introdução ao DeepSeek para que você meu caro leitor, minha cara leitora, perceba que a reviravolta que o mundo Tech deu nesses últimos dias.
Porém, a ideia aqui é mostrar para vocês como rodar esse modelo localmente. E não só esse modelo, praticamente qualquer um.
Afirmo "praticamente qualquer um" devido ao fato de alguns modelos serem tão pesados que se faz necessário uma máquina absurdamente parruda para rodá-los.
Basicamente, para começar, nós precisamos saber de duas coisas:
- Onde eu baixo esse modelo;
- E como eu executo o modelo baixado;
E para nossa sorte, é possível responder essas duas questões com apenas uma palavra: Ollama.
Ollama é uma ferramenta por linha de comando absurdamente simples de se instalar e configurar, e que nos ajuda a baixar e executar os modelos sem complicações nenhuma!
Ao entrar no site https://ollama.com/download, você escolhe qual é o seu sistema operacional, baixa o instalador, executa e pronto!
Porém, antes de executar, quero dar uma dica marota para você.
Os modelos são arquivos bem grandes, que podem variar entre 2GB até 400GB, dependendo da quantidade de parâmetros, precisão dos dados, arquitetura do modelo, etc.. Sendo assim, é necessário ter um espaço em disco bem grande. Eu tenho dois SSDs na minha máquina, e configurei o Ollama para que ele baixe os modelos num SSD específico.
Por padrão, o Ollama armazena os modelos no diretório ~/.ollama/models
e caso você queira mudar esse local é necessário informar o caminho da pasta onde os modelos serão armazenados configurando uma variável de ambiente: OLLAMA_MODELS
No macOS e Linux é bem tranquilo.
Abra o terminal e adicione a seguinte linha ao seu arquivo de configuração do shell (~/.bashrc, ~/.zshrc, ou ~/.bash_profile, dependendo do shell que você usa):
export OLLAMA_MODELS="/Volumes/SSD/Pasta onde Ficarão os modelos"
Após salvar o arquivo, é necessário aplicar as alterações:
source ~/.bashrc # ou ~/.zshrc, ~/.bash_profile
Já no Windows, usando o Powershell:
[Environment]::SetEnvironmentVariable("OLLAMA_MODELS", "C:\caminho\para\seu\diretorio", "User")
Em seguida, sai do carro, entra no carro... abre e fecha o terminal!
Pronto!!!
Outra dica marota, que aprendi na prática, é sobre a alteração do caminho da pasta onde os modelos do Ollama são armazenados. Como o Ollama roda como um processo, qualquer mudança nesse diretório exige que ele seja encerrado antes da modificação e reiniciado em seguida. Abaixo, explico como iniciá-lo.
Feita a instalação, o Ollama está pronto para uso!
Caso você ainda não tenha executado o Ollama no fim da instalação, ou matado o processo para fazer algum tipo de alteração, abra seu terminal e execute o comando ollama serve
para começar.
E se tudo der certo e nada der errado ao rodar o comando ollama help
poderemos ver uma lista com todos os comandos:
Large language model runner
Usage:
ollama [flags]
ollama [command]
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
stop Stop a running model
pull Pull a model from a registry
push Push a model to a registry
list List models
ps List running models
cp Copy a model
rm Remove a model
help Help about any command
Flags:
-h, --help help for ollama
-v, --version Show version information
Sim... é bem parecido com os comandos do Docker.
Próximo passo é escolher a nossa imagem... digo... o nosso modelo...
Para isso, acesse o site https://ollama.com/search. Aqui você vai encontrar centenas de modelos disponíveis para uso local.
A instalação de um modelo é absurdamente simples:
ollama run <<nome do modelo>>
No nosso caso, vamos usar o DeepSeek r1.
Ao entrar nesse link https://ollama.com/library/deepseek-r1 você se depara com várias opções de modelos.
DeepSeek-R1-Distill-Qwen-1.5B
ollama run deepseek-r1:1.5b
DeepSeek-R1-Distill-Qwen-7B
ollama run deepseek-r1:7b
DeepSeek-R1-Distill-Llama-8B
ollama run deepseek-r1:8b
DeepSeek-R1-Distill-Qwen-14B
ollama run deepseek-r1:14b
DeepSeek-R1-Distill-Qwen-32B
ollama run deepseek-r1:32b
DeepSeek-R1-Distill-Llama-70B
ollama run deepseek-r1:70b
Basicamente, o que distingue um dos outros é o modelo base no qual ele foi criado e a quantidade de parâmetros.
Em geral, quanto mais parâmetros um modelo tem, mais abrangente ele tende a ser, ou seja, ele consegue lidar com uma variedade maior de tarefas, contextos e nuances.
Dito isto, eu escolhi instalar o modelo deepseek-r1:8b. É um modelo com 4.9GB e que roda liso na minha máquina.
Aliás, esse é um ponto importante. O poder computacional da sua máquina é decisivo na escolha de um modelo. Se você escolher um modelo maior, com mais parâmetros, mais abrangente, pode ser que a sua máquina abra o bico. Se a sua máquina roda o Chrome sem engasgar, pode ficar tranquilo, caso contrário, comece escolhendo um modelo menor, como o deepseek-r1:1.5b
. 🤡
> ollama run deepseek-r1:8b
Esse comando acima, além de baixar o modelo, vai nos dar a possibilidade de interação. Pode ser que demore alguns bons minutos para que ele seja baixado.
Após o download do modelo, um chat no terminal é iniciado:
>>> Send a message (/? for help)
Agora é brincar!!!!
Deu pra perceber a velocidade na resposta? Sensacional, não é?
Para sair, digite /bye
!
Você pode experimentar vários modelos, mas lembre-se de que eles são grandes e podem entupir seu SSD.
Para saber quais modelos vocêm tem instalado use o comando ollama list
e para apagar um modelo use ollama rm <<nome do modelo>>>
.
Nesse ponto entregamos o que foi proposto no título do post, correto?
Mas não vamos parar por aqui... como sempre... pegue um café e vem comigo. É agora que a brincadeira fica mais legal ainda.
O Ollama é um processo que fica rodando na sua máquina. Quando você usa o terminal, você acessa essa aplicação via linha de comando. Foi o que fizemos acima. Mas se eu te contar que o Ollama também sobe um servidor http na porta 11434 expondo APIs para que possamos interagir via uma aplicação nossa, por exemplo?
Olha que bacana!! Se você executar esse curl
abaixo, vai receber a resposta via streaming. Isso é bem legal!!!
curl http://localhost:11434/api/generate -d '{
"model": "deepseek-r1:8b",
"prompt":"Quais são os gases nobres?"
}'
Eu não consegui mudar essa porta, se você souber como faz, deixa aí nos comentários por favor!!!
Isso abre uma infinidade de possibilidades. Uma delas é de se criar uma aplicação web ou mobile que "simule" um chat. Igual ao próprio https://chat.deepseek.com/ ou https://chat.openai.com/.
Caso queira saber mais sobre as APIs, acesse https://github.com/ollama/ollama/blob/main/docs/api.md!
Olha aí uma boa oportunidade! Criar uma interface visual para o Ollama!!!
Porém, caso não queira fazer isso, não tem problema. Apresento-lhes Open WebUI.
O Open WebUI é uma plataforma de IA auto-hospedada, extensível, rica em recursos e fácil de usar, projetada para operar totalmente offline. Ela suporta vários executores LLM como Ollama e APIs compatíveis com OpenAI, com mecanismo de inferência integrado para RAG, tornando-a uma solução de implantação de IA poderosa. (Copiei do site deles ;p)
Divirtam-se!
Era isso!!!
Top comments (7)
Artigo maravilhoso, porém me surgiu uma dúvida.
Há algum custo e se houver, qual é?
Muito obrigado. Não tem nenhum custo!!! Tudo é executado na sua máquina de forma offline. (No caso você precista estar on-line para baixar o modelo, mas depois dele instalado, pode ficar offline)
Artigo fantástico Angelão. Parabéns cara!!!
Valew :)
Que artigo bacana, parabens!!! Vou salvar pra seguir como tutorial
Muito obrigado!
Tem suporte pra eu treinar uma LLM dessas com uma base de dados, por exemplo, artigos científicos? Assim tenho algo personalizado ou mais focado? Ou é mais eficiente usar as que já estão disponíveis mostradas no tutorial?