Pular para o conteúdo principal

DeepSeek V3: um guia com projeto de demonstração

Saiba como criar um assistente de revisão de código com tecnologia de IA usando o DeepSeek-V3 e o Gradio.
Actualizado 4 de fev. de 2025  · 8 min de leitura

O DeepSeek fez um avanço significativo com a introdução do DeepSeek-V3, um modelo que supera seu antecessor em recursos de codificação, raciocínio matemático e processamento de linguagem natural.

Neste tutorial, vou orientar você passo a passo na criação de um assistente de revisão de código com o DeepSeek-V3. Também aprenderemos a integrá-lo ao Gradio para dar ao aplicativo uma interface amigável.

O que é o DeepSeek-V3?

O DeepSeek V3 é um modelo de linguagem de combinação de especialistas (MoE) com 671 bilhões de parâmetros, 37 bilhões dos quais são ativados por token.

Ele é treinado em 14,8 trilhões de tokens de alta qualidade e se destaca em várias tarefas, incluindo geração e análise de código. A arquitetura do modelo incorpora inovações como Multi-head Latent Attention (MLA) e uma estratégia sem perdas auxiliares para balanceamento de carga, garantindo inferência eficiente e treinamento econômico.

O mecanismo de Multi-head Latent Attention (MLA) permite que o modelo se concentre em vários aspectos da entrada simultaneamente, melhorando a eficiência da inferência. A arquitetura DeepSeekMoE emprega uma abordagem de combinação de especialistas para otimizar os custos e o desempenho do treinamento.

Arquitetura do DeepSeek V3

Fonte: DeepSeek-AI

Uma estratégia de balanceamento de carga sem perda auxiliar distribui a carga computacional uniformemente sem depender de funções de perda auxiliar, melhorando a estabilidade do treinamento. Além disso, um objetivo de previsão de vários tokens permite que o modelo preveja vários tokens simultaneamente, aumentando o desempenho e permitindo a decodificação especulativa para uma inferência mais rápida.

Alguns dos motivos que tornam o DeepSeek-V3 particularmente interessante para mim são:

  • Ele oferece raciocínio e compreensão avançados, o que o torna adequado para tarefas complexas, como conclusão e análise de código.
  • Com uma velocidade de processamento de 60 tokens por segundo, o DeepSeek-V3 é três vezes mais rápido que seu antecessor, o DeepSeek-V2.
  • Tanto o modelo quanto os documentos de pesquisa que o acompanham são totalmente de código aberto, promovendo a transparência e a colaboração da comunidade.

Como se conectar à API do DeepSeek-V3

Para integrar o DeepSeek V3 em nosso aplicativo, precisamos configurar a chave da API. Siga as etapas abaixo para acessar sua chave da API:

1. Acesse DeepSeek.com e clique em "Access API".

Visualização da página inicial do deepseek

Página inicial do Deepseek

2. Inscreva-se na plataforma da API do DeepSeek.

3. Clique em "Top up" e adicione o valor necessário à sua conta. No momento em que este artigo foi escrito, o preço da API do DeepSeek era:

  • Entrada (falha de cache): US$ 0,27/M tokens
  • Entrada (acerto no cache): US$ 0,07/M tokens
  • Saída: US$ 1,10/M tokens

Plataforma da API do Deepseek

3. Navegue até a guia API Keys (Chaves de API) no lado esquerdo e clique em "Create new API key" (Criar nova chave de API). Por fim, defina um nome para a chave da API e copie-a para uso futuro.

Deepseek criar nova chave de API

Visão geral do projeto de demonstração: Assistente de revisão de código com o Gradio

O aplicativo que vamos criar é um assistente interativo que usa os recursos do DeepSeek V3 para fornecer revisões de código criteriosas por meio de uma interface amigável. 

Antes de começarmos, verifique se você tem os seguintes itens instalados:

  • Python 3.8+
  • Bibliotecas necessárias: Instale os pacotes Python necessários usando o pip:
