Instalar DeepSeek no Linux com Ollama: Guia Completo

9 min de leitura Inteligência Artificial
Instalar DeepSeek no Linux com Ollama: Guia Completo

O que é Ollama e por que ele é ideal para VPS Linux

O Ollama é uma ferramenta de código aberto projetada para rodar modelos de linguagem grandes (LLMs) localmente em ambientes Unix-like, como Linux e macOS. Diferente de outras soluções que exigem configurações complexas de CUDA, Docker ou dependências pesadas de Python, o Ollama oferece uma experiência "plug-and-play". Ele empacota os modelos, gerencia as dependências de biblioteca (como ROCm para AMD ou Metal para Apple Silicon) e fornece uma API compatível com OpenAI por padrão.

Para profissionais de TI que operam em VPS Linux, o Ollama é particularmente atraente. Ele permite a criação de infraestrutura de Inteligência Artificial (IA) self-hosted, garantindo privacidade total dos dados e evitando custos de API externos. Ao combinar o Ollama com modelos leves e eficientes, é possível rodar agentes de IA, chatbots internos ou sistemas de RAG (Retrieval-Augmented Generation) diretamente na sua infraestrutura, sem depender de terceiros.

Pré-requisitos de Hardware

Antes de iniciar a instalação, é crucial entender os requisitos mínimos para rodar modelos modernos como o DeepSeek, Qwen e Llama 3. O gargalo principal será sempre a memória RAM ou VRAM (memória de vídeo), pois os modelos são carregados na memória para inferência rápida.

  • CPU: Qualquer CPU moderna de 64-bit funciona. Para rodar localmente sem GPU, instruções AVX2 são recomendadas para melhor performance.
  • Memória RAM:
    • Modelos Quantizados (Q4_K_M): Mínimo de 8GB a 16GB para modelos de 7B-14B parâmetros.
    • DeepSeek-R1 (1.5B ou 7B): 8GB é suficiente para a versão menor; 16GB+ recomendado para a versão maior.
  • Espaço em Disco: Cada modelo ocupa entre 2GB e 10GB, dependendo da precisão (quantização). Garanta espaço livre para o cache do Ollama.

Passo 1: Instalação do Ollama no Linux

A maneira mais rápida e segura de instalar o Ollama em distribuições baseadas em Debian, Ubuntu, Fedora ou Arch é através do script de instalação oficial. Este script configura automaticamente o serviço systemd para que o Ollama inicie junto com o sistema.

Abra seu terminal e execute o comando abaixo. Você precisará de privilégios de root (sudo):

curl -fsSL https://ollama.com/install.sh | sh

Ao concluir, o serviço ollama estará ativo. Verifique o status com:

systemctl status ollama

Se você estiver em um ambiente de servidor headless (sem monitor gráfico), esta é a configuração ideal. Se preferir uma instalação manual ou tiver restrições de script, você pode baixar o binário direto do repositório GitHub, mas o método acima é o padrão da indústria para VPS.

Passo 2: Baixando e Executando o DeepSeek

O DeepSeek, desenvolvido pela DeepSeek AI, tem ganhado destaque por sua eficiência em raciocínio lógico e codificação. O modelo DeepSeek-R1 é uma versão otimizada para alinhamento e raciocínio. No entanto, para rodar em VPS com recursos limitados, versões quantizadas são essenciais.

O Ollama usa uma sintaxe simples para baixar modelos: ollama run <nome-do-modelo>. Se o modelo não existir localmente, ele será baixado automaticamente.

Para testar o DeepSeek, execute:

ollama run deepseek-r1

O Ollama baixará os pesos do modelo e iniciará um prompt de conversa no terminal. Você pode interagir com o modelo digitando suas perguntas. Para sair, digite /bye.

Dica Técnica: Se a sua VPS tiver pouca memória RAM (ex: 8GB), o DeepSeek-R1 em sua forma completa pode estourar a memória. Nesses casos, considere usar modelos menores como deepseek-r1:1.5b ou alternar para o Qwen 2.5, que oferece excelente performance em tarefas gerais com menor consumo de recursos.

Passo 3: Explorando Outros Modelos (Qwen e Llama)

O ecossistema do Ollama é vasto. Além do DeepSeek, você pode baixar modelos líderes do mercado para diferentes fins:

  • Qwen 2.5: Desenvolvido pela Alibaba, destaca-se em matemática e programação. É frequentemente superior ao Llama em benchmarks técnicos.
  • Llama 3.1 (8B ou 70B): O padrão da indústria para modelos abertos. A versão 8B é leve e rápida; a 70B exige muito mais recursos.
  • Mistral: Excelente para tarefas gerais e contexto longo.

Exemplos de comandos para baixar outros modelos populares:

# Baixa o Qwen 2.5 em versão leve (7B parâmetros, quantizado)
ollama run qwen2.5:7b

# Baixa o Llama 3.1 padrão
ollama run llama3.1

Você pode listar todos os modelos baixados localmente com:

ollama list

Passo 4: Configurando a API para Integração

Um dos maiores trunfos do Ollama é sua compatibilidade com a API OpenAI. Isso significa que qualquer ferramenta, biblioteca ou frontend que suporte OpenAI pode se conectar ao seu Ollama local sem modificações de código complexas.

A API padrão roda na porta 11434. Para testar se está funcionando, use o cURL:

curl http://localhost:11434/api/tags

Isso retornará uma lista JSON dos modelos instalados.

Habilitando Acesso Remoto (Importante para VPS)

