DeepSeek: DeepSeek V3.2
DeepSeek V3.2 сочетает текстовые рассуждения с использованием инструментов и анализом длинного контекста. Её архитектура разреженного внимания и обновлённый формат диалога поддерживают программирование, поиск и многошаговые агентские задачи с контекстом 128K и отдельными процессами для рассуждений и прямых ответов.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
DeepSeek V3.2 — текстовая модель DeepSeek для рассуждений и агентской работы с акцентом на эффективную обработку длинного контекста. Производитель группирует её основные изменения вокруг DeepSeek Sparse Attention, масштабированной системы обучения с подкреплением и конвейера обучения агентским задачам. Она принимает письменные вопросы и контекст и выдаёт текст, в том числе ответ, код или содержимое вызовов инструментов. Она отличается от более раннего выпуска V3.2 Exp и отдельного варианта Speciale для рассуждений.
DeepSeek Sparse Attention добавляет индексатор и детальный отбор токенов в архитектуру латентного внимания. Для длинной последовательности индексатор выбирает информацию из предыдущих токенов, используемую в основном вычислении внимания. В отчёте это названо архитектурным изменением по сравнению с V3.1 Terminus; при этом используется та же архитектура, что и в V3.2 Exp. Опубликованный контекст составляет 128K токенов, что позволяет работать с объёмными исходными материалами и продолжать задачу, однако сгенерированные рассуждения и история использования инструментов также занимают доступный контекст.
Дообучение охватывает ответы с рассуждением и без него в математике, программировании, логических рассуждениях, общих агентских задачах, агентском программировании и поиске. Профильные эксперты предоставляют данные, которые объединяются в итоговой модели, после чего проводится смешанное обучение с подкреплением. Для обычного вопроса может подойти прямой ответ; для сложной задачи процесс с рассуждением может сначала выработать решение, а затем представить итоговый результат. Задавайте требуемый ответ или материал независимо от промежуточных рассуждений.
Существенное изменение этой версии — рассуждение с инструментами. Обновлённый формат диалога позволяет продолжать рассуждение на протяжении задачи с вызовами инструментов, а не рассматривать анализ и действие как несвязанные этапы. Выбранную моделью операцию выполняет приложение, которое возвращает её результат для следующего шага. Правило производителя для контекста инструментов сохраняет предыдущие рассуждения, пока добавляются только сообщения, связанные с инструментами; когда поступает новое сообщение пользователя, оно удаляет эти рассуждения, сохраняя вызовы инструментов и их результаты. Для такого поведения важно правильно различать роли в диалоге.
Для программирования предоставьте фрагмент исходного кода или соответствующие файлы, наблюдаемую проблему, ожидаемый результат и условия, которые изменение должно сохранить. Пример задания: «Используй предоставленный код и результаты инструментов, чтобы найти причину, предложить минимальное исправление и вернуть итоговый патч с подтверждающим результатом проверки». Для поисковой задачи опишите вопрос, требуемые подтверждения и критерий завершённого ответа. Инструменты поиска и выполнения предоставляет приложение, в котором работает модель, а не сам текст.
Производитель рекомендует temperature 1.0 и top-p 0.95 для локального использования. V3.2 вводит пересмотренное представление вызовов инструментов и специальный кодировщик сообщений. Роль developer зарезервирована для поискового агентского шаблона производителя, а официальный API не принимает эту роль. Эталонный парсер ожидает корректно сформированный вывод и не исправляет ошибочные результаты; когда приложение использует сгенерированные поля или аргументы инструментов, оно должно проверить их структуру перед выполнением действий.
Технический отчёт называет длинные цепочки рассуждений и избыточную самопроверку практическими ограничениями. Агентская задача может достичь границы 128K, даже если исходные материалы помещаются в контекст, поскольку вывод инструментов и повторные рассуждения накапливаются. Ведите краткую запись значимых наблюдений и явно задавайте итоговый материал. Для работы, требующей точных знаний, приложите авторитетные материалы или предоставьте подходящий поисковый инструмент, вместо того чтобы ожидать, что знания из обучения определят каждый факт.
DeepSeek V3.2 Speciale — отдельный вариант для глубоких рассуждений с большими вычислительными затратами; согласно карточке модели, он не поддерживает вызовы инструментов. Его возможности не следует принимать за стандартный профиль инструментов V3.2. Аналогично, более позднее поколение V4 и экспериментальный предшественник имеют отдельные обозначения и настройки конфигурации. Сохраняйте именованную версию V3.2 при сравнении задач, для которых важны модель и формат запросов.
Для практического анализа на основе источников обозначьте материалы и запросите заключение, подтверждённое значимыми фрагментами, отдельно указав допущения и недостающую информацию. Для агента задайте разрешённые функции, ожидаемый итоговый результат и критерий завершения. Такой подход позволяет организовать рассуждения и работу с инструментами для подготовки текстового, программного или аналитического материала, который можно проверить по предоставленным подтверждениям.
Ailoot Ultra · Чат OpenAI POST /v1/chat/completions deepseek-v3.2-thinking
deepseek-v3.2-thinkingНачало
DeepSeek V3.2 сочетает текстовые рассуждения с использованием инструментов и анализом длинного контекста. Её архитектура разреженного внимания и обновлённый формат диалога поддерживают программирование, поиск и многошаговые агентские задачи с контекстом 128K и отдельными процессами для рассуждений и прямых ответов.
- Допустимые входные данные
- Текст
- Результаты
- Текст
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Чат OpenAI POST /v1/chat/completions
- Входные данные
text- Результат
text- Выходной формат
- json или SSE
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения deepseek-v3.2-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.00058 / 1K токенов Выход · Выходные токены $0.00086 / 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.2-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.2-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.2-thinking
Псевдонимы путей метода
/chat/completions
Связанные ID для вызова
FAQ · DeepSeek: DeepSeek V3.2
- Какие входные данные и результаты доступны?
POST /v1/chat/completions·deepseek-v3.2-thinking:text→text- Какие поля использует запрос?
POST /v1/chat/completions·deepseek-v3.2-thinking:model,messages,stream- Какие ограничения действуют?
POST /v1/chat/completions·deepseek-v3.2-thinking:messages.min_items:1