ESPAÇO PUBLICITÁRIO DISPONÍVEL · FALE CONOSCO

Como configurar e integrar a API da DeepSeek em ferramentas de desenvolvimento com bibliotecas compatíveis com a OpenAI

365Finds Editorial
11.430 artigos Wiki catalogados

Use o 365 Wiki com sua IA

Copie o prompt abaixo, cole na IA que você já usa e faça sua pergunta.

Baixar o Skill completo

Experimente primeiro com o prompt. Se você usa o 365 Wiki com frequência, instale o Skill completo do 365Wiki para não precisar colá-lo novamente. Se não usa uma IA específica, as versões web do Gemini ou Microsoft Copilot também servem.

Desenvolvedores de software não precisam adotar SDKs proprietários para integrar os modelos da DeepSeek em suas ferramentas existentes. A API oficial da DeepSeek implementa um protocolo REST totalmente compatível com as especificações da OpenAI (como os endpoints /chat/completions e /models). Alterando apenas dois parâmetros básicos de configuração — a URL base e a chave de API —, é possível redirecionar bibliotecas clientes, extensões de IDEs e assistentes de terminal para a infraestrutura da DeepSeek sem reescrever o código da aplicação.

Este guia prático explica como configurar clientes em Python e TypeScript, integrar a DeepSeek em ferramentas como Cline, Cursor, Continue e Aider, e usufruir de recursos avançados como o cache automático de contexto (KV Cache) e o tratamento de tokens de raciocínio (reasoning_content).


Configuração fundamental: URL base e autenticação

Por padrão, as bibliotecas da OpenAI direcionam o tráfego para https://api.openai.com/v1. Para conectar-se à DeepSeek, basta atualizar o endpoint e as credenciais no momento da inicialização:

ParâmetroValorDescrição
URL base padrãohttps://api.deepseek.comEndpoint principal para geração de texto e listagem de modelos
URL base alternativahttps://api.deepseek.com/v1Necessária para ferramentas que anexam internamente /v1
URL base betahttps://api.deepseek.com/betaEndpoint para funcionalidades experimentais como FIM (Fill-In-the-Middle)
URL base Anthropichttps://api.deepseek.com/anthropicRoteamento compatível com o formato do SDK da Anthropic
Chave de API (API Key)sk-...Gerada no painel de controle da DeepSeek Platform
Modelos principaisdeepseek-chat, deepseek-reasonerdeepseek-chat para codificação rápida; deepseek-reasoner para raciocínio analítico

Evitando erros de formatação na URL base

O erro mais comum ao integrar ferramentas é a concatenação incorreta de caminhos de URL. O gateway da DeepSeek processa tanto https://api.deepseek.com/chat/completions quanto https://api.deepseek.com/v1/chat/completions. No entanto:


Exemplos de integração com SDKs oficiais

Graças à compatibilidade de esquema, o SDK oficial da OpenAI pode ser utilizado diretamente.

1. Python (SDK openai v1.0+)

import os
from openai import OpenAI

# Inicialização do cliente com credenciais da DeepSeek
client = OpenAI(
    api_key=os.environ.get("DEEPSEEK_API_KEY"),
    base_url="https://api.deepseek.com"
)

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "Você é um engenheiro de software sênior."},
        {"role": "user", "content": "Escreva uma função geradora em Python para ler arquivos JSONL gigantes de forma eficiente."}
    ],
    temperature=0.7,
    stream=False
)

print(response.choices[0].message.content)

Para streaming de tokens em tempo real, use stream=True:

stream = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "Explique o algoritmo de consenso Raft em dois parágrafos."}],
    stream=True
)

for chunk in stream:
    token = chunk.choices[0].delta.content or ""
    print(token, end="", flush=True)

2. Node.js e TypeScript (pacote npm openai)

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.DEEPSEEK_API_KEY,
  baseURL: "https://api.deepseek.com",
});

async function runSecurityAudit() {
  const completion = await client.chat.completions.create({
    model: "deepseek-chat",
    messages: [
      { role: "system", content: "Faça uma auditoria de segurança no código a seguir e aponte possíveis vulnerabilidades." },
      { role: "user", content: "const query = `SELECT * FROM users WHERE id = ${req.params.id}`;" },
    ],
  });

  console.log(completion.choices[0].message.content);
}

runSecurityAudit();

3. Teste rápido com cURL no terminal

Antes de ajustar extensões em sua IDE, faça um teste simples de requisição HTTP:

curl https://api.deepseek.com/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -d '{
    "model": "deepseek-chat",
    "messages": [
      {"role": "user", "content": "Teste de conexão com a API da DeepSeek"}
    ]
  }'

Integração em IDEs e ferramentas de desenvolvimento

As principais ferramentas de assistência de código oferecem compatibilidade nativa com endpoints OpenAI alternativos.

Cline e Roo Code (Extensão para VS Code)

O Cline atua como um agente autônomo dentro do VS Code, capaz de rodar comandos e modificar arquivos.

  1. Abra a barra lateral do Cline e clique no ícone de Configurações (engrenagem).
  2. No campo API Provider, escolha OpenAI Compatible (não selecione "OpenAI", para não travar na URL padrão da OpenAI).
  3. No campo Base URL, informe: https://api.deepseek.com.
  4. No campo API Key, insira sua chave da DeepSeek.
  5. No campo Model ID, digite deepseek-chat para uso diário ou deepseek-reasoner para tarefas analíticas complexas.
  6. Salve para concluir.

