Direkt zum Inhalt

DeepSeek V3: Ein Leitfaden mit Demo-Projekt

Lerne, wie du mit DeepSeek-V3 und Gradio einen KI-gestützten Code-Reviewer-Assistenten bauen kannst.
Aktualisierte 14. Jan. 2025  · 8 Min. Lesezeit

DeepSeek hat einen bedeutenden Fortschritt gemacht mit der Einführung von DeepSeek-V3, ein Modell, das seinen Vorgänger in den Bereichen Codierung, mathematische Schlussfolgerungen und Verarbeitung natürlicher Sprache übertrifft.

In diesem Tutorial führe ich dich Schritt für Schritt durch die Erstellung eines Code Reviewer Assistenten mit DeepSeek-V3. Außerdem lernen wir, wie wir sie mit Gradio integrieren, um der App eine benutzerfreundliche Oberfläche zu geben.

Was ist DeepSeek-V3?

DeepSeek V3 ist eine Mixture-of-Experts (MoE) Sprachmodell mit 671 Milliarden Parametern, von denen 37 Milliarden pro Token aktiviert werden.

Es wurde auf 14,8 Billionen qualitativ hochwertiger Token trainiert und zeichnet sich durch verschiedene Aufgaben aus, darunter Codegenerierung und -analyse. Die Modellarchitektur beinhaltet Innovationen wie die latente Aufmerksamkeit mit mehreren Köpfen (MLA) und eine verlustfreie Strategie für den Lastausgleich, die effiziente Schlussfolgerungen und kosteneffektives Training gewährleistet.

Der Mechanismus der latenten Mehrkopfaufmerksamkeit (Multi-Head Latent Attention, MLA) ermöglicht es dem Modell, sich auf mehrere Aspekte des Inputs gleichzeitig zu konzentrieren und so die Inferenz-Effizienz zu verbessern. Die DeepSeekMoE-Architektur verwendet einen Mixture-of-Experts-Ansatz, um Trainingskosten und Leistung zu optimieren.

DeepSeek V3 Architektur

Quelle: DeepSeek-AI

Eine hilfsverlustfreie Lastausgleichsstrategie verteilt die Rechenlast gleichmäßig, ohne sich auf Hilfsverlustfunktionen zu verlassen, und verbessert so die Stabilität der Ausbildung. Außerdem kann das Modell dank eines Multi-Token-Vorhersageziels mehrere Token gleichzeitig vorhersagen, was die Leistung steigert und eine spekulative Dekodierung für schnellere Inferenzen ermöglicht.

Einige der Gründe, die DeepSeek-V3 für mich besonders spannend machen, sind:

  • Sie bietet fortschrittliches Denken und Verstehen und eignet sich daher für komplexe Aufgaben wie Codevervollständigung und -analyse.
  • Mit einer Verarbeitungsgeschwindigkeit von 60 Token pro Sekunde ist DeepSeek-V3 dreimal so schnell wie sein Vorgänger DeepSeek-V2.
  • Sowohl das Modell als auch die begleitenden Forschungspapiere sind vollständig quelloffen, was die Transparenz und die Zusammenarbeit der Gemeinschaft fördert.

Wie man sich mit der DeepSeek-V3-API verbindet

Um DeepSeek V3 in unsere Anwendung zu integrieren, müssen wir den API-Schlüssel einrichten. Befolge die folgenden Schritte, um auf deinen API-Schlüssel zuzugreifen:

1. Gehe zu DeepSeek.com und klicke auf "Access API".

Deepseek Homepage Ansicht

Die Startseite von Deepseek

2. Melde dich auf der API-Plattform von DeepSeek an.

3. Klicke auf "Aufladen" und füge den gewünschten Betrag zu deinem Konto hinzu. Zum Zeitpunkt des Schreibens dieses Artikels beträgt der Preis für die DeepSeek-API:

  • Input (Cache-Miss) : $0,27/M-Token
  • Input (Cache-Treffer): $0,07/M-Token
  • Ausgabe: $1,10/M Token

Deepseek API Plattform

3. Navigiere zum Reiter API-Schlüssel auf der linken Seite und klicke auf "Neuen API-Schlüssel erstellen". Lege schließlich einen Namen für den API-Schlüssel fest und kopiere ihn für die zukünftige Verwendung.

Deepseek erstellt neuen API-Schlüssel

Demo-Projekt Übersicht: Code Reviewer Assistant mit Gradio

Die App, die wir bauen werden, ist ein interaktiver Assistent, der die Fähigkeiten von DeepSeek V3 nutzt, um über eine benutzerfreundliche Oberfläche aufschlussreiche Code-Reviews zu liefern. 

Bevor wir beginnen, solltest du sicherstellen, dass du Folgendes installiert hast:

  • Python 3.8+
  • Erforderliche Bibliotheken: Installiere die notwendigen Python-Pakete mit pip:
