Apidog

Plataforma Colaborativa All-in-one para Desenvolvimento de API

Design de API

Documentação de API

Depuração de API

Mock de API

Testes Automatizados de API

Integre as APIs DeepSeek em Seus Aplicativos em Apenas 5 Minutos

@apidog

@apidog

Updated on fevereiro 11, 2025

Na era das aplicações alimentadas por IA, integrar modelos de linguagem avançados ao seu software pode desbloquear capacidades sem precedentes — de chatbots inteligentes a ferramentas de análise de dados. As APIs da DeepSeek oferecem funcionalidades de IA de ponta, mas o verdadeiro desafio está em integrá-las perfeitamente ao seu aplicativo sem se deixar levar pela depuração ou por código boilerplate.

Este guia orienta você por todo o processo de integração das APIs da DeepSeek em sua aplicação, aproveitando uma plataforma de API intuitiva — Apidog para testar, depurar e gerar trechos de código prontos para uso em minutos. Seja construindo um backend em Python ou um frontend em JavaScript, ao final deste artigo, você terá uma integração de API totalmente funcional com esforço mínimo.


Pré-requisitos

  1. Uma conta na DeepSeek (cadastre-se aqui).
  2. Conhecimento básico de APIs REST e programação (Python/JavaScript usados aqui).
  3. Uma ferramenta como Apidog para testar APIs.

Passo 1: Obtenha a Chave da API da DeepSeek

Todo pedido de API requer autenticação. Veja como obter sua chave:

  1. Faça login na sua conta da DeepSeek.
  2. Navegue até Chaves da API nas configurações da sua conta.
  3. Clique em Criar nova chave de API e copie-a.

⚠️ Importante: Trate esta chave como uma senha. Nunca a exponha em código do lado do cliente ou em repositórios públicos.


Passo 2: Teste a API da DeepSeek

A documentação da API da DeepSeek criada pela Apidog fornece um playground interativo para testar endpoints diretamente na documentação sem escrever uma única linha de código. Veja como:

1. Abra a Documentação: Navegue até o endpoint Criar Conclusão de Chat.

APIs de conclusão de chat da DeepSeek

2. Autentique-se:

  • Clique em Tente agora ou Execute na Apidog.
  • No painel de requisição que aparece, navegue até a seção Headers ou Auth, e adicione sua chave da API:
Authorization: Bearer YOUR_API_KEY  
Adicionando as chaves da API da DeepSeek

3. Crie Sua Requisição:

No corpo da requisição, especifique o modelo (por exemplo, deepseek-chat) e adicione uma mensagem:

{
  "model": "deepseek-chat",
  "messages": [
    {"role": "user", "content": "Explique computação quântica em 3 frases."}
  ]
}
criando requisição da API DeepSeek

4. Envie a Requisição: Clique em Enviar e veja a resposta em tempo real.

recebendo resposta da DeepSeek em tempo real

Por que isso importa: Testar APIs manualmente ajuda você a validar estruturas de carga e tratamento de erros antes de escrever o código de integração.


Passo 3: Gere Trechos de Código para Sua Stack

A Apidog permite que você gere códigos de negócios prontos para diferentes linguagens e frameworks com base na documentação da API que podem ser usados diretamente em sua stack. Veja como:

1. Abra o projeto DeepSeek no aplicativo Apidog:

  • Para abrir o projeto da API DeepSeek no aplicativo web Apidog, basta clicar em "Executar na Apidog" no canto superior direito da documentação.
Clique em "Executar na Apidog" para executar o projeto no aplicativo Apidog
  • Para abrir o projeto no aplicativo desktop Apidog, clique em "Abra no desktop" no canto superior direito.

2. Escolha Sua Linguagem:

  • Na página de documentação da API DeepSeek, clique no botão </> Gerar Código.
gerando código diretamente da documentação da API criada pela Apidog
  • Selecione sua linguagem (por exemplo, Python, JavaScript, Go e mais).
escolha a linguagem para gerar os códigos

3. Copie e Cole o Código:

  • Para Python (usando requests):
import requests
import json

url = "https://api.deepseek.com/chat/completions"

