Saltar al contenido principal

DeepSeek V3: Una guía con proyecto de demostración

Aprende a crear un asistente de revisión de código potenciado por IA utilizando DeepSeek-V3 y Gradio.
Actualizado 6 feb 2025  · 8 min de lectura

DeepSeek ha realizado un avance significativo con la introducción de DeepSeek-V3, un modelo que supera a su predecesor en capacidades de codificación, razonamiento matemático y procesamiento del lenguaje natural.

En este tutorial, te guiaré paso a paso en la creación de un asistente de revisión de código con DeepSeek-V3. También aprenderemos a integrarlo con Gradio para dotar a la aplicación de una interfaz fácil de usar.

¿Qué es DeepSeek-V3?

DeepSeek V3 es una mezcla de expertos (MoE) con 671 000 millones de parámetros, 37 000 millones de los cuales se activan por token.

Está entrenado con 14,8 billones de tokens de alta calidad y destaca en varias tareas, como la generación y el análisis de código. La arquitectura del modelo incorpora innovaciones como la atención latente de múltiples cabezas (multi-head latent attention, MLA) y una estrategia sin pérdidas auxiliares para equilibrar la carga, lo que garantiza una inferencia eficaz y un entrenamiento rentable.

El mecanismo de atención latente de múltiples cabezas (multi-head latent attention, MLA) permite al modelo centrarse en múltiples aspectos de la entrada simultáneamente, mejorando la eficacia de la inferencia. La arquitectura DeepSeekMoE emplea un enfoque de mezcla de expertos para optimizar los costes de formación y el rendimiento.

Arquitectura de DeepSeek V3

Fuente: DeepSeek-AI

Una estrategia de equilibrio de carga sin pérdidas auxiliares distribuye la carga computacional uniformemente sin depender de funciones de pérdida auxiliares, mejorando la estabilidad del entrenamiento. Además, un objetivo de predicción multitoken permite al modelo predecir varios tokens simultáneamente, lo que aumenta el rendimiento y permite la descodificación especulativa para una inferencia más rápida.

Algunas de las razones que hacen que DeepSeek-V3 sea especialmente emocionante en mi opinión son:

  • Ofrece razonamiento y comprensión avanzados, lo que lo hace adecuado para tareas complejas como completar y analizar código.
  • Con una velocidad de procesamiento de 60 fichas por segundo, DeepSeek-V3 es tres veces más rápido que su predecesor, DeepSeek-V2.
  • Tanto el modelo como los documentos de investigación que lo acompañan son totalmente de código abierto, lo que fomenta la transparencia y la colaboración de la comunidad.

Cómo conectarse a la API DeepSeek-V3

Para integrar DeepSeek V3 en nuestra aplicación, necesitamos configurar la clave de API. Sigue los pasos que se indican a continuación para acceder a tu clave de API:

1. Ve a DeepSeek.com y haz clic en "Access API".

vista de la página de inicio de deepseek

Página de inicio de Deepseek

2. Regístrate en la plataforma API de DeepSeek.

3. Haz clic en "Top up" y añade la cantidad necesaria a tu cuenta. En el momento de escribir este artículo, el precio de la API de DeepSeek es:

  • Input (cache miss) : 0,27 $/M tokens
  • Input (cache hit): 0,07 $/M tokens
  • Output: 1,10 $/M tokens

Plataforma API Deepseek

3. Navega hasta la pestaña Claves API en el lado izquierdo y haz clic en "Create new API key". Por último, asigna un nombre a la clave de API y cópiala para utilizarla en el futuro.

Deepseek crea una nueva clave de API

Visión general del proyecto de demostración: Asistente de revisión de código con Gradio

La aplicación que vamos a construir es un asistente interactivo que utiliza las capacidades de DeepSeek V3 para proporcionar revisiones de código perspicaces a través de una interfaz fácil de usar. 

Antes de empezar, asegúrate de que tienes instalado lo siguiente:

  • Python 3.8 o superior
  • Bibliotecas necesarias: Instala los paquetes de Python necesarios utilizando pip:
pip install requests gradio 

Ahora que ya están instaladas todas las dependencias, vamos a configurar la API DeepSeek.

Paso 1: Conexión a la API de DeepSeek

El siguiente script demuestra cómo interactuar con la API DeepSeek para obtener respuestas basadas en los prompts del usuario. Ten en cuenta que la API de DeepSeek es compatible con el formato de OpenAI y utiliza una URL base para las solicitudes de la 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 a desglosar el código anterior con más detalle:

  • Las bibliotecas requests y JSON se importan para realizar peticiones HTTP POST a la API de DeepSeek y gestionar la codificación de la carga útil de la petición en formato JSON, respectivamente.
  • Configura tu clave de API y la URL base que especifica el punto final de la API de DeepSeek para las finalizaciones de chat.
  • La función get_deepseek_response envía una consulta de usuario a la API y recupera la respuesta.
  • Construimos la carga útil de la solicitud con el modelo especificado, el historial de mensajes y la preferencia de transmisión, y luego enviamos una solicitud POST al punto final de la API con las cabeceras y la carga útil JSON adecuadas. Si la respuesta tiene un código de estado 200, indica éxito; se analiza la respuesta del asistente y se devuelve. De lo contrario, se lanza una excepción con los detalles del error.