pip install requests gradio 

Agora que todas as dependências estão instaladas, vamos configurar a API do DeepSeek.

Etapa 1: conectando-se à API do DeepSeek

O script a seguir demonstra como você pode interagir com a API do DeepSeek para obter respostas com base nas solicitações do usuário. Observe que a API do DeepSeek é compatível com o formato da OpenAI e usa um URL básico para solicitações de API.

import requests
import json

# Replace 'YOUR_API_KEY' with your actual DeepSeek API key
API_KEY = 'YOUR_API_KEY'
API_URL = 'https://api.deepseek.com/chat/completions'

HEADERS = {
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {API_KEY}'
}

def get_deepseek_response(prompt):
    """Fetches a response from the DeepSeek API based on the given prompt."""
    data = {
        'model': 'deepseek-chat',  # Specifies the DeepSeek V3 model
        'messages': [
            {'role': 'system', 'content': 'You are a helpful code reviewer.'},
            {'role': 'user', 'content': prompt}
        ],
        'stream': False  # Set to True for streaming responses
    }

    response = requests.post(API_URL, headers=HEADERS, data=json.dumps(data))

    if response.status_code == 200:
        result = response.json()
        return result['choices'][0]['message']['content'].strip()
    else:
        raise Exception(f"Error {response.status_code}: {response.text}")

Vamos analisar o código acima em mais detalhes:

  • As bibliotecas requests e JSON são importadas para fazer solicitações HTTP POST para a API do DeepSeek e lidar com a codificação da carga útil da solicitação no formato JSON, respectivamente.
  • Configure sua chave de API e o URL base que especifica o endpoint da API do DeepSeek para conclusões de bate-papo.
  • A função get_deepseek_response envia um prompt de usuário para a API e recupera a resposta.
  • Construímos a carga útil da solicitação com o modelo especificado, o histórico de mensagens e a preferência de streaming e, em seguida, enviamos uma solicitação POST para o endpoint da API com os cabeçalhos apropriados e a carga útil em JSON. Se a resposta tiver um código de status 200, isso indica sucesso; a resposta do assistente é analisada e retornada. Caso contrário, é gerada uma exceção com os detalhes do erro.

Em seguida, projetamos os principais recursos do aplicativo.

Etapa 2: projetando os principais recursos

Definiremos uma função que recebe um trecho de código como entrada e usa o DeepSeek-V3 para analisá-lo, fornecendo feedback e sugestões.

def review_code(code_snippet):
    prompt = f"""
    Code Snippet:
    {code_snippet}

    Task: Analyze the provided code snippet. Identify any errors or potential improvements, suggest optimizations, and provide alternative implementations if applicable.
    """
    return get_deepseek_response(prompt)

Temos um revisor de código que recebe um trecho de código, incorpora-o em um prompt junto com um prompt de tarefa e passa o prompt final para obter uma resposta do modelo.

Em seguida, desenvolvemos uma interface Web simples do Gradio para nosso aplicativo de revisão de código.

Etapa 3: criando a interface do Gradio

O Gradio nos permite criar uma interface web interativa para o nosso aplicativo. O trecho de código a seguir cria uma interface web do Gradio fácil de usar para a função review_code(). A interface do Gradio recebe as entradas do usuário e as passa para o modelo para validação.

import gradio as gr

def code_reviewer_ui(code):
    return review_code(code)

interface = gr.Interface(
    fn=code_reviewer_ui,
    inputs=gr.Code(language='python', lines=20, label="Paste your code here"),
    outputs=gr.Textbox(label="Review Feedback"),
    title="AI Code Reviewer Assistant",
    description="Analyze your code snippets, receive feedback, and discover improvements.",
)

interface.launch(share=True)

A configuração acima inclui três componentes:

  • Entrada: Um componente gr.Code no qual os usuários podem colar seu código.
  • Saída: Um gr.Textbox exibindo o feedback do DeepSeek V3.
  • Interface: O gr.Interface vincula a entrada e a saída, iniciando um aplicativo web para interação com o usuário.

