Equipes de engenharia de software em setores como tecnologia financeira (fintech), saúde, governo e grandes corporações operam sob diretrizes intransigentes de conformidade: código-fonte proprietário e propriedade intelectual nunca podem cruzar os limites da rede corporativa. Embora assistentes de código baseados em nuvem ofereçam expressivos ganhos de produtividade, enviar trechos de repositórios, segredos de negócio e esquemas estruturais para APIs comerciais de terceiros viola legislações de privacidade e políticas internas de segurança.
A solução definitiva para manter o ganho de produtividade sem comprometer a integridade dos dados é integrar a extensão CodeGPT no Visual Studio Code com o Ollama. O CodeGPT atua como a interface nativa no editor para geração de código, refatoração e autocompletar em tempo real, enquanto o Ollama executa modelos de pesos abertos diretamente no hardware da estação de trabalho através de um endpoint local (http://localhost:11434). Nenhum token gerado e nenhum trecho de código trafega pela internet.
Comparativo de Arquitetura: Nuvem vs. Execução Local com Ollama
Entender as diferenças fundamentais entre assistentes tradicionais e a abordagem local evidencia por que essa arquitetura atende às exigências de segurança corporativa e ambientes isolados (air-gapped):
| Critério de Análise | Assistentes na Nuvem (Copilot, APIs SaaS) | CodeGPT + Ollama (LLM Local) |
|---|---|---|
| Tráfego de Dados | Código e prompts enviados via HTTPS para servidores externos | Zero envio externo; todo o fluxo opera em loopback (127.0.0.1) |
| Hospedagem do Modelo | Centros de dados multilocatários de provedores terceiros | Máquina local do desenvolvedor ou servidor privado da rede |
| Conectividade | Conexão de internet contínua e ativa é obrigatória | Funciona 100% offline (ambientes sem acesso externo) |
| Conformidade Legal | Requer contratos de processamento de dados (DPA) complexos | Totalmente aderente às políticas de não exportação de código |
| Impacto em Hardware | Quase nulo na estação do desenvolvedor | Demanda alocação de memória RAM e VRAM na máquina |
| Custo Operacional | Cobrança por assento ou por volume de tokens consumidos | Modelos de código aberto gratuitos; restrito ao hardware local |
Ao configurar o CodeGPT para utilizar o provedor Ollama, a extensão envia requisições JSON padronizadas diretamente para o daemon local. O Ollama carrega os parâmetros do modelo na memória de vídeo (VRAM) da GPU ou na memória RAM unificada, processa o contexto e responde via streaming local para o editor, eliminando qualquer risco de vazamento de dados.
Escolha do Modelo de Programação e Dimensionamento de Hardware
A quantidade de parâmetros do modelo dita a capacidade de raciocínio lógico e a velocidade de inferência. Selecione o modelo compatível com os recursos da sua estação:
- Qwen2.5-Coder (7B / 14B): Modelo de referência em código multilíngue, com excelente precisão para refatoração e geração de testes unitários. A variante de 7B roda com fluidez em sistemas com 16 GB de RAM ou GPUs com 8 GB de VRAM.
- DeepSeek-Coder (6.7B / 1.3B): Muito conceituado na resolução de problemas algorítmicos e mapeamento de dependências no projeto.
- Codestral (22B): Modelo de alto calibre desenvolvido pela Mistral para engenharia de software com ampla janela de contexto; recomendado para máquinas com 24 GB+ de VRAM ou Macs com 32 GB+ de memória unificada.
- Qwen2.5-Coder (1.5B / 3B): Latência mínima por token, tornando-se a melhor alternativa para sugestões automáticas inline (ghost text) durante a digitação.
Passo 1: Instalação do Ollama e Obtenção do Modelo
Instale o Ollama conforme o sistema operacional em uso:
- macOS / Linux: Baixe o instalador oficial ou utilize scripts de instalação direta via terminal.
- Windows: Execute o instalador oficial obtido em
ollama.compara iniciar o serviço na bandeja do sistema.
Após a instalação, confirme no terminal que o serviço está ativo:
ollama --version
Baixe o modelo de programação escolhido com o comando ollama pull (este comando apenas faz o download dos pesos, sem iniciar uma sessão interativa no console):
# Baixar o modelo principal equilibrado para desenvolvimento
ollama pull qwen2.5-coder:7b
# (Opcional) Baixar o modelo ultrarrápido para autocompletar em tempo real
ollama pull qwen2.5-coder:1.5b
Confira os modelos instalados localmente:
ollama list
Passo 2: Ajuste da Janela de Contexto via Modelfile
A análise de código-fonte requer uma janela de contexto substancial para processar declarações de tipos, módulos importados e anotações. Por padrão, muitos modelos no Ollama inicializam com janelas conservadoras (2.048 ou 4.096 tokens) para poupar memória.
Para um suporte de desenvolvimento robusto, expanda o contexto para 8.192 ou 16.384 tokens utilizando um Modelfile customizado:
- Crie um arquivo de texto denominado
Modelfile(sem extensão) em qualquer diretório:
FROM qwen2.5-coder:7b
# Expandir janela de contexto para 8192 tokens
PARAMETER num_ctx 8192
# Reduzir temperatura para obter código determinístico e sintaticamente correto
PARAMETER temperature 0.2
# Ajustar amostragem
PARAMETER top_p 0.95
- Compile o modelo customizado no terminal:
ollama create my-local-coder -f ./Modelfile
Também é possível definir a variável de ambiente OLLAMA_CONTEXT_LENGTH=8192 antes da inicialização do serviço. Lembre-se de que janelas de contexto maiores alocam mais memória para o cache KV.
Passo 3: Instalação e Configuração do CodeGPT no VS Code
- Abra o Visual Studio Code.
- Acesse a aba de Extensões (
Ctrl+Shift+Xno Windows/Linux,Cmd+Shift+Xno macOS). - Procure por CodeGPT (
DanielSanMedium.dscodegpt) e clique em Instalar. - Abra o painel do CodeGPT na barra de atividades lateral ou pressione
Ctrl+Shift+P/Cmd+Shift+Pe digiteCodeGPT: Focus on Chat View. - Clique no ícone de engrenagem ou selecione Manage my AI Models na parte superior da interface do CodeGPT.
- Na aba de categorias, alterne para Local LLMs.
- No seletor Provider, escolha Ollama.
- No campo Server URL, confirme o endereço local padrão:
http://localhost:11434
(Caso o Ollama esteja hospedado em um servidor dedicado na rede interna da empresa, insira o IP interno correspondente, como http://192.168.1.100:11434).
- No menu Model, selecione o modelo baixado (como
qwen2.5-coder:7boumy-local-coder). - Clique fora do painel para aplicar as alterações. O CodeGPT estabelecerá a comunicação local com o Ollama.
Passo 4: Habilitação de Chat e Autocompletar Inline
O CodeGPT oferece suporte a dois fluxos de trabalho essenciais: assistência interativa no painel lateral e preenchimento de código inline.
Painel Lateral e Refatoração de Código
Selecione qualquer trecho no arquivo ativo e utilize os recursos do CodeGPT para:
- Criar suítes de testes unitários com base na lógica local.
- Explicar o funcionamento de funções complexas ou sistemas legados.
- Identificar falhas de compilação ou rastrear exceções em tempo de execução.
Configuração do Autocompletar (Autocomplete)
- No menu lateral do CodeGPT, acesse a seção Autocomplete.
- Ative a funcionalidade alternando para ON.
- Selecione um modelo leve para essa tarefa (como
qwen2.5-coder:1.5boudeepseek-coder:base), garantindo que o texto fantasma (ghost text) apareça com baixa latência enquanto você digita. - Ajuste os campos Suggestion Delay e Max Tokens de acordo com a capacidade do seu processador ou placa de vídeo.
Passo 5: Hardening Corporativo e Validação Offline
Para assegurar a conformidade em auditorias de segurança, realize as seguintes validações:
1. Desativar a Telemetria do Visual Studio Code
Garanta que o próprio editor não envie métricas de uso para servidores remotos:
- Abra as Configurações do VS Code (
Ctrl+,ouCmd+,). - Pesquise por
telemetry.telemetryLevel. - Altere o valor para
off.
2. Manter Ollama Vinculado Somente ao Loopback
Por padrão, o Ollama responde apenas em 127.0.0.1:11434. Evite definir a variável OLLAMA_HOST como 0.0.0.0 em máquinas individuais de trabalho, impedindo que outros dispositivos na rede local tenham acesso ao serviço.
3. Teste em Modo Desconectado (Air-gapped)
- Desconecte o cabo de rede Ethernet e desative o adaptador Wi-Fi da máquina (ou bloqueie o tráfego de saída por regra de firewall).
- Abra um arquivo de projeto no VS Code.
- Envie uma pergunta técnica ao CodeGPT e digite algumas linhas para disparar o autocompletar.
- Verifique que as respostas são geradas normalmente. O funcionamento pleno e sem falhas em modo offline comprova que não há dependência de tráfego de rede externo.
Diagnóstico de Problemas e Recomendações
- Conexão Recusada (Connection Refused): Confirme se o Ollama está em execução. No Windows e macOS, verifique a bandeja do sistema; no Linux, execute
curl http://localhost:11434no terminal. - Erros de CORS: Se o painel interno da extensão acusar bloqueio de origem cruzada, defina a variável de ambiente
OLLAMA_ORIGINS="*"antes de inicializar o Ollama. - Queda Significativa de Velocidade: Se o tempo de resposta aumentar drasticamente, a memória VRAM da GPU pode ter esgotado, forçando o descarregamento (offload) de camadas para a memória RAM comum. Para sanar o gargalo, utilize um modelo com menos parâmetros (por exemplo, migrando de 14B para 7B, ou de 7B para 1.5B/3B) ou diminua o
num_ctxno Modelfile.