payload = json.dumps({
   "messages": [
      {
         "content": "Você é um assistente útil",
         "role": "system"
      },
      {
         "content": "Oi",
         "role": "user"
      }
   ],
   "model": "deepseek-chat",
   "frequency_penalty": 0,
   "max_tokens": 2048,
   "presence_penalty": 0,
   "response_format": {
      "type": "text"
   },
   "stop": None,
   "stream": False,
   "stream_options": None,
   "temperature": 1,
   "top_p": 1,
   "tools": None,
   "tool_choice": "none",
   "logprobs": False,
   "top_logprobs": None
})
headers = {
   'Authorization': 'Bearer {{API_KEY}}',
   'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
  • Para JavaScript (usando fetch):
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {{API_KEY}}");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
   "messages": [
      {
         "content": "Você é um assistente útil",
         "role": "system"
      },
      {
         "content": "Oi",
         "role": "user"
      }
   ],
   "model": "deepseek-chat",
   "frequency_penalty": 0,
   "max_tokens": 2048,
   "presence_penalty": 0,
   "response_format": {
      "type": "text"
   },
   "stop": null,
   "stream": false,
   "stream_options": null,
   "temperature": 1,
   "top_p": 1,
   "tools": null,
   "tool_choice": "none",
   "logprobs": false,
   "top_logprobs": null
});

var requestOptions = {
   method: 'POST',
   headers: myHeaders,
   body: raw,
   redirect: 'follow'
};

fetch("https://api.deepseek.com/chat/completions", requestOptions)
   .then(response => response.text())
   .then(result => console.log(result))
   .catch(error => console.log('error', error));

4. Personalize o Código: Substitua YOUR_API_KEY e modifique o conteúdo da mensagem.


Passo 4: Integre em Sua Aplicação

Vamos construir um simples aplicativo CLI em Python que usa a API da DeepSeek para responder perguntas dos usuários.

Configuração do Projeto

1. Crie um diretório e instale as dependências:

mkdir deepseek-cli && cd deepseek-cli  
pip install requests python-dotenv  

2. Armazene sua chave da API com segurança usando .env:

echo "DEEPSEEK_API_KEY=sua_chave_api_aqui" > .env  

Implementação do Código

import argparse
import asyncio
import json
import os
import sys
from typing import AsyncGenerator, Generator

import httpx
import requests


async def async_deepseek(
    api_key: str,
    model: str,
    messages: list,
    temperature: float
) -> AsyncGenerator[str, None]:
    """
    Gerador assíncrono para streaming de respostas da DeepSeek
    """
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {api_key}",
    }
    data = {
        "model": model,
        "messages": messages,
        "temperature": temperature,
        "stream": True,
    }

    async with httpx.AsyncClient() as client:
        async with client.stream(
            "POST",
            "https://api.deepseek.com/v1/chat/completions",
            headers=headers,
            json=data,
        ) as response:
            response.raise_for_status()
            async for line in response.aiter_lines():
                if line.startswith("data: "):
                    try:
                        json_data = json.loads(line[6:])
                        if chunk := json_data["choices"][0]["delta"].get("content", ""):
                            yield chunk
                    except json.JSONDecodeError:
                        pass


def sync_deepseek(
    api_key: str,
    model: str,
    messages: list,
    temperature: float
) -> Generator[str, None, None]:
    """
    Gerador síncrono para streaming de respostas da DeepSeek
    """
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {api_key}",
    }
    data = {
        "model": model,
        "messages": messages,
        "temperature": temperature,
        "stream": True,
    }

    with requests.post(
        "https://api.deepseek.com/v1/chat/completions",
        headers=headers,
        json=data,
        stream=True,
    ) as response:
        response.raise_for_status()
        for line in response.iter_lines():
            if line:
                decoded_line = line.decode("utf-8")
                if decoded_line.startswith("data: "):
                    try:
                        json_data = json.loads(decoded_line[6:])
                        if chunk := json_data["choices"][0]["delta"].get("content", ""):
                            yield chunk
                    except json.JSONDecodeError:
                        pass