Etapa 4: testar o aplicativo

Vamos testar nosso aplicativo por meio de um exemplo simples:

Exemplo de assistente de revisão de código de IA

Tentei vários exemplos de código para testar esse modelo e ele sempre forneceu a avaliação correta.

Exemplo de assistente de revisão de código de IA

Conclusão

Neste tutorial, criamos um assistente de revisão de código alimentado por IA usando o DeepSeek V3 e o Gradio. Essa ferramenta pode analisar trechos de código, fornecer feedback construtivo e sugerir melhorias, aprimorando seu processo de desenvolvimento. 

Fique à vontade para expandir seus recursos ou integrá-lo a projetos maiores para otimizar ainda mais seu fluxo de trabalho de codificação.

Para saber mais sobre o ecossistema do DeepSeek, recomendo estes blogs:


Aashi Dutt's photo
Author
Aashi Dutt
LinkedIn
Twitter

Sou Google Developers Expert em ML (Gen AI), Kaggle 3x Expert e Women Techmakers Ambassador com mais de 3 anos de experiência em tecnologia. Fui cofundador de uma startup de tecnologia de saúde em 2020 e estou fazendo mestrado em ciência da computação na Georgia Tech, com especialização em machine learning.

Temas

Aprenda IA com estes cursos!

programa

Desenvolvimento de aplicativos de IA

23 horas hr
Aprenda a criar aplicativos com tecnologia de IA com as mais recentes ferramentas de desenvolvimento de IA, incluindo a API da OpenAI, Hugging Face e LangChain.
Ver DetalhesRight Arrow
Iniciar curso
Certificação disponível

curso

Desenvolvimento de sistemas de IA com a API da OpenAI

3 hr
4.9K
Aproveite a API da OpenAI para deixar seus aplicativos de IA prontos para produção.
Ver maisRight Arrow
Relacionado

blog

Os 11 melhores assistentes de codificação de IA em 2024

Explore os melhores assistentes de codificação, incluindo ferramentas de código aberto, gratuitas e comerciais que podem aprimorar sua experiência de desenvolvimento.
Abid Ali Awan's photo

Abid Ali Awan

8 min

tutorial

DeepSeek-Coder-V2 Tutorial: Exemplos, instalação, padrões de referência

O DeepSeek-Coder-V2 é um modelo de linguagem de código de código aberto que rivaliza com o desempenho do GPT-4, Gemini 1.5 Pro, Claude 3 Opus, Llama 3 70B ou Codestral.
Dimitri Didmanidze's photo

Dimitri Didmanidze

8 min

tutorial

Tutorial do DeepChecks: Automatizando os testes de machine learning

Saiba como realizar a validação de dados e modelos para garantir um desempenho robusto de machine learning usando nosso guia passo a passo para automatizar testes com o DeepChecks.
Abid Ali Awan's photo

Abid Ali Awan

12 min

tutorial

Tutorial da API de assistentes da OpenAI

Uma visão geral abrangente da API Assistants com nosso artigo, que oferece uma análise aprofundada de seus recursos, usos no setor, orientação de configuração e práticas recomendadas para maximizar seu potencial em vários aplicativos de negócios.
Zoumana Keita 's photo

Zoumana Keita

14 min

tutorial

AI do cursor: Um guia com 10 exemplos práticos

Saiba como instalar o Cursor AI no Windows, macOS e Linux e descubra como usá-lo em 10 casos de uso diferentes.
François Aubry's photo

François Aubry

10 min

tutorial

Visão GPT-4: Um guia abrangente para iniciantes

Este tutorial apresentará tudo o que você precisa saber sobre o GPT-4 Vision, desde o acesso a ele, passando por exemplos práticos do mundo real, até suas limitações.
Arunn Thevapalan's photo

Arunn Thevapalan

12 min

Ver maisVer mais