DeepSeek: DeepSeek V3.1
DeepSeek V3.1 — гибридная текстовая модель с режимами обдумывания и прямого ответа в одной редакции. Контекст 128K и улучшенная работа с инструментами поддерживают программирование, анализ документов и поиск, предоставляемый приложением; результатом служат текст или предлагаемые вызовы инструментов.
О модели
Описание раскрывает возможности модели. Доступные в 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Начало
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 резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Примеры запросов
Ailoot Ultra · Чат OpenAI
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
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
Псевдонимы путей метода
/chat/completions
Связанные ID для вызова
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