def main():
    parser = argparse.ArgumentParser(
        description="Cliente CLI da DeepSeek - Converse com modelos da DeepSeek"
    )
    parser.add_argument(
        "prompt",
        type=str,
        help="Sua mensagem para enviar ao DeepSeek"
    )
    parser.add_argument(
        "--model",
        type=str,
        default="deepseek-chat",
        help="Modelo a ser usado (padrão: deepseek-chat)"
    )
    parser.add_argument(
        "--temperature",
        type=float,
        default=0.7,
        help="Parâmetro de temperatura (padrão: 0.7)"
    )
    parser.add_argument(
        "--async-mode",
        action="store_true",
        help="Usar modo assíncrono (requer Python 3.7+)"
    )
    args = parser.parse_args()

    api_key = os.getenv("DEEPSEEK_API_KEY")
    if not api_key:
        print("Erro: Defina sua chave da API na variável de ambiente DEEPSEEK_API_KEY")
        sys.exit(1)

    messages = [{"role": "user", "content": args.prompt}]

    try:
        if args.async_mode:
            async def run_async():
                try:
                    async for chunk in async_deepseek(
                        api_key=api_key,
                        model=args.model,
                        messages=messages,
                        temperature=args.temperature
                    ):
                        print(chunk, end="", flush=True)
                    print()
                except httpx.HTTPStatusError as e:
                    print(f"\nErro de HTTP ocorreu: {e.response.status_code} {e.response.reason_phrase}")
                except Exception as e:
                    print(f"\nUm erro ocorreu: {str(e)}")

            asyncio.run(run_async())
        else:
            try:
                for chunk in sync_deepseek(
                    api_key=api_key,
                    model=args.model,
                    messages=messages,
                    temperature=args.temperature
                ):
                    print(chunk, end="", flush=True)
                print()
            except requests.exceptions.HTTPError as e:
                print(f"\nErro de HTTP ocorreu: {e.response.status_code} {e.response.reason_phrase}")
            except Exception as e:
                print(f"\nUm erro ocorreu: {str(e)}")

    except KeyboardInterrupt:
        print("\n\nOperação interrompida pelo usuário")
        sys.exit(0)


if __name__ == "__main__":
    main()

Execute o Aplicativo

Digite uma pergunta (por exemplo, “Qual é a capital da França?”) e veja a resposta!


Passo 5: Lide com Erros e Casos Especiais

As APIs podem falhar devido a limites de taxa, chaves inválidas ou problemas de rede. Implemente um tratamento de erros robusto:

1. Verifique os Códigos de Status HTTP:

  • 401 Unauthorized: Chave de API inválida.
  • 429 Too Many Requests: Limite de taxa excedido.
  • 500 Internal Server Error: Problema do lado do servidor.

2. Mecanismos de Retentativa:

from time import sleep

def get_deepseek_response(prompt, retries=3):
    # ... código existente ...
    except requests.exceptions.RequestException as e:
        if retries > 0:
            sleep(2)
            return get_deepseek_response(prompt, retries - 1)
        else:
            return f"Erro: {str(e)}"

3. Valide as Entradas:
Assegure-se de que as mensagens estejam dentro dos limites de tokens e devidamente formatadas.


Passo 6: Otimize para Produção

  1. Cache as Respostas: Use Redis ou Memcached para armazenar consultas frequentes.
  2. Monitore o Uso: Acompanhe chamadas de API para evitar exceder cotas.
  3. Processamento Assíncrono: Para aplicativos de alto rendimento, use bibliotecas assíncronas como aiohttp (Python) ou axios (JavaScript).

Conclusão

Integrar as APIs da DeepSeek ao seu aplicativo não precisa ser uma perda de tempo. Ao usar a documentação interativa para testar endpoints, gerar código e depurar rapidamente, você pode lançar funcionalidades movidas por IA em horas — e não em dias.

O exemplo acima é apenas a ponta do iceberg. Com os modelos da DeepSeek, você pode construir tudo, desde geradores de conteúdo automatizados até tutores de IA. Agora que você tem o plano, vá em frente e transforme seu aplicativo em uma potência de IA!