Passer au contenu principal
DeepSeek est un système de dialogue AI très puissant, capable de générer des réponses fluides et naturelles en quelques secondes simplement en saisissant un mot-clé. DeepSeek-V3 se distingue dans l’industrie par sa remarquable capacité de compréhension et de génération de langage. Aujourd’hui, DeepSeek-V3 est largement utilisé dans divers secteurs et domaines, son influence devenant de plus en plus significative. Que ce soit pour des conversations quotidiennes, de l’écriture créative, ou des consultations professionnelles, la programmation de code, DeepSeek-V3 peut fournir une assistance intelligente impressionnante, augmentant considérablement l’efficacité et la créativité humaines. Ce document présente principalement le processus d’utilisation de l’API de Complétion de Chat DeepSeek, qui nous permet d’utiliser facilement les fonctionnalités de dialogue officielles de DeepSeek.

Processus de demande

Pour utiliser l’API de Complétion de Chat DeepSeek, vous pouvez d’abord vous rendre sur la page API de Complétion de Chat DeepSeek et cliquer sur le bouton « Acquire » pour obtenir les informations d’identification nécessaires à la demande : Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion pour vous inviter à vous inscrire et à vous connecter. Après vous être connecté ou inscrit, vous serez automatiquement renvoyé à la page actuelle. Lors de la première demande, un quota gratuit sera offert, vous permettant d’utiliser cette API gratuitement.

Utilisation de base

Ensuite, vous pouvez remplir le contenu correspondant sur l’interface, comme indiqué sur l’image :

Lors de la première utilisation de cette interface, nous devons remplir au moins trois éléments : le premier est authorization, que vous pouvez sélectionner directement dans la liste déroulante. L’autre paramètre est model, qui correspond à la catégorie de modèle que nous choisissons d’utiliser sur le site de DeepSeek. Ici, nous avons principalement 4 types de modèles, pour plus de détails, vous pouvez consulter les modèles que nous fournissons. Le dernier paramètre est messages, qui est un tableau de nos mots de question. C’est un tableau qui permet de télécharger plusieurs mots de question simultanément, chaque mot de question contenant role et content, où role représente le rôle du questionneur. Nous avons trois types d’identités : user, assistant, system. L’autre content est le contenu spécifique de notre question. Vous pouvez également remarquer qu’il y a un code d’appel correspondant généré à droite, que vous pouvez copier et exécuter directement, ou cliquer sur le bouton « Try » pour effectuer un test. Paramètres optionnels courants :
  • max_tokens : limite le nombre maximum de tokens pour une seule réponse.
  • temperature : génère de l’aléatoire, entre 0 et 2, plus la valeur est élevée, plus c’est dispersé.
  • n : combien de réponses candidates générer en une seule fois.
  • response_format : paramètres de format de retour.

Après l’appel, nous constatons que le résultat retourné est le suivant :
{
  "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": "Hello! 😊 How can I help you today?",
        "role": "assistant"
      },
      "refs": null,
      "logprobs": null,
      "finish_reason": "stop",
      "service_tier": null
    }
  ]
}
Le résultat retourné contient plusieurs champs, décrits comme suit :
  • id, l’ID de la tâche de dialogue générée, utilisé pour identifier de manière unique cette tâche de dialogue.
  • created, les informations sur la date de création de cette tâche de dialogue.
  • model, le modèle choisi sur le site de DeepSeek.
  • choices, les informations de réponse fournies par DeepSeek pour les mots de question.
  • usage : les statistiques sur les tokens pour cette question-réponse.
Parmi ceux-ci, choices contient les informations de réponse de DeepSeek, et vous pouvez voir les informations de réponse de DeepSeek comme indiqué sur l’image.

On peut voir que le champ content dans choices contient le contenu spécifique de la réponse de DeepSeek.

Réponse en flux

Cette interface prend également en charge les réponses en flux, ce qui est très utile pour l’intégration web, permettant d’afficher les résultats caractère par caractère. Si vous souhaitez retourner une réponse en flux, vous pouvez modifier le paramètre stream dans l’en-tête de la demande en le changeant en true. La modification est illustrée sur l’image, mais le code d’appel doit également être modifié pour prendre en charge les réponses en flux.

