Programa
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.
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".
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
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.
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
eJSON
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:
Tentei vários exemplos de código para testar esse modelo e ele sempre forneceu a avaliação correta.
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:

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.