DeepSeek sempre ocupado? Implante-o localmente com Milvus em apenas 10 minutos — sem mais espera!
Se você já tentou usar o DeepSeek-R1 e se deparou com a mensagem, “O servidor está ocupado. Tente novamente mais tarde,” sabe como isso pode ser disruptivo. Esperar por servidores ocupados pode interromper seu fluxo de trabalho, especialmente quando você precisa de respostas rápidas ou está focado em uma tarefa.
Uma forma prática de evitar isso é executar o DeepSeek-R1 diretamente na sua própria máquina. Isso permite contornar atrasos do servidor e ter mais controle sobre como e quando você usa o modelo. Neste guia, vamos percorrer a configuração do DeepSeek-R1 localmente usando algumas ferramentas que funcionam em conjunto. O Ollama ajudará você a baixar e executar o modelo no seu sistema. Em seguida, usaremos o AnythingLLM para facilitar a interação com o DeepSeek-R1 por meio de uma interface simples. Por fim, integraremos o Milvus, um banco de dados vetorial, para que o modelo possa consultar dados externos, como seus próprios documentos ou informações personalizadas, ao responder perguntas.
Você não precisa de hardware de ponta para começar. O DeepSeek-R1 oferece versões menores do modelo que podem ser executadas em configurações mais comuns. Seja usando o DeepSeek-R1 para trabalho, pesquisa ou projetos pessoais, configurá-lo localmente ajudará você a evitar problemas de servidor e adaptar o modelo às suas necessidades. Vamos começar configurando o DeepSeek-R1 com o Ollama.
Implantando o DeepSeek-R1 com Ollama: Instalação e Configuração
Comece instalando o Ollama, que simplifica o processo de execução de modelos de IA na sua máquina local. Comece visitando a página de download do Ollama e selecionando o instalador correspondente ao seu sistema operacional.
Figura: Página de download do Ollama
Quando o download estiver concluído, execute-o e siga as instruções na tela para finalizar a configuração. Após a instalação, confirme se o Ollama está configurado corretamente abrindo sua interface de linha de comando e digitando:
ollama --version
Se tudo estiver instalado corretamente, você verá o número da versão exibido. Essa verificação garante que seu ambiente esteja pronto para gerenciar modelos de IA localmente.
Em seguida, baixe o DeepSeek-R1. Para a maioria dos usuários, a versão de 7 bilhões de parâmetros (7B) oferece um equilíbrio prático entre desempenho e necessidades de recursos, geralmente exigindo uma GPU com cerca de 18 GB de VRAM. Se seu hardware for menos potente, o modelo 1.5B (cerca de 3,9 GB de VRAM) está disponível. Para configurações avançadas, você pode considerar o modelo completo de 671B, embora ele exija recursos muito mais altos. Ajuste o comando abaixo de acordo com o tamanho do modelo que você deseja:
ollama pull deepseek-r1:7b
O comando acima baixará o modelo especificado para o seu computador, conforme mostrado abaixo:
Figura: Instalação do deepseek-r1:7b via Ollama em um computador
Quando o download do modelo estiver concluído, inicie o DeepSeek-R1 executando:
ollama run deepseek-r1:7b
Substitua 7b por 1.5b ou outra versão se você tiver escolhido um modelo diferente. Depois que o modelo iniciar, você pode começar a interagir com ele digitando seus prompts diretamente na linha de comando.
Figura: Uma sessão de exemplo do deepseek-r1:7b em que um usuário faz uma consulta e o modelo fornece uma resposta
A captura de tela acima mostra uma sessão de exemplo em que perguntamos, Quem é você? e o DeepSeek-R1 responde com uma introdução, confirmando que o modelo está em execução e pronto para ajudar.
Instalando e Configurando o AnythingLLM
Embora interagir pela linha de comando funcione para testes básicos, pode ser trabalhoso para uso contínuo. O AnythingLLM fornece uma interface em estilo de chat que torna as conversas com seus modelos em execução local mais intuitivas. Ele também oferece suporte a múltiplos backends de modelos de linguagem, oferece uma maneira simples de enviar dados personalizados e pode se integrar a bancos de dados vetoriais como o Milvus. Abaixo está uma visão geral de seus recursos e de como instalá-lo e conectá-lo ao Ollama.
Por que usar o AnythingLLM?
Alguns dos recursos são:
Chat interativo: O AnythingLLM substitui prompts manuais de linha de comando por uma janela de chat, facilitando visualizar o fluxo da conversa e consultar perguntas anteriores.
Gerenciamento centralizado de modelos: Você pode executar diferentes modelos de linguagem em uma única interface e alternar entre eles sem precisar lidar com múltiplos terminais.
Integração de dados: O suporte integrado a bancos de dados vetoriais (como o Milvus) permite enviar documentos, arquivos de pesquisa ou outros recursos para que o modelo possa consultá-los ao responder perguntas.
Configuração fácil de embeddings: Escolha qual modelo de embedding usar para converter seus documentos e consultas de usuários em vetores, ajudando o sistema a encontrar informações relevantes com mais precisão.
Esses recursos oferecem um fluxo de trabalho mais suave para qualquer pessoa que precise de mais do que interações básicas pelo terminal. Vamos ver como podemos instalar e configurar o AnythingLLM:
Etapa 1: Baixar e instalar o AnythingLLM
Acesse o site do AnythingLLM e escolha o instalador que corresponde ao seu sistema operacional. Depois que o arquivo for baixado, execute-o e siga as instruções para concluir a configuração. Após a instalação, abra o AnythingLLM, e você será recebido por uma página ou assistente Get Started, indicando que o aplicativo está pronto para sua configuração inicial.
Etapa 2: Ignorar os prompts iniciais
Quando você abrir o AnythingLLM pela primeira vez, verá prompts para LLM Preference, Data Handling & Privacy e uma Survey opcional. Por enquanto, escolha Skip em cada tela para que possamos demonstrar como acessar e configurar essas opções dentro do próprio aplicativo. Você não verá esses prompts toda vez que iniciar o AnythingLLM, portanto aprender onde encontrá-los depois ajudará você a ajustar configurações ou atualizar preferências conforme necessário.
Etapa 3: Criar seu primeiro workspace
Depois de ignorar os prompts iniciais, você será solicitado a criar seu primeiro workspace.
Escolha um nome para seu workspace e então clique na seta para a direita para prosseguir. Nomeamos o nosso como Milvus-DeepSeek-Local-Deploy. Esse workspace fornece uma área dedicada para organizar conversas e armazenar quaisquer documentos que você enviar. Depois de criado, você verá a interface de chat:
É aqui que você interagirá com o DeepSeek-R1 depois que conectarmos o modelo.
Etapa 4: Conectar o DeepSeek-R1 ao seu workspace
Para conectar seu modelo, clique no botão Settings ao lado do nome do seu workspace. No painel que se abre, selecione Chat Settings. Você verá opções para escolher um Workspace LLM Provider e definir um Workspace Chat model.
Como estamos usando o Ollama, escolha Ollama na lista de provedores. Em seguida, escolha qualquer modelo que você tenha baixado pelo Ollama clicando em Workspace Chat model. Isso inclui o DeepSeek-R1 (por exemplo, no nosso caso, deepseek-r1:7b).
Figura: Painel de configurações de chat mostrando o Ollama como o provedor de LLM e deepseek-r1:7b como o modelo selecionado
Depois de selecionar um modelo, salve suas alterações. Seu workspace agora está conectado ao modelo escolhido, permitindo que você interaja com ele diretamente pela interface de chat. Volte para sua interface de chat para começar a conversar.
Etapa 5: Testar o modelo com uma consulta
Agora que seu workspace está conectado ao DeepSeek-R1, você pode testar como ele responde a perguntas para as quais não foi treinado. Tente perguntar, Quem é Chris Churilo? e observe que o modelo não fornece uma resposta clara.
Figura: Resposta do LLM a “Quem é Chris Churilo?”
Como o modelo não tem informações sobre Chris Churilo, ele não consegue dar uma resposta detalhada. Essa lacuna ilustra a necessidade de uma fonte de conhecimento externa. Milvus, um banco de dados vetorial, pode armazenar dados relevantes na forma de embeddings sobre Chris Churilo para que o LLM possa consultá-los.
Configurando o Milvus e Integrando-o ao AnythingLLM
Antes de vincular seu workspace a dados externos, você precisará implantar um banco de dados vetorial que possa armazenar embeddings (representações numéricas de dados (como palavras ou imagens) em um espaço vetorial contínuo, capturando seus significados ou características para que itens semelhantes sejam posicionados mais próximos entre si) a partir dos seus dados personalizados. Vamos ver como instalar o Milvus e, em seguida, configurar o AnythingLLM para usá-lo como banco de dados vetorial, permitindo que o modelo forneça respostas mais informadas.
Instalando o Milvus
Primeiro, certifique-se de que Docker e Docker Compose estejam instalados na sua máquina. Em seguida, abra seu terminal e baixe o arquivo Docker Compose standalone do Milvus executando:
wget https://github.com/milvus-io/milvus/releases/download/v2.5.4/milvus-standalone-docker-compose.yml -O docker-compose.yml
Em seguida, abra o arquivo docker-compose.yml baixado no seu editor de texto preferido. Localize as configurações sob o serviço standalone e atualize os campos COMMON_USER e COMMON_PASSWORD com as credenciais desejadas.
environment:
ETCD_ENDPOINTS: etcd:2379
MINIO_ADDRESS: minio:9000
COMMON_USER: milvus
COMMON_PASSWORD: milvus
Usaremos essas credenciais mais tarde ao configurar o AnythingLLM para se conectar ao Milvus. Depois de salvar suas alterações, volte ao terminal e inicie o Milvus executando o seguinte comando:
docker-compose up -d
Este comando inicia o Milvus em segundo plano. Você pode verificar se o Milvus está em execução conferindo seus contêineres Docker com docker ps ou visitando seu endpoint de integridade, se configurado.
Figura: Iniciando o Milvus usando docker compose na linha de comando
Agora que o Milvus está instalado, estamos prontos para integrá-lo ao AnythingLLM, permitindo que seu workspace aproveite essa fonte de dados externa para melhorar as respostas do modelo.
Integrando o Milvus ao AnythingLLM
Agora que o Milvus está em execução, vamos configurar o AnythingLLM para armazenar e recuperar embeddings dos seus dados personalizados. Siga as etapas abaixo para habilitar respostas mais orientadas por contexto do seu modelo DeepSeek-R1.
1. Abra as Configurações
Clique no botão Open Settings no canto inferior esquerdo da interface do AnythingLLM. Isso abrirá um painel com várias categorias de configuração.
Figura: Interface principal do AnythingLLM com o botão Open Settings destacado
2. Selecione o Banco de Dados Vetorial
No painel de configurações, expanda AI Providers e selecione Vector Database. Em Vector Database Provider, escolha Milvus. Campos aparecerão para o endereço e as credenciais que você configurou no arquivo Docker Compose do Milvus:
Milvus DB Address:
http://localhost:19530Milvus Username: (o nome de usuário que você definiu)
Milvus Password: (a senha que você definiu)
Clique em Save para confirmar suas configurações.
Figura: Configurações do Banco de Dados Vetorial no AnythingLLM com Milvus selecionado
3. Escolha um Embedder (Opcional)
Ainda em AI Providers, você pode escolher um modelo de embedding diferente, se desejar. Se nenhuma seleção for feita, o AnythingLLM usa seu embedder padrão. Esta etapa é opcional para uso básico, mas pode ser útil se você quiser otimizar como o texto é vetorizado. Para este caso, usaremos a opção padrão.
Figura: Seleção do modelo de embedding no AnythingLLM, se aplicável
4. Faça Upload de Documentos
Retorne à interface principal ou à visualização do seu workspace. Faça upload de quaisquer documentos que você queira que o modelo consulte arrastando e soltando-os, ou selecionando-os pela interface. O AnythingLLM listará seus arquivos, prontos para embedding.
Figura: Área de upload de documentos mostrando arquivos recém-adicionados
5. Mova Documentos para o Workspace
Assim que seus documentos aparecerem, selecione cada arquivo e escolha Move to Workspace. No painel à direita, clique em Save and Embed. O AnythingLLM converte os documentos em embeddings vetoriais e os armazena no Milvus, tornando o conteúdo acessível ao DeepSeek-R1.
Figura: Movendo documentos para um workspace e gerando embeddings deles
Depois de concluir estas etapas, seu modelo DeepSeek-R1 poderá consultar os documentos incorporados. Por exemplo, se agora você perguntar: Who is Chris Churilo?. O modelo saberá quem ela é, como você pode ver abaixo:
Figura: DeepseekR1 pensando em como responder a uma consulta Who is Chris Churilo? usando Milvus
O modelo faz isso procurando as informações relevantes armazenadas no Milvus, fornecendo uma resposta mais detalhada do que antes. Aqui está a resposta final à nossa consulta.
Figura: DeepseekR1 respondendo à consulta Who is Chris Churilo? usando Milvus
O modelo agora responde com uma resposta detalhada que cita o documento enviado. Na captura de tela acima, você pode ver como o modelo extrai detalhes relevantes sobre o papel, o histórico e as contribuições de Chris Churilo, informações que não estavam disponíveis antes da integração com o Milvus. Essa resposta aprimorada demonstra o valor de combinar uma implantação local de LLM com um banco de dados vetorial para criar uma experiência de IA mais informada e consciente do contexto.
Verificando Coleções no Milvus
Depois de incorporar documentos por meio do AnythingLLM, você pode confirmar se o Milvus os está armazenando corretamente listando suas coleções. Se você ainda não instalou pymilvus, comece instalando-o com este comando:
pip install pymilvus
Em seguida, execute o seguinte código Python para conectar-se ao Milvus, recuperar uma lista de coleções e imprimir seus nomes:
from pymilvus import MilvusClient
# Conecte-se ao Milvus
client = MilvusClient(uri="http://localhost:19530") # Substitua pelo seu URI se for diferente
# Liste todas as coleções
collections = client.list_collections()
# Imprima os resultados
print(f"Encontradas {len(collections)} coleções:")
for idx, collection in enumerate(collections, 1):
print(f"{idx}. {collection}")
# Opcional: Feche a conexão quando terminar
client.close()
Se você acabou de instalar o Milvus, não verá muitas coleções. No entanto, depois de usar o AnythingLLM para incorporar documentos, você notará uma nova coleção nomeada de acordo com o workspace que você usou. Na saída de exemplo abaixo, a coleção relevante está listada como 21. Anythingllm_milvus_deepseek_local_deploy.
Isso confirma que o AnythingLLM criou com sucesso uma coleção dedicada no Milvus para armazenar os embeddings dos seus dados enviados.
Agora percorremos a implantação do DeepSeek-R1 localmente, a configuração do AnythingLLM para uma interface amigável ao usuário e a integração do Milvus como um banco de dados vetorial. Essa configuração permite que o modelo acesse dados personalizados e responda a perguntas de forma mais eficaz.
Conclusão
Configurar o DeepSeek-R1 localmente com a ajuda do Ollama, AnythingLLM e Milvus abre novas possibilidades para personalizar e aprimorar seus fluxos de trabalho de IA. Essa abordagem não apenas oferece controle total sobre o seu ambiente, mas também permite que seu modelo acesse fontes de dados específicas, melhorando sua relevância e precisão. Com essa configuração, você não fica mais limitado pela disponibilidade de servidores ou por respostas genéricas — sua IA agora pode trabalhar diretamente com as informações que você fornece, adaptadas às suas necessidades.
Recursos adicionais
Continue lendo

Data Deduplication at Trillion Scale: How to Solve the Biggest Bottleneck of LLM Training
Explore how MinHash LSH and Milvus handle data deduplication at the trillion-scale level, solving key bottlenecks in LLM training for improved AI model performance.

Our Journey to 35K+ GitHub Stars: The Real Story of Building Milvus from Scratch
Join us in celebrating Milvus, the vector database that hit 35.5K stars on GitHub. Discover our story and how we’re making AI solutions easier for developers.

Selecting the Right ETL Tools for Unstructured Data to Prepare for AI
Learn the right ETL tools for unstructured data to power AI. Explore key challenges, tool comparisons, and integrations with Milvus for vector search.


