Verificado em 20 de julho de 2026. Status da evidência: revisão documental dos repositórios, model cards, artigos técnicos, licenças e documentação oficial da DeepSeek. Não executamos um benchmark próprio entre os modelos desta página e outros modelos de programação.
Nota de independência: este site é um guia independente e não pertence, não é operado, patrocinado ou aprovado pela DeepSeek. Os nomes dos modelos e as marcas citadas pertencem aos respectivos titulares.
DeepSeek Coder não é um único modelo disponível em todos os produtos da DeepSeek. O nome identifica famílias de checkpoints voltados à programação, com pesos que podem ser baixados e executados em infraestrutura própria. Esses checkpoints devem ser separados dos modelos hospedados pela API oficial.
Na data desta verificação, deepseek-coder não consta como ID no catálogo oficial da API da DeepSeek. Os IDs hospedados documentados são deepseek-v4-flash e deepseek-v4-pro. Para usar um checkpoint Coder, você precisa operar os pesos localmente ou em uma infraestrutura escolhida por você.
Resposta rápida
- DeepSeek-Coder original: família de modelos Base e Instruct com janela de 16K, completion de código e Fill-In-the-Middle.
- DeepSeek-Coder-V2: família posterior baseada em Mixture-of-Experts, com variantes de 16B e 236B parâmetros totais e contexto documentado de 128K.
- API hospedada: não aceita
deepseek-codercomo ID documentado; use um modelo V4 suportado. - FIM hospedado: está disponível como recurso beta para os modelos V4 em modo Non-Thinking, com endpoint e limites próprios.
- Execução local: oferece controle sobre o runtime, mas não torna o código gerado correto, seguro ou privado automaticamente.
- Licença: o código dos repositórios está sob MIT; os pesos seguem a licença de modelo específica da DeepSeek.
DeepSeek Coder original, Coder V2 e API: qual é a diferença?
| Opção | Natureza | Contexto documentado | Uso principal |
|---|---|---|---|
| DeepSeek-Coder original | Checkpoints Base e Instruct para execução própria | 16K | Completion, infilling, explicação e geração assistida de código |
| DeepSeek-Coder-V2 Lite | Modelo MoE de 16B parâmetros totais e 2,4B ativos | 128K | Avaliação local ou hospedagem própria das variantes Base e Instruct |
| DeepSeek-Coder-V2 completo | Modelo MoE de 236B parâmetros totais e 21B ativos | 128K | Infraestrutura de inferência com recursos substancialmente maiores |
| DeepSeek V4 via API | Serviço hospedado e gerenciado pela DeepSeek | 1 milhão de tokens no catálogo verificado | Geração, revisão, ferramentas, JSON e FIM beta, conforme o modo usado |
O limite de contexto não informa sozinho quanto código útil o modelo conseguirá analisar. Tokenização, arquivos fornecidos, dependências, testes, documentação e tamanho da saída também consomem a janela. Um contexto maior não substitui a seleção dos arquivos relevantes.
O que é DeepSeek-Coder?
O repositório oficial do DeepSeek-Coder descreve uma série de modelos treinados para tarefas de code intelligence. A linha original inclui checkpoints de 1,3B, 5,7B MQA, 6,7B e 33B, embora a disponibilidade das variantes Base e Instruct não seja idêntica em todos os tamanhos.
A DeepSeek informa que a família original foi treinada do zero em 2 trilhões de tokens. A composição divulgada foi:
- 87% de código;
- 10% de linguagem relacionada a código, incluindo Markdown do GitHub e Stack Exchange;
- 3% de conteúdo em chinês não relacionado a código.
O processo documentado começou com 1,8 trilhão de tokens e janela de 4K, seguido por mais 200 bilhões de tokens com janela ampliada para 16K. Os modelos Instruct receberam posteriormente ajuste com 2 bilhões de tokens de dados de instrução.
O corpus foi organizado em nível de repositório para preservar parte das relações entre arquivos. Isso não significa que o modelo descobre ou lê automaticamente todo o seu projeto. A aplicação continua responsável por selecionar e enviar os arquivos, símbolos, requisitos, testes e erros relevantes.
O que mudou no DeepSeek-Coder-V2?
O DeepSeek-Coder-V2 foi desenvolvido a partir de um checkpoint intermediário do DeepSeek-V2, com pré-treinamento adicional de 6 trilhões de tokens. A família utiliza arquitetura Mixture-of-Experts e foi publicada nas seguintes configurações:
| Checkpoint oficial | Parâmetros totais | Parâmetros ativos | Contexto |
|---|---|---|---|
| DeepSeek-Coder-V2-Lite-Base | 16B | 2,4B | 128K |
| DeepSeek-Coder-V2-Lite-Instruct | 16B | 2,4B | 128K |
| DeepSeek-Coder-V2-Base | 236B | 21B | 128K |
| DeepSeek-Coder-V2-Instruct | 236B | 21B | 128K |
O repositório também documenta expansão de 86 para 338 linguagens de programação. Esse número descreve a cobertura divulgada pela DeepSeek; não garante a mesma qualidade para todas as linguagens, frameworks ou tarefas.
Não trate os resultados de benchmark publicados no lançamento como um ranking permanente. Eles representam modelos, versões de concorrentes, prompts e condições específicas daquele estudo. Para os detalhes metodológicos, consulte o artigo técnico do DeepSeek-Coder-V2.
Base ou Instruct: qual escolher?
| Variante | Quando considerar | Entrada recomendada | Cuidado principal |
|---|---|---|---|
| Base | Code completion, FIM, avaliação e fine-tuning | Prefixo de código ou estrutura FIM esperada pelo tokenizer | Não pressupor comportamento de chat ou obediência consistente a instruções |
| Instruct | Explicação, debugging, refatoração e geração baseada em requisitos | Instrução com código, ambiente, restrições e critérios de aceitação | Validar toda alteração, dependência e decisão de segurança |
Um checkpoint Base tende a ser a primeira opção para completion e preenchimento dentro do editor. Um checkpoint Instruct é mais apropriado quando o usuário descreve uma tarefa em linguagem natural. Não misture o chat template, os tokens FIM ou a configuração de geração de checkpoints diferentes.
Como funciona o Fill-In-the-Middle?
Em uma completion convencional, o modelo continua após um prefixo. No Fill-In-the-Middle, ou FIM, a aplicação fornece o conteúdo anterior à lacuna e pode fornecer também o conteúdo posterior. O modelo tenta gerar a parte intermediária.
# Prefixo
def normalize_username(value: str) -> str:
"""Normaliza o identificador antes da validação."""
# Lacuna a ser preenchida pelo modelo
# Sufixo
assert normalize_username(" Ana Silva ") == "ana-silva"
Este exemplo mostra somente a estrutura lógica. Checkpoints locais podem usar tokens especiais específicos. Obtenha os marcadores do tokenizer e do model card exatos do checkpoint escolhido; não copie tokens FIM de outra família.
Como executar um checkpoint local
O exemplo abaixo usa o checkpoint oficial deepseek-ai/deepseek-coder-6.7b-instruct e fixa uma revisão verificada do repositório. Ele utiliza arquivos Safetensors e não ativa trust_remote_code. Confirme antes se seu hardware tem memória suficiente e teste tudo em um ambiente isolado.
python -m pip install torch transformers accelerate safetensors
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
MODEL_ID = "deepseek-ai/deepseek-coder-6.7b-instruct"
REVISION = "60b85f5d38cbbd312461edd033ffcf5b586b4a81"
tokenizer = AutoTokenizer.from_pretrained(
MODEL_ID,
revision=REVISION,
)
model = AutoModelForCausalLM.from_pretrained(
MODEL_ID,
revision=REVISION,
torch_dtype="auto",
device_map="auto",
use_safetensors=True,
)
messages = [
{
"role": "user",
"content": (
"Revise a função Python abaixo. Preserve a assinatura, "
"explique os riscos e devolva uma implementação corrigida "
"com testes pytest.\n\n"
"def divide(total, count):\n"
" return total / count"
),
}
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
with torch.inference_mode():
output = model.generate(
**inputs,
max_new_tokens=512,
do_sample=False,
pad_token_id=tokenizer.eos_token_id,
)
prompt_length = inputs["input_ids"].shape[-1]
generated_tokens = output[0, prompt_length:]
print(
tokenizer.decode(
generated_tokens,
skip_special_tokens=True,
)
)
A revisão usada no exemplo pode ser conferida no snapshot oficial do checkpoint 6.7B Instruct. Em produção, registre também versões de Python, PyTorch, Transformers, CUDA, drivers, parâmetros de geração e hashes dos artefatos baixados.
Importante: não abra automaticamente um servidor de inferência em 0.0.0.0. Para acesso compartilhado, use um gateway com autenticação, TLS, limites de requisição, controle de rede e política de logs. Para uma opção com interface local, consulte também o guia de DeepSeek no LM Studio.
Como usar FIM na API hospedada
A API hospedada possui um recurso separado de FIM Completion em beta. Na documentação verificada, ele exige https://api.deepseek.com/beta como base URL, aceita no máximo 4K tokens de saída e funciona somente em modo Non-Thinking.
O exemplo abaixo utiliza deepseek-v4-pro, não um checkpoint chamado DeepSeek Coder:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com/beta",
)
response = client.completions.create(
model="deepseek-v4-pro",
prompt=(
"def clamp(value: int, minimum: int, maximum: int) -> int:\n"
" if minimum > maximum:\n"
" raise ValueError('minimum must be <= maximum')\n"
),
suffix=" return value\n",
max_tokens=256,
)
print(response.choices[0].text)
Não use deepseek-coder no campo model dessa requisição. Para autenticação, endpoints de chat, tratamento de erros e limites operacionais, consulte o guia da DeepSeek API. Para os recursos e o status dos IDs hospedados, veja também a página do DeepSeek V4.
Como escrever um prompt de programação verificável
Um pedido útil informa a tarefa, o ambiente, o contrato e os critérios de aceitação. Envie somente o contexto necessário e remova chaves, tokens, credenciais, dados pessoais e informações de clientes.
Tarefa:
Implemente parse_invoice em Python 3.12.
Contrato:
- entrada: string JSON em UTF-8;
- saída: objeto Invoice tipado;
- rejeitar campos desconhecidos;
- representar valores monetários com Decimal.
Restrições:
- use somente a biblioteca padrão;
- não altere a assinatura pública;
- não faça chamadas de rede;
- não leia variáveis de ambiente.
Entrega:
1. código;
2. explicação curta das decisões;
3. testes para JSON inválido, valor negativo e campo extra;
4. riscos que ainda exigem revisão humana.
Testes escritos pelo mesmo modelo ajudam na revisão, mas não são uma verificação independente. Adicione casos ocultos, regressões e entradas adversariais definidos pela equipe responsável pelo software.
Como avaliar DeepSeek Coder no seu projeto
Os resultados oficiais em HumanEval, MultiPL-E, MBPP, DS-1000, APPS e outros conjuntos descrevem avaliações específicas. Eles não provam a qualidade em seu repositório, linguagem, framework ou política de segurança. O artigo técnico do DeepSeek-Coder original deve ser lido junto com sua metodologia e limitações.
| Métrica | Como medir | O que ela não prova |
|---|---|---|
| Compilação ou type-check | Percentual de respostas sem erros básicos | Não prova correção lógica |
| Pass@1 | Primeira resposta contra uma suíte oculta e fixa | Não mede segurança ou manutenção |
| Regressões | Testes existentes quebrados após a alteração | Não detecta todos os efeitos colaterais |
| Segurança | SAST, revisão manual e testes adversariais | Um scanner isolado não garante ausência de falhas |
| Aceitação humana | Alterações aceitas sem correção substancial | Pode variar entre equipes e revisores |
| Latência | p50 e p95 no mesmo hardware e carga | Não deve ser comparada entre ambientes diferentes |
| Custo operacional | Infraestrutura por tarefa aceita | Preço de GPU sozinho não representa o custo total |
Registre checkpoint, revisão, quantização, runtime, parâmetros, hardware e versão do conjunto de testes. Sem essas informações, uma diferença aparente pode ser efeito da configuração, e não do modelo.
Segurança do código e do runtime
DeepSeek Coder gera texto. O modelo não compila, executa, testa nem publica código por conta própria. Essas ações só acontecem quando uma aplicação externa conecta a saída a compiladores, terminais, ferramentas, agentes ou pipelines de CI/CD.
- não execute a resposta diretamente no host de produção;
- use sandbox sem segredos e com limites de CPU, memória, disco e tempo;
- restrinja a rede de saída quando ela não for necessária;
- compile ou faça type-check antes da execução;
- rode testes unitários, integração, regressão e casos adversariais;
- aplique lint, análise estática e scanner de dependências;
- procure comandos destrutivos, leitura de ambiente, caminhos arbitrários e chamadas de rede;
- revise autenticação, autorização, criptografia e tratamento de dados pessoais manualmente.
Execução local também não garante privacidade automaticamente. Prompts e respostas podem aparecer em logs, telemetria do editor, histórico do terminal, caches, ferramentas de observabilidade ou backups. Mapeie todo o caminho dos dados e configure cada componente de acordo com sua política.
DeepSeek Coder é open source?
A resposta exige separar código e pesos. O código do repositório está sob licença MIT. Os pesos estão sujeitos à licença de modelo do DeepSeek-Coder. O repositório informa suporte a uso comercial, mas a licença inclui condições de uso, distribuição, redistribuição, atribuição e restrições específicas.
O DeepSeek-Coder-V2 segue a mesma separação: código do repositório sob MIT e pesos sujeitos à licença de modelo do Coder V2. Portanto, “pesos publicamente disponíveis sob uma licença de modelo” é uma descrição mais precisa do que presumir que todos os componentes estejam sob a mesma licença open source.
- confirme a licença do checkpoint e da revisão exatos;
- revise as obrigações antes de redistribuir pesos ou oferecer acesso remoto;
- não presuma que uma quantização de terceiros tenha a mesma procedência;
- verifique a licença do runtime e de qualquer dataset adicional;
- não use nome, logotipo ou marca de forma que sugira aprovação oficial.
Quando usar cada opção
- DeepSeek-Coder Base: estudos de completion, FIM, fine-tuning e avaliação reproduzível da linha original.
- DeepSeek-Coder Instruct: explicação, debugging e geração guiada em um runtime próprio.
- Coder V2 Lite: avaliação de uma arquitetura MoE posterior sem operar o checkpoint completo de 236B.
- Coder V2 completo: pesquisa ou implantação com infraestrutura capaz de atender aos requisitos de memória, paralelismo e latência.
- DeepSeek V4 via API: aplicações que precisam de serviço gerenciado, autenticação por chave e modelos hospedados pela DeepSeek.
Para uma abordagem mais ampla, incluindo revisão, debugging e integração em aplicações, veja o guia de DeepSeek para programação.
Perguntas frequentes
DeepSeek Coder está disponível na API oficial?
Não como o ID deepseek-coder. Na data da verificação, a API documenta deepseek-v4-flash e deepseek-v4-pro. Os checkpoints DeepSeek-Coder e Coder V2 são opções para execução própria.
Os pesos do DeepSeek Coder ainda podem ser baixados?
Sim. Os repositórios e model cards oficiais continuam disponibilizando checkpoints. Isso não significa que eles sejam IDs ativos da API hospedada.
Qual é a diferença entre Base e Instruct?
Base é direcionado a completion, infilling, avaliação e fine-tuning. Instruct recebeu ajuste para responder a instruções em linguagem natural, sendo mais adequado para explicação, debugging e geração guiada.
DeepSeek Coder executa o código que gera?
Não. A execução depende de uma aplicação ou ferramenta externa. Trate toda saída como código não confiável e faça a validação em ambiente isolado.
Qual é o limite de contexto?
A família original documenta 16K. O DeepSeek-Coder-V2 documenta 128K. Os modelos V4 hospedados possuem contexto de 1 milhão no catálogo consultado, mas são modelos e serviços diferentes.
É possível usar DeepSeek Coder comercialmente?
Os repositórios oficiais informam suporte a uso comercial, sujeito à licença de modelo. Leia a licença do checkpoint, da revisão e de qualquer conversão ou quantização utilizada antes de distribuir ou implantar o sistema.
Executar localmente mantém todos os dados privados?
Não necessariamente. A privacidade depende de logs, telemetria, extensões, histórico do editor, permissões, rede, backups e configuração do servidor. Hospedagem própria oferece controle adicional, não uma garantia automática.
Conclusão
DeepSeek Coder é um conjunto de famílias de modelos para programação, e não um ID universal da DeepSeek API. A linha original oferece checkpoints Base e Instruct com contexto de 16K; o Coder V2 amplia a arquitetura e o contexto documentado para 128K. Ambos permanecem disponíveis para pesquisa, avaliação e hospedagem própria.
Para um serviço gerenciado, use somente um ID publicado na documentação oficial da API. Para execução própria, escolha o checkpoint exato, fixe a revisão, verifique a licença, proteja o runtime e avalie o modelo com tarefas reais do seu projeto. Em qualquer modalidade, código gerado precisa de testes, análise de segurança e revisão humana antes de chegar à produção.