Перейти до основного вмісту
DeepSeek — це дуже потужна AI система діалогу, яка може генерувати плавні та природні відповіді всього за кілька секунд, просто ввівши підказку. DeepSeek-V3 виділяється в галузі завдяки своїм видатним можливостям розуміння та генерації мови, і сьогодні DeepSeek-V3 вже широко використовується в різних галузях та сферах, його вплив стає все більш помітним. Незалежно від того, чи це повсякденні розмови, креативне письмо, чи професійні консультації, чи програмування, DeepSeek-V3 може надати вражаючу інтелектуальну допомогу, значно підвищуючи продуктивність та креативність людей. Цей документ в основному описує процес використання DeepSeek Chat Completion API, за допомогою якого ми можемо легко використовувати офіційні функції діалогу DeepSeek.

Процес заявки

Щоб використовувати DeepSeek Chat Completion API, спочатку можна перейти на сторінку DeepSeek Chat Completion API та натиснути кнопку «Acquire», щоб отримати необхідні для запиту облікові дані: Якщо ви ще не увійшли в систему або не зареєстровані, вас автоматично перенаправлять на сторінку входу, запрошуючи вас зареєструватися та увійти, після входу або реєстрації ви автоматично повернетеся на цю сторінку. При першій заявці буде надано безкоштовний ліміт, який дозволяє безкоштовно використовувати цей API.

Основне використання

Далі ви можете заповнити відповідні поля на інтерфейсі, як показано на малюнку:

При першому використанні цього інтерфейсу нам потрібно заповнити принаймні три поля: одне з них — authorization, яке можна вибрати безпосередньо зі списку. Інший параметр — model, model — це категорія моделі, яку ми вибираємо для використання з сайту DeepSeek, тут у нас є 4 основні моделі, деталі можна переглянути в наданих моделях. Останній параметр — messages, messages — це масив запитів, який представляє можливість одночасно завантажувати кілька запитів, кожен запит містить role та content, де role вказує на роль запитувача, ми надали три ідентичності: user, assistant, system. Інший content — це конкретний зміст нашого запиту. Ви також можете помітити, що праворуч є відповідний код виклику, який ви можете скопіювати та запустити, або просто натиснути кнопку «Try» для тестування. Звичайні необов’язкові параметри:
  • max_tokens: обмеження на максимальну кількість токенів у відповіді.
  • temperature: випадковість генерації, від 0 до 2, чим більше значення, тим більше розсіювання.
  • n: скільки кандидатних відповідей генерувати за один раз.
  • response_format: налаштування формату відповіді.

Після виклику ми отримуємо наступний результат:
{
  "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
    }
  ]
}
У повернутому результаті є кілька полів, описаних нижче:
  • id, ID завдання діалогу, що генерується, використовується для унікальної ідентифікації цього завдання діалогу.
  • created, інформація про час створення цього завдання діалогу.
  • model, вибрана модель з сайту DeepSeek.
  • choices — відповіді DeepSeek на запити.
  • usage: статистична інформація про токени для цього запитання-відповіді.
Серед choices міститься інформація про відповіді DeepSeek, в якій можна побачити, як показано на малюнку.

Можна побачити, що поле content в choices містить конкретний зміст відповіді DeepSeek.

Потокова відповідь

Цей інтерфейс також підтримує потокову відповідь, що дуже корисно для веб-інтеграції, оскільки дозволяє веб-сторінці реалізувати ефект поетапного відображення. Якщо ви хочете отримати потокову відповідь, ви можете змінити параметр stream у заголовку запиту на true. Зміна, як показано на малюнку, але код виклику потребує відповідних змін, щоб підтримувати потокову відповідь.

Після зміни stream на true, API буде повертати відповідні JSON дані по рядках, на рівні коду нам потрібно внести відповідні зміни, щоб отримати результати по рядках. Приклад коду виклику на 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)
Вихідний ефект виглядає так:
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": " 😊", "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": " допомогти", "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": "", "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]
Можна побачити, що у відповіді є багато data, data містить choices, які є останнім відповіддю, що відповідає вищезгаданому змісту. choices є новим відповіддю, ви можете інтегрувати його у вашу систему. Також закінчення потокової відповіді визначається за вмістом data, якщо вміст є [DONE], це означає, що потокова відповідь завершена. Повернуті результати data мають кілька полів, описаних нижче:
  • id, унікальний ідентифікатор для цієї розмови.
  • model, вибрано модель DeepSeek.
  • choices, відповіді DeepSeek на запитання.
JavaScript також підтримується, наприклад, код для потокового виклику Node.js виглядає так:
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":"привіт"}],
    "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:
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "deepseek-v3");
jsonObject.put("messages", [{"role":"user","content":"привіт"}]);
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())
Інші мови можна переписати самостійно, принцип однаковий.

Багатократний діалог

Якщо ви хочете інтегрувати функцію багатократного діалогу, вам потрібно завантажити кілька запитів у поле messages, приклади кількох запитів наведені нижче:

Приклад коду для виклику на 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":"Привіт"},{"role":"assistant","content":"Привіт! Як я можу вам допомогти сьогодні?"},{"role":"user","content":"Що я тільки що сказав?"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
Завантаживши кілька запитів, можна легко реалізувати багатократний діалог, отримавши такі відповіді:
{
  "id": "as-8g3qzbsw2b",
  "object": "chat.completion",
  "created": 1755437895,
  "model": "deepseek-v3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Ви тільки що сказали:  \n\n**\"Привіт\"**  \n\nА я відповів:  \n\n**\"Привіт! Як я можу вам допомогти сьогодні?\"**  \n\nПотім ви запитали:  \n\n**\"Що я тільки що сказав?\"**  \n\nДайте знати, як я можу допомогти! 😊"
      },
      "finish_reason": "stop",
      "flag": 0
    }
  ],
  "usage": {
    "prompt_tokens": 22,
    "completion_tokens": 57,
    "total_tokens": 79
  }
}
Як видно, інформація, що міститься в choices, відповідає основному вмісту використання, що включає конкретний зміст відповідей DeepSeek на кілька діалогів, таким чином, можна відповідати на відповідні запитання на основі кількох діалогових вмістів.

Обробка помилок

При виклику API, якщо виникає помилка, API поверне відповідний код помилки та інформацію. Наприклад:
  • 400 token_mismatched: Неправильний запит, можливо, через відсутні або недійсні параметри.
  • 400 api_not_implemented: Неправильний запит, можливо, через відсутні або недійсні параметри.
  • 401 invalid_token: Неавторизовано, недійсний або відсутній токен авторизації.
  • 429 too_many_requests: Занадто багато запитів, ви перевищили ліміт запитів.
  • 500 api_error: Внутрішня помилка сервера, щось пішло не так на сервері.

Приклад відповіді на помилку

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

Висновок

Завдяки цьому документу ви дізналися, як використовувати DeepSeek Chat Completion API для легкого реалізації функцій діалогу офіційного DeepSeek. Сподіваємося, що цей документ допоможе вам краще інтегрувати та використовувати цей API. Якщо у вас є будь-які питання, будь ласка, звертайтеся до нашої команди технічної підтримки.