🚀 O que é o Docker Model Runner?
O Docker Model Runner é uma funcionalidade introduzida no Docker Desktop (a partir da versão 4.40) que permite executar modelos de IA localmente, utilizando o comando docker model
. Ele integra-se diretamente ao ecossistema Docker, oferecendo uma experiência simplificada para desenvolvedores que desejam testar e iterar modelos de IA em seus próprios ambientes.
🛠️ Como o Docker Model Runner Pode Ajudar nas Decisões de Soluções
1. Testes Locais de Modelos de IA
Com o Docker Model Runner, é possível executar modelos de linguagem localmente, permitindo que desenvolvedores testem e validem soluções de IA sem depender de serviços externos. Isso é particularmente útil para avaliar o comportamento de modelos em diferentes cenários e ajustar parâmetros conforme necessário.
2. Integração com Fluxos de Trabalho Existentes
A ferramenta se integra perfeitamente ao Docker Compose, permitindo que modelos de IA sejam executados como parte de aplicações multi-contêiner. Isso facilita a criação de ambientes de desenvolvimento consistentes e reproduzíveis, onde diferentes componentes da aplicação podem interagir com os modelos de IA de forma coordenada.
3. API Compatível com OpenAI
O Docker Model Runner expõe endpoints compatíveis com a API da OpenAI, permitindo que aplicações existentes que utilizam essa API sejam facilmente adaptadas para interagir com modelos executados localmente. Isso proporciona flexibilidade na escolha entre execução local e serviços em nuvem, dependendo das necessidades específicas do projeto.
4. Execução Sob Demanda e Gerenciamento Eficiente de Recursos
Os modelos são carregados na memória apenas quando solicitados e descarregados após um período de inatividade, otimizando o uso de recursos do sistema. Isso permite que desenvolvedores executem modelos de IA em máquinas locais sem comprometer significativamente o desempenho geral do sistema.
Resumindo, Quando faz sentido usar?
- Testar e prototipar LLMs sem pagar API externa
- Trabalhar offline (útil pra eventos, workshops, segurança, etc.)
- Integrar IA no seu fluxo local via Docker Compose
- Explorar modelos como se fossem imagens Docker, mas de IA
🔧 Integrando o Docker Model Runner com LangChain
1. Pré-requisitos
- Docker Desktop 4.40+ (macOS, Windows ou Linux)
- Python 3.8+
pip install langchain_openai
💡 No Windows é preciso ter uma GPU NVIDIA com CUDA. No macOS, Apple Silicon (M1, M2, etc.). No Linux ainda está em preview (requer
docker model
via CLI, sem interface).
2. Ativar o Docker Model Runner
No Docker Desktop:(YouTube)
Abra o Docker Desktop.(DEV Community)
Vá para Settings (Configurações).
Clique na aba Features in development (Recursos em desenvolvimento).
Ative a opção Enable Docker Model Runner.
Ative também a opção Enable host-side TCP support e configure a porta para 12434.
Clique em Apply & Restart (Aplicar e Reiniciar).
Ou via linha de comando:
docker desktop enable model-runner --tcp 12434
3. Baixar um modelo
Utilize o comando docker model pull
para baixar um modelo disponível. Por exemplo:
docker model pull ai/llama3.2:3B-Q4_K_M
4. Instalar o LangChain
Instale o pacote langchain_openai
utilizando o pip
:
pip install langchain_openai
5. Integrar o LangChain com o Docker Model Runner
Crie um script Python para interagir com o modelo local:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="ai/llama3.2:3B-Q4_K_M",
base_url="http://localhost:12434/engines/v1",
api_key="ignored"
)
response = llm.invoke("Explique o efeito Doppler de forma simples.")
print(response)
Este script configura o LangChain para se comunicar com o Docker Model Runner através de uma API compatível com a da OpenAI.
6. Executar o script
Salve o script acima em um arquivo, por exemplo, teste_modelo.py
, e execute-o:
python teste_modelo.py
Você verá a resposta gerada pelo modelo diretamente no terminal.
📚 Recursos Adicionais
Utilizar o Docker Model Runner em conjunto com o LangChain permite que desenvolvedores testem e integrem modelos de linguagem localmente, facilitando a prototipação e o desenvolvimento de soluções baseadas em IA sem depender de serviços em nuvem.
Curtiu?
Se quiser trocar ideia sobre IA, cloud e arquitetura, me segue nas redes:
Publico conteúdos técnicos direto do campo de batalha. E quando descubro uma ferramenta que economiza tempo e resolve bem, como essa, você fica sabendo também.