Source: https://ailoot.ai/models/ru/deepseek-v3-1-thinking/
Canonical: https://ailoot.ai/models/ru/deepseek-v3-1-thinking/
Language: ru

# DeepSeek: DeepSeek V3.1

[Markdown](https://ailoot.ai/models/ru/deepseek-v3-1-thinking/index.md) · [JSON](https://ailoot.ai/models/ru/deepseek-v3-1-thinking/facts.json)

## [DeepSeek: DeepSeek V3.1](https://ailoot.ai/models/ru/deepseek-v3-1-thinking/)

DeepSeek V3.1 — гибридная текстовая модель с режимами обдумывания и прямого ответа в одной редакции. Контекст 128K и улучшенная работа с инструментами поддерживают программирование, анализ документов и поиск, предоставляемый приложением; результатом служат текст или предлагаемые вызовы инструментов.

- [**Ailoot Ultra · Чат OpenAI** `POST /v1/chat/completions` `deepseek-v3.1-thinking`](https://ailoot.ai/models/ru/deepseek-v3-1-thinking/#method-0)

О модели

Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.

DeepSeek V3.1 — гибридная текстовая модель DeepSeek: одна именованная редакция поддерживает ответы с обдумыванием и без него через разные настройки шаблона чата. Производитель отмечает улучшение работы с инструментами, агентских задач и эффективности рассуждений по сравнению с прежней моделью. Она принимает письменные инструкции и текстовый контекст и генерирует ответ, код или содержимое вызова инструмента. Исходная V3.1 отличается от Terminus, V3.2 и семейства V4.

В карточке модели указаны 671 миллиард параметров всего, 37 миллиардов активных параметров и контекст 128K для базовой и дообученной редакций. V3.1 основана на исходной V3 Base с дополнительным обучением на длинных документах перед последующим дообучением. Её структура со смесью экспертов и латентным вниманием следует архитектуре V3. Эти особенности объясняют текстовый профиль с длинным контекстом, но не превращают размер контекста в отдельную спецификацию максимального вывода.

Режим без обдумывания готовит прямой ответ, а режим обдумывания запускает фазу рассуждения перед ответом. Шаблон производителя использует закрывающий маркер обдумывания для прямых ответов и открывающий маркер для текущего хода рассуждения. В многошаговом диалоге прежнее содержимое рассуждений удаляется, а итоговые ответы и закрывающий маркер остаются в контексте. Это исходное правило истории V3.1, отличное от последующего правила V3.2, сохраняющего рассуждения между сообщениями, связанными с инструментами.

Стандартный вызов инструментов документирован в режиме без обдумывания. Приложение предоставляет имена функций, описания и схемы параметров; модель возвращает имя выбранного инструмента и аргументы JSON в представлении вызова производителя. Приложение выполняет операцию и возвращает результат. Задавайте инструментам конкретные назначения и сохраняйте связь полученного наблюдения с вызовом, чтобы следующий шаг модели опирался на фактические данные, а не на предположение о выполненном действии.

Поиск в режиме обдумывания использует отдельный специализированный формат поискового агента. DeepSeek документирует предоставленный пользователем инструмент поиска для вопросов, требующих внешней или актуальной информации, с повторными вызовами и наблюдениями на нескольких шагах диалога. Поэтому поиск выполняется в рамках внешнего рабочего процесса; сам по себе текстовый ответ не подтверждает, что модель самостоятельно просматривала интернет. До начала поиска определите вопрос, критерии источников и нужный итоговый ответ.

Для программирования предоставьте нужный фрагмент или файлы, наблюдаемое и ожидаемое поведение и ограничения, которые следует сохранить. Пример задания: «Определите причину этой ошибки на предоставленных входных данных, предложите точечное исправление и объясните условие, которое оно обрабатывает». Для работы с документом пометьте исходные разделы и запросите сравнение с явными требованиями. Потребуйте, чтобы итоговый ответ отличал вывод, подтверждённый источником, от предлагаемого следующего действия.

Производитель обучает V3.1 с использованием формата масштабов UE8M0 FP8 для весов и активаций. В рекомендациях по локальному запуску также указаны чувствительные к точности параметры, которые необходимо обрабатывать правильно. Это характеристики опубликованной эталонной реализации производителя, а не утверждение о точности или реализации, выбранной каждым приложением. Производная модель, квантованный вариант и последующая версия Terminus остаются отдельными вариантами по отношению к исходной редакции V3.1.

Готовьте длительную работу с ясным вопросом, обозначениями источников и определённым итоговым материалом. Распределяйте диалог, исходный текст, рассуждения и вывод в пределах документированного контекста и по мере роста задачи сохраняйте только существенные свидетельства. Для агента задайте разрешённые действия и критерий завершения. Полезный результат — проверяемый текстовый ответ, предложение кода или анализ по источникам, связанный с входными данными и наблюдениями, которые приложение действительно вернуло.

**Ailoot Ultra · Чат OpenAI** `POST /v1/chat/completions` `deepseek-v3.1-thinking`

[`deepseek-v3.1-thinking`](https://ailoot.ai/models/ru/#m=deepseek-v3.1-thinking&route=Ultra&caller=deepseek-v3.1-thinking&fmt=chat)

DeepSeek /`deepseek-v3.1-thinking`

### Начало

DeepSeek V3.1 — гибридная текстовая модель с режимами обдумывания и прямого ответа в одной редакции. Контекст 128K и улучшенная работа с инструментами поддерживают программирование, анализ документов и поиск, предоставляемый приложением; результатом служат текст или предлагаемые вызовы инструментов.

Допустимые входные данные

Текст

Результаты

Текст

### Доступно в Ailoot · входные данные и методы

**Ailoot Ultra · Чат OpenAI** `POST /v1/chat/completions`

Входные данные

`text`

Результат

`text`

Выходной формат

json или SSE

| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
| --- | --- | --- | --- | --- |
| Поле`model` | Тип`string` | ТребованиеОбязательно | Значения и ограничения deepseek-v3.1-thinking | По умолчанию— |
| Поле`messages` | Тип`message[]` | ТребованиеОбязательно | Значения и ограничения Минимум элементов: 1 | По умолчанию— |
| Поле`messages[].role` | Тип`string` | ТребованиеОбязательно | Значения и ограничения Зависит от модели | По умолчанию— |
| Поле`messages[].content` | Тип`string` | ТребованиеНеобязательно | Значения и ограничения Применяется, когда: Текстовая беседа | По умолчанию— |
| Поле`stream` | Тип`boolean` | ТребованиеНеобязательно | Значения и ограничения | По умолчаниюfalse |

Сочетания входных материалов

**Текст** · Текст UTF8

`messages[].content`

Параметры и жизненный цикл метода

| Параметр | Контракт |
| --- | --- |
| Параметр`content_type` | Контрактapplication/json |
| Параметр`required` | Контрактmodel, messages |
| Параметр`material_types` | Контрактtext |
| Параметр`messages` | Контрактмассив сообщений со структурой role/content |
| Параметр`file_material` | Контрактфактический документ UTF-8 вставляется как буквальный текст; ID файла не выводится из него |
| Параметр`optional_controls` | Контрактstream |
| Параметр`control_scope` | КонтрактТекстовая беседа; stream — логическое значение, по умолчанию false. |
| Параметр`output_modalities` | Контрактtext |
| Параметр`hosted_operations` | Контрактfalse |
| Параметр`multimodal_input_binding` | Контрактnull |

Псевдонимы метода: `/chat/completions`

Жизненный цикл: `synchronous_or_streamed`

Отправляйте точный ID модели вместе с messages.

Длина контекста не является пределом выхода.

Текстовый файл может передавать буквальный текст; входные изображения, аудио и файловые объекты требуют точной привязки.

### Тарифы

Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.

Быстрый режим

Не указано При выборе быстрого режима

Режим flex

Не указано При выборе режима flex

Максимальная интенсивность рассуждений

Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)

#### Ставки Ailoot

#### Цены по конфигурациям

| Конфигурация | Шкала ставок | Плата |
| --- | --- | --- |
| КонфигурацияБазовые ставки за токены | Шкала ставокБазовая ставка | Плата Вход · Входные токены **$0.000572** / 1K токенов Выход · Выходные токены **$0.0023** / 1K токенов Вход · Чтение кэша **$0** / 1K токенов Вход · Запись в кэш **$0** / 1K токенов Вход · Запись в кэш, 1 час **—** / 1K токенов |

Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. [Как работают резервирование и расчёт →](https://ailoot.ai/docs/ru/billing/reserve/)

### Примеры запросов

#### Ailoot Ultra · Чат OpenAI

curlPython SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"deepseek-v3.1-thinking","messages":[{"role":"user","content":"hello"}],"stream":false}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="deepseek-v3.1-thinking", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

### Получить и сохранить результаты

#### Ailoot Ultra · Чат OpenAI

json или SSE

##### Сохраняйте все готовые результаты

Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.

Сохраняйте каждый вариант ответа с его содержимым, вызовами инструментов и рассуждениями. В SSE собирайте изменения по индексам варианта и инструмента, сохраняйте итоговую причину завершения и данные использования.

##### Если нужно проверить исходный ответ

Сохраняйте ID запросов и ответов, а также заголовки. Общий URL получения текстового задания не предоставлен.

Поля ответа

| Поле | Тип |
| --- | --- |
| Поле`choices[].index` | Типinteger |
| Поле`choices[].message.content` | Типstring\|null |
| Поле`choices[].message.tool_calls` | Типtool\_call\[\] |
| Поле`choices[].message.reasoning_content` | Типstring |
| Поле`choices[].message.reasoning_details` | Типobject\|array |
| Поле`choices[].finish_reason` | Типstring\|null |
| Поле`usage` | Типobject |

Ошибки и дальнейшие шаги

| Ответ | Условие | Следующий шаг |
| --- | --- | --- |
| Ответ400 · `invalid_request_error` | УсловиеНеверные обязательные поля, представление материалов или значение параметра | Следующий шагИсправьте указанные поля перед новым запросом на создание. |

### Псевдонимы

#### Псевдонимы моделей

**Ailoot Ultra** [`deepseek-v3.1-thinking`](https://ailoot.ai/models/ru/#m=deepseek-v3.1-thinking&route=Ultra&caller=deepseek-v3.1-thinking&fmt=chat)

#### Псевдонимы путей метода

`/chat/completions`

#### Связанные ID для вызова

[`deepseek-v3.1-thinking`](https://ailoot.ai/models/ru/#m=deepseek-v3.1-thinking&route=Ultra&caller=deepseek-v3.1-thinking&fmt=chat)

FAQ · DeepSeek: DeepSeek V3.1

Какие входные данные и результаты доступны?

`POST /v1/chat/completions` · `deepseek-v3.1-thinking`: `text` → `text`

Какие поля использует запрос?

`POST /v1/chat/completions` · `deepseek-v3.1-thinking`: `model`, `messages`, `stream`

Какие ограничения действуют?

`POST /v1/chat/completions` · `deepseek-v3.1-thinking`: `messages.min_items`: `1`

Подключите Ailoot к Claude Code, OpenCode, Hermes или своему приложению.

## Компания и портфель её проектов

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

## Покупайте токены со скидкой.

Скидка по подписке для регулярной работы. Промокоды — до 50% на покупку токенов.

Подписка

Выберите тариф со скидкой для своих регулярных запросов.

Промокод до 50%

Введите код при покупке. Цена пересчитается с учётом действующей акции.

Расходы в истории

Модель, токены и сумма сохраняются для каждого запроса.

[Выбрать подписку](https://ailoot.ai/docs/ru/billing/subscriptions/) · [Посмотреть цены моделей](https://ailoot.ai/models/ru/)

## Подключайте API к продукту, который вы продаёте.

SaaS, приложения и боты — по оферте и лицензионному договору Ailoot. Для перепродажи запросите реселлерскую лицензию.

Коммерческое приложение

Встраивайте генерацию текста, картинок, видео и звука в платные функции своего сервиса.

Лицензия для реселлера

Пришлите описание проекта и схему доступа. Запросите письменные условия использования и перепродажи.

Документы на сайте

Оферта, лицензионный договор и политика обработки данных доступны до подключения.

[Запросить реселлерскую лицензию](mailto:support@ailoot.ai) · [Оферта и лицензионный договор](https://ailoot.ai/legal/offer?lang=ru)

## Ailoot · Компания и портфель её проектов





Ailoot опирается на накопленный опыт работы, большую клиентскую базу, стабильный сервис и постоянный контроль KPI.





Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.





Этот опыт Ailoot использует для API-доступа к нейросетям в продуктах клиентов, агентах, приложениях и автоматизациях.