Por padrão, o Ollama só aceita conexões de localhost. Se você quiser acessar a API a partir de outro computador na sua rede local ou configurar um frontend web externo, precisa expor a interface.

  1. Crie ou edite o arquivo de ambiente do serviço:
    sudo nano /etc/systemd/system/ollama.service.d/environment.conf
    Se a pasta não existir, crie-a com mkdir -p /etc/systemd/system/ollama.service.d.
  2. Dentro do arquivo, adicione:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
  1. Recarregue o systemd e reinicie o serviço:
sudo systemctl daemon-reload
sudo systemctl restart ollama

Aviso de Segurança: Ao expor a porta 11434, certifique-se de usar um firewall (como UFW ou FirewallD) para permitir acesso apenas de IPs confiáveis. Ollama não possui autenticação nativa por padrão.

Passo 5: Criando uma Interface Web com Open WebUI

Rodar comandos no terminal é útil para testes, mas para uso profissional ou compartilhamento interno, uma interface web é indispensável. O Open WebUI é o frontend mais popular e completo para Ollama.

Você pode rodar o Open WebUI usando Docker (recomendado) ou diretamente no Python. Para um ambiente VPS Linux limpo, o Docker é a escolha padrão.

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

Após a inicialização, acesse http://SEU_IP_VPS:3000. Faça login com o usuário padrão (geralmente [email protected] e uma senha gerada no log inicial). Nas configurações da API, aponte para http://localhost:11434.

O Open WebUI permite:

  • Selecionar entre DeepSeek, Qwen, Llama, etc.
  • Upload de documentos para RAG (veja abaixo).
  • Criação de assistentes personalizados com instruções de sistema.

Passo 6: Implementando RAG com Qdrant e Embeddings

RAG (Retrieval-Augmented Generation) permite que o LLM responda perguntas baseadas em seus próprios documentos, reduzindo alucinações. Para isso, precisamos de dois componentes:

  1. Embedding Model: Converte texto em vetores numéricos.
  2. Vetor Database (Vector DB): Armazena e busca esses vetores. O Qdrant é um dos bancos de vetores mais rápidos e eficientes para rodar em VPS.

1. Rodando o Qdrant

Inicie o Qdrant via Docker:

docker run -d --name qdrant \
-p 6333:6333 \
-v ./qdrant_storage:/qdrant/storage \
qdrant/qdrant

2. Gerando Embeddings com Ollama

O próprio Ollama pode gerar embeddings usando modelos dedicados, como nomic-embed-text.

ollama run nomic-embed-text "Seu texto aqui para embedding"

3. Integrando com LangChain (Exemplo Python)

Para um sistema RAG completo, desenvolvedores geralmente usam LangChain. Aqui está um esqueleto de código Python que conecta Ollama (como LLM e Embedder) ao Qdrant:

from langchain_community.llms import Ollama
from langchain_community.embeddings import OllamaEmbeddings
from langchain_community.vectorstores import Qdrant
from qdrant_client import QdrantClient

# Configuração do LLM (DeepSeek ou Qwen)
llm = Ollama(model="deepseek-r1:7b", base_url="http://localhost:11434")

# Configuração dos Embeddings
embeddings = OllamaEmbeddings(model="nomic-embed-text", base_url="http://localhost:11434")

# Conexão com o Qdrant local
client = QdrantClient(host="localhost", port=6333)
vector_store = Qdrant(client, collection_name="meus_documentos", embeddings=embeddings)

# Adicionar documento (exemplo simplificado)
# vector_store.add_texts(["Este é um documento confidencial sobre a infraestrutura da empresa."])

# Consultar o LLM com contexto do RAG
# Prompt: "Com base apenas no seguinte contexto, responda: Qual é o tema do documento? Contexto: [resultado_da_busca]"

Este fluxo permite que você pergunte ao DeepSeek ou Qwen sobre dados internos hospedados na sua VPS, mantendo a privacidade total dos dados.

Otimizações Avançadas para VPS

Para maximizar a performance em hardware limitado, considere as seguintes práticas:

  • Quantização GGUF: Ollama usa automaticamente formatos otimizados. Prefira modelos com "Q4_K_M" ou "Q5_K_M" no nome para equilibrar velocidade e qualidade.
  • GPU Offloading: Se sua VPS tiver uma GPU NVIDIA, o Ollama detectará automaticamente as bibliotecas CUDA. Verifique com ollama ps para ver se a GPU está sendo usada. Para AMD, instale os drivers ROCm conforme a documentação do fabricante.
  • Limitação de Memória: Se o sistema começar a usar swap excessivamente, reduza o número de camadas processadas pela GPU ou escolha um modelo menor.

Conclusão

Instalar e rodar LLMs como DeepSeek, Qwen e Llama no Linux via Ollama democratiza o acesso à inteligência artificial avançada. Com uma VPS Linux básica, você pode construir desde chatbots simples até sistemas complexos de RAG utilizando Qdrant.

A combinação de Ollama (backend), Open WebUI (frontend) e Qdrant (memória vetorial) cria uma stack completa, open-source e totalmente sob seu controle. Isso elimina a dependência de APIs caras e garante que seus dados sensíveis permaneçam dentro da sua infraestrutura.

Comece hoje mesmo baixando o modelo deepseek-r1:7b e explore as capacidades de IA local na sua organização.

Compartilhar: Link copiado!
Esse tutorial foi útil?

Comentários (0)

Seja o primeiro a comentar.

Deixe seu comentário

Seu comentário será analisado antes de ser publicado.

0/2000