Zum Hauptinhalt springen
DeepSeek ist ein sehr leistungsstarkes KI-Dialogsystem, das in nur wenigen Sekunden flüssige und natürliche Antworten generieren kann, sobald ein Eingabewort eingegeben wird. DeepSeek-V3 hebt sich durch seine hervorragenden Sprachverständnis- und Generierungsfähigkeiten in der Branche hervor und wird mittlerweile in verschiedenen Branchen und Bereichen weit verbreitet eingesetzt, wobei sein Einfluss immer deutlicher wird. Egal ob bei alltäglichen Gesprächen, kreativem Schreiben oder professioneller Beratung und Programmierung, DeepSeek-V3 kann erstaunliche intelligente Unterstützung bieten und die Effizienz und Kreativität der Menschen erheblich steigern. Dieses Dokument beschreibt hauptsächlich den Ablauf der Nutzung der DeepSeek Chat Completion API, mit der wir die offiziellen Dialogfunktionen von DeepSeek einfach nutzen können.

Antragsprozess

Um die DeepSeek Chat Completion API zu nutzen, können Sie zunächst die Seite DeepSeek Chat Completion API besuchen und auf die Schaltfläche „Acquire“ klicken, um die erforderlichen Anmeldeinformationen zu erhalten: Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, um sich zu registrieren und anzumelden. Nach der Anmeldung werden Sie automatisch zur aktuellen Seite zurückgeleitet. Bei der ersten Antragstellung gibt es ein kostenloses Kontingent, mit dem Sie die API kostenlos nutzen können.

Grundlegende Nutzung

Als Nächstes können Sie die entsprechenden Inhalte im Interface ausfüllen, wie im Bild gezeigt:

Bei der ersten Nutzung dieser Schnittstelle müssen wir mindestens drei Inhalte ausfüllen: einer ist authorization, den Sie einfach aus der Dropdown-Liste auswählen können. Ein weiterer Parameter ist model, model ist die Modellkategorie, die wir von der DeepSeek-Website auswählen. Hier haben wir hauptsächlich 4 Modelle, die Details können Sie in den bereitgestellten Modellen einsehen. Der letzte Parameter ist messages, messages ist das Array der von uns eingegebenen Fragen, es handelt sich um ein Array, das mehrere Fragen gleichzeitig hochladen kann, wobei jede Frage role und content enthält, wobei role die Rolle des Fragestellers angibt. Wir bieten drei Identitäten an: user, assistant, system. Das andere content ist der spezifische Inhalt unserer Frage. Gleichzeitig können Sie auf der rechten Seite den entsprechenden Code zur Aufrufgenerierung beachten. Sie können den Code kopieren und direkt ausführen oder einfach auf die Schaltfläche „Try“ klicken, um einen Test durchzuführen. Häufig verwendete optionale Parameter:
  • max_tokens: Begrenzung der maximalen Token-Anzahl für eine einzelne Antwort.
  • temperature: Generierungsrandomisierung, zwischen 0-2, je höher der Wert, desto divergenter.
  • n: Anzahl der zu generierenden Antwortvorschläge.
  • response_format: Einstellung des Rückgabeformats.

Nach dem Aufruf stellen wir fest, dass das Rückgabeergebnis wie folgt aussieht:
{
  "id": "chatcmpl-050bf20a-ebcd-498a-bf6e-63ee0738013b",
  "object": "chat.completion",
  "created": 1764846609,
  "model": "deepseek-v3.2-exp",
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 11,
    "total_tokens": 19
  },
  "choices": [
    {
      "index": 0,
      "message": {
        "content": "Hallo! 😊 Wie kann ich Ihnen heute helfen?",
        "role": "assistant"
      },
      "refs": null,
      "logprobs": null,
      "finish_reason": "stop",
      "service_tier": null
    }
  ]
}
Das Rückgabeergebnis enthält mehrere Felder, die wie folgt beschrieben werden:
  • id, die ID der generierten Dialogaufgabe, die zur eindeutigen Identifizierung dieser Dialogaufgabe dient.
  • created, die Zeitinformation zur Erstellung dieser Dialogaufgabe.
  • model, das gewählte DeepSeek-Modell.
  • choices, die Antwortinformationen von DeepSeek auf die Fragen.
  • usage: Statistische Informationen zu den Tokens für diese Frage-Antwort-Paar.
Dabei enthält choices die Antwortinformationen von DeepSeek, und das darin enthaltene choices sind die Antwortinformationen von DeepSeek, wie im Bild zu sehen.

Wie zu sehen ist, enthält das Feld content in choices den spezifischen Inhalt der Antwort von DeepSeek.

Stream-Antwort

Diese Schnittstelle unterstützt auch Stream-Antworten, was für die Integration in Webseiten sehr nützlich ist, da es ermöglicht, die Ausgabe zeilenweise anzuzeigen. Wenn Sie eine Stream-Antwort zurückgeben möchten, können Sie den stream-Parameter im Anfrageheader auf true ändern. Die Änderung ist wie im Bild gezeigt, jedoch muss der Aufrufcode entsprechend geändert werden, um Stream-Antworten zu unterstützen.

Nachdem Sie stream auf true geändert haben, gibt die API die entsprechenden JSON-Daten zeilenweise zurück. Auf der Codeebene müssen wir entsprechende Änderungen vornehmen, um die zeilenweisen Ergebnisse zu erhalten. Python-Beispielaufrufcode:
import requests

