Hoppa till huvudinnehåll
DeepSeek är ett mycket kraftfullt AI-dialogsystem som kan generera flytande och naturliga svar på bara några sekunder genom att ange en prompt. DeepSeek-V3 utmärker sig i branschen med sin enastående språkförståelse och genereringsförmåga, och idag används DeepSeek-V3 redan i många olika branscher och områden, med en alltmer framträdande påverkan. Oavsett om det handlar om vardagliga samtal, kreativt skrivande, professionell rådgivning eller kodprogrammering, kan DeepSeek-V3 erbjuda imponerande intelligent assistans, vilket avsevärt ökar människors arbetsproduktivitet och kreativitet. Detta dokument beskriver huvudsakligen användningsflödet för DeepSeek Chat Completion API, vilket gör att vi enkelt kan använda den officiella DeepSeek-dialogfunktionen.

Ansökningsprocess

För att använda DeepSeek Chat Completion API kan du först gå till DeepSeek Chat Completion API sidan och klicka på “Acquire”-knappen för att få de nödvändiga autentiseringsuppgifterna: Om du inte har loggat in eller registrerat dig kommer du automatiskt att omdirigeras till inloggningssidan där du blir inbjuden att registrera dig och logga in. Efter att du har loggat in eller registrerat dig kommer du automatiskt att återvända till den aktuella sidan. Vid första ansökan kommer det att finnas en gratis kvot som gör att du kan använda API:et kostnadsfritt.

Grundläggande Användning

Därefter kan du fylla i motsvarande innehåll på gränssnittet, som visas i bilden:

Vid första användningen av detta gränssnitt behöver vi fylla i minst tre fält, ett är authorization, som du enkelt kan välja från rullgardinsmenyn. Den andra parametern är model, där model är den DeepSeek-modellkategori vi väljer att använda. Här har vi huvudsakligen 4 olika modeller, mer information kan du se i de modeller vi tillhandahåller. Den sista parametern är messages, där messages är en array av våra inmatade frågor, vilket innebär att vi kan ladda upp flera frågor samtidigt. Varje fråga innehåller role och content, där role representerar frågeställarens roll. Vi erbjuder tre olika roller: user, assistant, system. Den andra content är det specifika innehållet i vår fråga. Samtidigt kan du notera att det finns motsvarande kod för anrop på höger sida, som du kan kopiera och köra direkt, eller så kan du klicka på “Try”-knappen för att testa. Vanliga valfria parametrar:
  • max_tokens: Begränsar det maximala antalet tokens för ett enskilt svar.
  • temperature: Genererar slumpmässighet, mellan 0-2, där ett högre värde ger mer spridning.
  • n: Hur många kandidatsvar som ska genereras åt gången.
  • response_format: Inställningar för returformat.

Efter anropet upptäckte vi att returresultatet ser ut som följer:
{
  "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
    }
  ]
}
Returresultatet innehåller flera fält, som beskrivs nedan:
  • id, ID för den genererade dialoguppgiften, som används för att unikt identifiera denna dialoguppgift.
  • created, information om skapandet av denna dialoguppgift.
  • model, den valda DeepSeek-modellen.
  • choices, DeepSeek:s svar på frågorna.
  • usage: Statistik över tokens för denna frågeställning.
Där choices innehåller DeepSeek:s svarsinformation, och choices i sig är DeepSeek:s svarsinformation, vilket kan ses i bilden.

Det kan ses att content-fältet i choices innehåller det specifika innehållet i DeepSeek:s svar.

Strömmande Svar

Detta gränssnitt stöder också strömmande svar, vilket är mycket användbart för webbgränssnitt och kan ge en tecken-för-tecken visningseffekt. Om du vill ha ett strömmande svar kan du ändra stream-parametern i begärningshuvudet till true. Ändringen visas i bilden, men anropskoden behöver också ändras för att stödja strömmande svar.

När stream ändras till true kommer API:et att returnera motsvarande JSON-data rad för rad, och på kodnivå behöver vi göra nödvändiga ändringar för att få radresultaten. Python-exempel på anropskod:
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)
Utdataeffekten ser ut som följer:
data: {"id": "o7X27b1-2kFHot-97098d957dd1d39a-PDX", "object": "chat.completion.chunk", "created": 1755437709, "model": "deepseek-v3", "system_fingerprint": null, "choices": [{"delta": {"content": "Hej", "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": " Hur", "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": " kan", "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": " jag", "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": " hjälpa", "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": " dig", "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": " idag", "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]
Det kan ses att svaret innehåller många data, data innehåller choices som är det senaste svaret, vilket är i linje med det som beskrivits ovan. choices är det nya svaret, och du kan koppla det till ditt system baserat på resultatet. Samtidigt är slutet av den strömmande svaret baserat på innehållet i data, om innehållet är [DONE], indikerar det att det strömmande svaret har avslutats helt. De returnerade data resultaten har flera fält, som beskrivs nedan:
  • id, ID för att generera denna dialoguppgift, används för att unikt identifiera denna dialoguppgift.
  • model, den valda DeepSeek-modellen.
  • choices, svarsinformation som DeepSeek ger för frågeord.
JavaScript stöds också, till exempel Node.js strömmande anropskod ser ut så här:
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":"hej"}],
    "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-exempel kod:
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "deepseek-v3");
jsonObject.put("messages", [{"role":"user","content":"hej"}]);
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())
Andra språk kan skrivas om på egen hand, principen är densamma.

Flera rundor av dialog

Om du vill koppla flera rundor av dialogfunktionalitet, behöver du ladda upp flera frågeord i messages-fältet, specifika exempel på flera frågeord visas nedan:

Python exempel på anropkod:
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":"Hej"},{"role":"assistant","content":"Hej! Hur kan jag hjälpa dig idag?"},{"role":"user","content":"Vad sa jag nyss?"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Genom att ladda upp flera frågor kan man enkelt genomföra flerrundiga samtal och få följande svar:
{
  "id": "as-8g3qzbsw2b",
  "object": "chat.completion",
  "created": 1755437895,
  "model": "deepseek-v3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Du sa just:  \n\n**\"Hej\"**  \n\nOch jag svarade med:  \n\n**\"Hej! Hur kan jag hjälpa dig idag?\"**  \n\nSedan följde du upp med:  \n\n**\"Vad sa jag nyss?\"**  \n\nLåt mig veta hur jag kan hjälpa till! 😊"
      },
      "finish_reason": "stop",
      "flag": 0
    }
  ],
  "usage": {
    "prompt_tokens": 22,
    "completion_tokens": 57,
    "total_tokens": 79
  }
}
Man kan se att informationen i choices är i linje med det grundläggande användningsinnehållet, vilket innehåller DeepSeek:s specifika svar på flera samtal, så att man kan svara på motsvarande frågor baserat på flera samtalsinnehåll.

Felhantering

Vid anrop av API:t, om ett fel uppstår, kommer API:t att returnera motsvarande felkod och information. Till exempel:
  • 400 token_mismatched: Felaktig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 400 api_not_implemented: Felaktig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 401 invalid_token: Obemyndigad, ogiltig eller saknad auktoriseringstoken.
  • 429 too_many_requests: För många begärningar, du har överskridit hastighetsgränsen.
  • 500 api_error: Intern serverfel, något gick fel på servern.

Exempel på felrespons

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "hämtning misslyckades"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Slutsats

Genom detta dokument har du fått en förståelse för hur man använder DeepSeek Chat Completion API för att enkelt implementera den officiella DeepSeek:s samtalsfunktion. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda API:t. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.