> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# DeepSeek Chat Completion API Заявка и использование

> DeepSeek AI 集成指南 - XHuoAPI

DeepSeek — это очень мощная AI система диалога, которая может генерировать плавные и естественные ответы всего за несколько секунд, просто введя подсказку. DeepSeek-V3 выделяется в отрасли своими выдающимися способностями к пониманию и генерации языка, и в настоящее время DeepSeek-V3 уже широко используется в различных отраслях и сферах, его влияние становится все более значительным. Будь то повседневные беседы, креативное письмо или профессиональные консультации, программирование кода, DeepSeek-V3 может предоставить удивительную интеллектуальную помощь, значительно повышая эффективность и креативность работы человека.

Этот документ в основном описывает процесс использования DeepSeek Chat Completion API, с помощью которого мы можем легко использовать официальные функции диалога DeepSeek.

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

Чтобы использовать DeepSeek Chat Completion API, сначала можно перейти на страницу [DeepSeek Chat Completion API](https://api.xhuoapi.ai/documents/2d6a9bae-9a70-4aaa-bd72-28e5bd60fa67) и нажать кнопку «Acquire», чтобы получить необходимые для запроса учетные данные:

![](https://cdn.xhuoapi.ai/nyq0xz.png)

Если вы еще не вошли в систему или не зарегистрированы, вас автоматически перенаправят на страницу входа, пригласив зарегистрироваться и войти в систему, после чего вы автоматически вернетесь на текущую страницу.

При первой подаче заявки предоставляется бесплатный лимит, который позволяет бесплатно использовать этот API.

## Основное использование

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

<p>
  <img src="https://cdn.xhuoapi.ai/m9kxkz.png" width="400" className="m-auto" />
</p>

При первом использовании этого интерфейса нам необходимо заполнить как минимум три поля: одно из них — это `authorization`, которое можно выбрать прямо из выпадающего списка. Другой параметр — это `model`, `model` — это категория модели, которую мы выбираем для использования с сайта DeepSeek, здесь у нас в основном есть 4 модели, подробности можно посмотреть в предоставленных моделях. Последний параметр — это `messages`, `messages` — это массив наших вопросов, который представляет собой массив, позволяющий одновременно загружать несколько вопросов, каждый из которых содержит `role` и `content`, где `role` обозначает роль задающего вопрос, мы предоставили три идентичности: `user`, `assistant`, `system`. Другой `content` — это конкретное содержание нашего вопроса.

Также вы можете заметить, что справа есть соответствующий код вызова, который вы можете скопировать и запустить, или просто нажать кнопку «Try» для тестирования.

Распространенные необязательные параметры:

* `max_tokens`: ограничение на максимальное количество токенов в одном ответе.
* `temperature`: случайность генерации, от 0 до 2, чем больше значение, тем более разнообразным будет ответ.
* `n`: сколько вариантов ответов генерировать за раз.
* `response_format`: настройка формата ответа.

<p>
  <img src="https://cdn.xhuoapi.ai/93k4xi.png" width="400" className="m-auto" />
</p>

После вызова мы получаем следующий результат:

```json theme={null}
{
  "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, внутри которой `choices` — это информация о ответах DeepSeek, как показано на рисунке.

<p>
  <img src="https://cdn.xhuoapi.ai/0pd4q5.png" width="400" className="m-auto" />
</p>

Можно увидеть, что поле `content` внутри `choices` содержит конкретное содержание ответа DeepSeek.

## Потоковый ответ

Этот интерфейс также поддерживает потоковые ответы, что очень полезно для веб-интеграции, позволяя веб-странице реализовать эффект отображения по буквам.

Если вы хотите получить потоковый ответ, вы можете изменить параметр `stream` в заголовке запроса на `true`.

Изменение показано на рисунке, однако код вызова должен быть соответствующим образом изменен, чтобы поддерживать потоковые ответы.

<p>
  <img src="https://cdn.xhuoapi.ai/dsoiqw.png" width="400" className="m-auto" />
</p>

После изменения `stream` на `true`, API будет возвращать соответствующие JSON данные построчно, и на уровне кода нам нужно внести соответствующие изменения, чтобы получить построчные результаты.

Пример кода вызова на Python:

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/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)
```

Вывод будет следующим:

```json theme={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 выглядит следующим образом:

```javascript theme={null}
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.xhuoapi.ai/v1/deepseek/chat/completions", options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
```

Пример кода на Java:

```java theme={null}
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.xhuoapi.ai/v1/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`, конкретные примеры нескольких вопросов приведены на изображении ниже:

<p>
  <img src="https://cdn.xhuoapi.ai/7yyhl4.png" width="400" className="m-auto" />
</p>

Пример кода на Python для вызова:

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/deepseek/chat/completions"

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

payload = {
    "model": "deepseek-v3",
    "messages": [{"role":"user","content":"Hello"},{"role":"assistant","content":"Hi! How can I assist you today?"},{"role":"user","content":"What I say just now?"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

Загружая несколько вопросов, можно легко реализовать многократный диалог и получить следующий ответ:

```json theme={null}
{
  "id": "as-8g3qzbsw2b",
  "object": "chat.completion",
  "created": 1755437895,
  "model": "deepseek-v3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Вы только что сказали:  \n\n**\"Hello\"**  \n\nИ я ответил:  \n\n**\"Hi! How can I assist you today?\"**  \n\nЗатем вы продолжили:  \n\n**\"What I say just now?\"**  \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. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь обращаться в нашу техническую поддержку.