pip install requests gradio 

Jetzt, wo alle Abhängigkeiten installiert sind, können wir die DeepSeek-API einrichten.

Schritt 1: Verbindung mit der DeepSeek-API

Das folgende Skript zeigt, wie man mit der DeepSeek-API interagiert, um Antworten auf Benutzeranfragen zu erhalten. Beachte, dass die API von DeepSeek mit dem Format von OpenAI kompatibel ist und eine Basis-URL für API-Anfragen verwendet.

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}")

Schauen wir uns den obigen Code genauer an:

  • Die Bibliotheken requests und JSON werden importiert, um HTTP-POST-Anfragen an die DeepSeek-API zu stellen bzw. die Kodierung der Nutzdaten der Anfrage in das JSON-Format zu verarbeiten.
  • Richte deinen API-Schlüssel und die Basis-URL ein, die den DeepSeek-API-Endpunkt für Chatvervollständigungen angibt.
  • Die Funktion get_deepseek_response sendet eine Benutzeranfrage an die API und ruft die Antwort ab.
  • Wir erstellen den Request Payload mit dem angegebenen Modell, dem Nachrichtenverlauf und der Streaming-Präferenz und senden dann eine POST-Anfrage an den API-Endpunkt mit den entsprechenden Headern und dem JSON-Payload. Wenn die Antwort den Statuscode 200 hat, ist sie erfolgreich; die Antwort des Assistenten wird geparst und zurückgegeben. Andernfalls wird eine Ausnahme mit den Fehlerdetails ausgelöst.

Als nächstes entwerfen wir die Kernfunktionen der App.

Schritt 2: Gestaltung der Kernfunktionen

Wir werden eine Funktion definieren, die einen Codeschnipsel als Eingabe nimmt und DeepSeek-V3 nutzt, um ihn zu analysieren und Feedback und Vorschläge zu liefern.

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)

Wir haben einen Code-Reviewer eingerichtet, der einen Codeschnipsel aufnimmt, ihn zusammen mit einem Aufgabenprompt in einen Prompt einbettet und den letzten Prompt weitergibt, um eine Antwort vom Modell zu erhalten.

Als Nächstes entwickeln wir eine einfache Gradio-Weboberfläche für unsere Code Reviewer-Anwendung.

Schritt 3: Erstellen der Gradio-Schnittstelle

Gradio ermöglicht es uns, eine interaktive Weboberfläche für unsere Anwendung zu erstellen. Der folgende Codeschnipsel erstellt eine benutzerfreundliche Gradio-Weboberfläche für die Funktion review_code(). Die Gradio-Schnittstelle nimmt die Eingaben des Nutzers entgegen und leitet sie zur Validierung an das Modell weiter.

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)

Die oben beschriebene Einrichtung umfasst drei Komponenten:

  • Input: Eine gr.Code Komponente, in die Nutzer ihren Code einfügen können.
  • Ausgabe: Eine gr.Textbox, die das Feedback von DeepSeek V3 anzeigt.
  • Schnittstelle: Die gr.Interface verbindet den Input und den Output miteinander und startet eine Web-App für die Interaktion mit dem Nutzer.

Schritt 4: Teste die App

Lass uns unsere App anhand eines einfachen Beispiels testen:

Beispiel für einen KI-Code-Review-Assistenten

Ich habe mehrere Code-Beispiele ausprobiert, um dieses Modell zu testen, und es hat jedes Mal die richtige Bewertung geliefert.

Beispiel für einen KI-Code-Review-Assistenten

Fazit

In diesem Tutorial haben wir mit DeepSeek V3 und Gradio einen KI-gesteuerten Code-Reviewer-Assistenten gebaut. Dieses Tool kann Codeschnipsel analysieren, konstruktives Feedback geben und Verbesserungen vorschlagen, um deinen Entwicklungsprozess zu verbessern. 

Du kannst seine Funktionen erweitern oder es in größere Projekte integrieren, um deinen Arbeitsablauf noch effizienter zu gestalten.

Um mehr über das DeepSeek-Ökosystem zu erfahren, empfehle ich diese Blogs:


Aashi Dutt's photo
Author
Aashi Dutt
LinkedIn
Twitter

Ich bin ein Google Developers Expert in ML (Gen AI), ein Kaggle 3x Expert und ein Women Techmakers Ambassador mit mehr als 3 Jahren Erfahrung im Tech-Bereich. Ich habe 2020 ein Startup im Bereich Gesundheitstechnologie mitbegründet und mache einen Master in Informatik an der Georgia Tech, der sich auf maschinelles Lernen spezialisiert.

Themen

Lerne KI mit diesen Kursen!

Lernpfad

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.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Mehr anzeigenMehr anzeigen