A continuación, diseñamos las funciones principales de la aplicación.

Paso 2: Diseñar las funciones básicas

Definiremos una función que tome un fragmento de código como entrada y utilice DeepSeek-V3 para analizarlo, proporcionando comentarios y sugerencias.

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)

Disponemos de un revisor de código que toma un fragmento de código, lo incrusta en una solicitud junto con una solicitud de tarea, y pasa la solicitud final para obtener una respuesta del modelo.

A continuación, desarrollamos una sencilla interfaz web de Gradio para nuestra aplicación de revisión de código.

Paso 3: Crear la interfaz de Gradio

Gradio nos permite crear una interfaz web interactiva para nuestra aplicación. El siguiente fragmento de código crea una interfaz web de Gradio fácil de usar para la función review_code(). La interfaz de Gradio toma las entradas del usuario y las pasa al modelo para su validación.

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)

La configuración anterior incluye tres componentes:

  • Entrada: Un componente gr.Code donde los usuarios pueden pegar su código.
  • Salida: Un gr.Textbox que muestra las reacciones de DeepSeek V3.
  • Interfaz: El gr.Interface une la entrada y la salida, lanzando una aplicación web para la interacción del usuario.

Paso 4: Prueba la aplicación

Vamos a probar nuestra aplicación con un ejemplo sencillo:

Ejemplo de asistente de revisión de código AI

Probé varios ejemplos de código para comprobar este modelo y siempre proporcionó la revisión correcta.

Ejemplo de asistente de revisión de código AI

Conclusión

En este tutorial, construimos un asistente de revisión de código potenciado por IA utilizando DeepSeek V3 y Gradio. Esta herramienta puede analizar fragmentos de código, proporcionar comentarios constructivos y sugerir mejoras, lo que te ayudará a mejorar tu proceso de desarrollo. 

No dudes en ampliar sus capacidades o integrarlo en proyectos más grandes para agilizar aún más tu flujo de trabajo de codificación.

Para saber más sobre el ecosistema DeepSeek, te recomiendo estos blogs:


Aashi Dutt's photo
Author
Aashi Dutt
LinkedIn
Twitter

Soy una Google Developers Expert en ML(Gen AI), una Kaggle 3x Expert y una Women Techmakers Ambassador con más de 3 años de experiencia en tecnología. Cofundé una startup de tecnología sanitaria en 2020 y estoy cursando un máster en informática en Georgia Tech, especializándome en aprendizaje automático.

Temas

Aprende IA con estos cursos

programa

Developing AI Applications

23hrs hr
Learn to create AI-powered applications with the latest AI developer tools, including the OpenAI API, Hugging Face, and LangChain.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado
An AI juggles tasks

blog

Cinco proyectos que puedes crear con modelos de IA generativa (con ejemplos)

Aprende a utilizar modelos de IA generativa para crear un editor de imágenes, un chatbot similar a ChatGPT con pocos recursos y una aplicación clasificadora de aprobación de préstamos y a automatizar interacciones PDF y un asistente de voz con GPT.
Abid Ali Awan's photo

Abid Ali Awan

10 min

tutorial

Tutorial de DeepSeek-Coder-V2: Ejemplos, instalación, puntos de referencia

DeepSeek-Coder-V2 es un modelo de lenguaje de código de código abierto que rivaliza con el rendimiento de GPT-4, Gemini 1.5 Pro, Claude 3 Opus, Llama 3 70B o Codestral.
Dimitri Didmanidze's photo

Dimitri Didmanidze

8 min

tutorial

Tutorial de DeepChecks: Automatizar las pruebas de aprendizaje automático

Aprende a realizar la validación de datos y modelos para garantizar un sólido rendimiento del aprendizaje automático utilizando nuestra guía paso a paso para automatizar las pruebas con DeepChecks.
Abid Ali Awan's photo

Abid Ali Awan

12 min

tutorial

Tutorial de la API de OpenAI Assistants

Una visión completa de la API Assistants con nuestro artículo, que ofrece una mirada en profundidad a sus características, usos en la industria, guía de configuración y las mejores prácticas para maximizar su potencial en diversas aplicaciones empresariales.
Zoumana Keita 's photo

Zoumana Keita

14 min

tutorial

Visión GPT-4: Guía completa para principiantes

Este tutorial le presentará todo lo que necesita saber sobre GPT-4 Vision, desde cómo acceder a él hasta ejemplos prácticos del mundo real y sus limitaciones.
Arunn Thevapalan's photo

Arunn Thevapalan

12 min

tutorial

Ajuste fino de GPT-3 mediante la API OpenAI y Python

Libere todo el potencial de GPT-3 mediante el ajuste fino. Aprenda a utilizar la API de OpenAI y Python para mejorar este modelo de red neuronal avanzado para su caso de uso específico.
Zoumana Keita 's photo

Zoumana Keita

12 min

Ver másVer más