Cursor (Editor de código orientado a IA)

O Cursor permite substituir a rota padrão da OpenAI para direcionar chamadas para modelos de terceiros.

  1. Abra as configurações do Cursor (Cmd+, no macOS ou Ctrl+, no Windows/Linux) e clique na guia Models.
  2. Na seção OpenAI API Key, ative a opção Override OpenAI Base URL.
  3. Defina a URL base como https://api.deepseek.com/v1 (o Cursor exige o sufixo /v1).
  4. Cole sua chave de API da DeepSeek no campo correspondente.
  5. Na lista de modelos, clique em Add Model, adicione deepseek-chat e desative modelos que não utilizará.

Continue.dev (Copiloto de código aberto)

O Continue é configurado por meio do arquivo ~/.continue/config.json. Configure a DeepSeek tanto para chat quanto para autocompletar:

{
  "models": [
    {
      "title": "DeepSeek Chat",
      "provider": "openai",
      "model": "deepseek-chat",
      "apiKey": "SUA_CHAVE_DEEPSEEK",
      "apiBase": "https://api.deepseek.com/v1"
    }
  ],
  "tabAutocompleteModel": {
    "title": "DeepSeek Autocomplete",
    "provider": "openai",
    "model": "deepseek-chat",
    "apiKey": "SUA_CHAVE_DEEPSEEK",
    "apiBase": "https://api.deepseek.com/v1"
  }
}

Aider (Programação em pares no terminal)

O Aider suporta a DeepSeek de forma transparente por meio do LiteLLM ou via variáveis de ambiente:

# Opção 1: Especificação direta do modelo
export DEEPSEEK_API_KEY="sk-..."
aider --model deepseek/deepseek-chat

# Opção 2: Redirecionamento de variáveis padrão da OpenAI
export OPENAI_API_BASE="https://api.deepseek.com/v1"
export OPENAI_API_KEY="sk-..."
aider --model openai/deepseek-chat

Práticas de arquitetura para fluxos automatizados

Integrar a DeepSeek em esteiras de CI/CD, robôs de análise de código e sistemas multiagente proporciona vantagens substanciais em custo e tempo de resposta.

1. Cache automático de contexto (KV Cache)

A DeepSeek habilita por padrão um sistema de cache de prompts em disco. Quando requisições subsequentes compartilham o mesmo prefixo exato a partir do token zero:

"usage": {
  "prompt_tokens": 4096,
  "completion_tokens": 512,
  "total_tokens": 4608,
  "prompt_cache_hit_tokens": 3584,
  "prompt_cache_miss_tokens": 512
}

Dica de arquitetura: Posicione instruções fixas no início do prompt. Coloque diretrizes de sistema (System Prompts), documentações de arquitetura e regras de linting no topo, deixando os arquivos de código alterados ou perguntas variáveis no final. Isso assegura o maior índice possível de reaproveitamento do cache.

2. Manipulação de tokens de raciocínio (reasoning_content)

Ao utilizar modelos dedicados a raciocínio (como deepseek-reasoner), a resposta da API traz uma etapa preliminar de reflexão antes da resposta conclusiva.

Na estrutura de dados:

# Acessando o raciocínio detalhado em Python
response = client.chat.completions.create(
    model="deepseek-reasoner",
    messages=[{"role": "user", "content": "Projete uma solução distribuída para controle de taxa de requisições."}]
)

message = response.choices[0].message
if hasattr(message, "reasoning_content") and message.reasoning_content:
    print("=== Processo de Raciocínio ===")
    print(message.reasoning_content)

print("=== Solução Conclusiva ===")
print(message.content)

Caso use ferramentas visuais de terceiros com validações estritas de esquema, verifique se elas aceitam campos adicionais para não ocultar a saída analítica do modelo.

3. Chamadas de funções (Function Calling) e saída estruturada

A DeepSeek oferece suporte completo a declarações de ferramentas no formato JSON Schema da OpenAI:

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_git_diff",
            "description": "Obtém as diferenças de código entre dois commits ou branches",
            "parameters": {
                "type": "object",
                "properties": {
                    "base": {"type": "string", "description": "Branch ou commit base"},
                    "target": {"type": "string", "description": "Branch ou commit alvo"}
                },
                "required": ["base", "target"]
            }
        }
    }
]

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "Compare as alterações entre main e feature-auth"}],
    tools=tools,
    tool_choice="auto"
)

tool_calls = response.choices[0].message.tool_calls
if tool_calls:
    for call in tool_calls:
        print(f"Chamada de função: {call.function.name}({call.function.arguments})")

Boas práticas de segurança e operação em produção

  1. Gestão de credenciais: Jamais comite chaves de API em arquivos config.json ou repositórios Git. Em ambientes de produção, injete chaves sempre via variáveis de ambiente (DEEPSEEK_API_KEY) ou soluções de gerenciamento de segredos.
  2. Tratamento de erros e recuo exponencial: Em processos automatizados de CI/CD, envolva chamadas à API em rotinas de repetição com backoff exponencial para lidar com limites de taxa (HTTP 429) e instabilidades temporárias de conexão.
  3. Estratégia de divisão de modelos: Em fluxos com múltiplos agentes, direcione tarefas rotineiras de baixa complexidade (formatação, testes simples, verificação sintática) para o ágil deepseek-chat, acionando o deepseek-reasoner apenas em etapas críticas de arquitetura e lógica avançada.

Referências