url = "https://api.acedata.cloud/deepseek/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "deepseek-v3",
    "messages": [{"role":"user","content":"hello"}],
    "stream": True
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Die Ausgabe sieht wie folgt aus:
data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": "Hallo", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": "!", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": "", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " 😊", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " Wie", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " kann", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " ich", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " helfen", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " dir", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": " heute", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": "?", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": "", "role": "assistant"}, "logprobs": null, "finish_reason": "stop", "index": 0}], "usage": {"prompt_tokens": 4, "completion_tokens": 12, "total_tokens": 16, "prompt_tokens_details": {"cached_tokens": 0, "text_tokens": 0, "audio_tokens": 0, "image_tokens": 0}, "completion_tokens_details": {"text_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0}, "input_tokens": 0, "output_tokens": 0, "input_tokens_details": null}}

data: [DONE]
Sie können sehen, dass die Antwort viele data enthält, wobei data die neuesten Antwortinhalte in choices sind, die mit den oben beschriebenen Inhalten übereinstimmen. choices sind die neuen Antwortinhalte, die Sie in Ihr System integrieren können. Das Ende der Streaming-Antwort wird anhand des Inhalts von data bestimmt; wenn der Inhalt [DONE] ist, bedeutet dies, dass die Streaming-Antwort vollständig beendet ist. Die zurückgegebenen data-Ergebnisse haben mehrere Felder, die wie folgt beschrieben werden:
  • id, die ID der generierten Dialogaufgabe, die zur eindeutigen Identifizierung dieser Dialogaufgabe verwendet wird.
  • model, das gewählte DeepSeek-Modell.
  • choices, die Antwortinformationen von DeepSeek auf die Fragen.
JavaScript wird ebenfalls unterstützt, zum Beispiel sieht der Code für den Streaming-Aufruf in Node.js wie folgt aus:
const options = {
  method: "post",
  headers: {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
  },
  body: JSON.stringify({
    "model": "deepseek-v3",
    "messages": [{"role":"user","content":"hallo"}],
    "stream": true
  })
};

fetch("https://api.acedata.cloud/deepseek/chat/completions", options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
Java-Beispielcode:
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "deepseek-v3");
jsonObject.put("messages", [{"role":"user","content":"hallo"}]);
jsonObject.put("stream", true);
MediaType mediaType = "application/json; charset=utf-8".toMediaType();
RequestBody body = jsonObject.toString().toRequestBody(mediaType);
Request request = new Request.Builder()
  .url("https://api.acedata.cloud/deepseek/chat/completions")
  .post(body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer {token}")
  .addHeader("content-type", "application/json")
  .build();

OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
System.out.print(response.body!!.string())
Andere Sprachen können entsprechend umgeschrieben werden, das Prinzip ist dasselbe.

Mehrere Runden im Dialog

Wenn Sie die Funktion für mehrere Runden im Dialog integrieren möchten, müssen Sie mehrere Fragen im messages-Feld hochladen. Ein konkretes Beispiel für mehrere Fragen ist im folgenden Bild dargestellt:

Python Beispielaufrufcode:
import requests

url = "https://api.acedata.cloud/deepseek/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "deepseek-v3",
    "messages": [{"role":"user","content":"Hallo"},{"role":"assistant","content":"Hallo! Wie kann ich Ihnen heute helfen?"},{"role":"user","content":"Was habe ich gerade gesagt?"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Durch das Hochladen mehrerer Fragen kann man leicht Mehrfachgespräche führen und erhält folgende Antworten:
{
  "id": "as-8g3qzbsw2b",
  "object": "chat.completion",
  "created": 1755437895,
  "model": "deepseek-v3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Sie haben gerade gesagt:  \n\n**\"Hallo\"**  \n\nUnd ich habe geantwortet mit:  \n\n**\"Hallo! Wie kann ich Ihnen heute helfen?\"**  \n\nDann haben Sie nachgefragt:  \n\n**\"Was habe ich gerade gesagt?\"**  \n\nLassen Sie mich wissen, wie ich helfen kann! 😊"
      },
      "finish_reason": "stop",
      "flag": 0
    }
  ],
  "usage": {
    "prompt_tokens": 22,
    "completion_tokens": 57,
    "total_tokens": 79
  }
}
Man kann sehen, dass die Informationen in choices mit den grundlegenden Inhalten übereinstimmen, die spezifischen Inhalte der Antworten von DeepSeek auf mehrere Gespräche enthalten, sodass man basierend auf mehreren Gesprächsinhalten die entsprechenden Fragen beantworten kann.

Fehlerbehandlung

Beim Aufruf der API, wenn ein Fehler auftritt, gibt die API den entsprechenden Fehlercode und die Informationen zurück. Zum Beispiel:
  • 400 token_mismatched: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 400 api_not_implemented: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 401 invalid_token: Unbefugt, ungültiger oder fehlender Autorisierungstoken.
  • 429 too_many_requests: Zu viele Anfragen, Sie haben das Rate-Limit überschritten.
  • 500 api_error: Interner Serverfehler, etwas ist auf dem Server schiefgelaufen.

Fehlerantwortbeispiel

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "Abruf fehlgeschlagen"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Fazit

Durch dieses Dokument haben Sie gelernt, wie Sie die DeepSeek Chat Completion API nutzen können, um die Gesprächsfunktion von DeepSeek einfach zu implementieren. Wir hoffen, dass dieses Dokument Ihnen hilft, die API besser zu integrieren und zu nutzen. Bei Fragen wenden Sie sich bitte jederzeit an unser technisches Support-Team.