Après avoir modifié stream en true, l’API renverra les données JSON ligne par ligne. Au niveau du code, nous devons apporter les modifications nécessaires pour obtenir les résultats ligne par ligne. Exemple de code d’appel en Python :
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)
L’effet de sortie est le suivant :
data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": "Bonjour", "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": " Comment", "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": " puis-je", "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": " je", "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": " vous", "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": " aider", "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": " vous", "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": " aujourd'hui", "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]
On peut voir que la réponse contient de nombreux data, où data contient les choices qui sont le contenu de la réponse la plus récente, conforme à ce qui a été décrit ci-dessus. choices est le contenu de la réponse ajoutée, que vous pouvez intégrer dans votre système. De plus, la fin de la réponse en flux est déterminée par le contenu de data, si le contenu est [DONE], cela signifie que la réponse en flux est entièrement terminée. Le résultat data retourné contient plusieurs champs, décrits comme suit :
  • id, l’ID généré pour cette tâche de dialogue, utilisé pour identifier de manière unique cette tâche de dialogue.
  • model, le modèle choisi sur le site officiel de DeepSeek.
  • choices, les informations de réponse fournies par DeepSeek en fonction des mots de la question.
JavaScript est également pris en charge, par exemple, le code d’appel en flux pour Node.js est comme suit :
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":"bonjour"}],
    "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));
Exemple de code Java :
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "deepseek-v3");
jsonObject.put("messages", [{"role":"user","content":"bonjour"}]);
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())
D’autres langages peuvent être réécrits séparément, le principe est le même.

Dialogue multi-tours

Si vous souhaitez intégrer la fonctionnalité de dialogue multi-tours, vous devez télécharger plusieurs mots de question dans le champ messages, des exemples spécifiques de plusieurs mots de question sont montrés ci-dessous :

Exemple de code d’appel Python :
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":"Bonjour"},{"role":"assistant","content":"Salut ! Comment puis-je vous aider aujourd'hui ?"},{"role":"user","content":"Qu'est-ce que j'ai dit tout à l'heure ?"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
En téléchargeant plusieurs questions, vous pouvez facilement réaliser des dialogues en plusieurs tours, et obtenir la réponse suivante :
{
  "id": "as-8g3qzbsw2b",
  "object": "chat.completion",
  "created": 1755437895,
  "model": "deepseek-v3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Vous venez de dire :  \n\n**\"Bonjour\"**  \n\nEt j'ai répondu avec :  \n\n**\"Salut ! Comment puis-je vous aider aujourd'hui ?\"**  \n\nPuis vous avez suivi avec :  \n\n**\"Qu'est-ce que j'ai dit tout à l'heure ?\"**  \n\nFaites-moi savoir comment je peux vous aider ! 😊"
      },
      "finish_reason": "stop",
      "flag": 0
    }
  ],
  "usage": {
    "prompt_tokens": 22,
    "completion_tokens": 57,
    "total_tokens": 79
  }
}
On peut voir que les informations contenues dans choices sont cohérentes avec le contenu de base utilisé, cela inclut le contenu spécifique de la réponse de DeepSeek à plusieurs dialogues, permettant ainsi de répondre aux questions correspondantes en fonction de plusieurs contenus de dialogue.

Gestion des erreurs

Lors de l’appel de l’API, si une erreur se produit, l’API renverra le code d’erreur et les informations correspondantes. Par exemple :
  • 400 token_mismatched : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
  • 400 api_not_implemented : Mauvaise requête, probablement en raison de paramètres manquants ou invalides.
  • 401 invalid_token : Non autorisé, jeton d’autorisation invalide ou manquant.
  • 429 too_many_requests : Trop de requêtes, vous avez dépassé la limite de taux.
  • 500 api_error : Erreur interne du serveur, quelque chose s’est mal passé sur le serveur.

Exemple de réponse d’erreur

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "échec de la récupération"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusion

Grâce à ce document, vous avez compris comment utiliser l’API DeepSeek Chat Completion pour réaliser facilement la fonctionnalité de dialogue officielle de DeepSeek. Nous espérons que ce document vous aidera à mieux intégrer et utiliser cette API. Si vous avez des questions, n’hésitez pas à contacter notre équipe de support technique.