DeepSeek R1 Distill Qwen 7B
DeepSeek-R1-Distill-Qwen-7B — компактная плотная модель DeepSeek для рассуждений, дообученная на основе Qwen2.5-Math-7B с использованием примеров, сгенерированных R1. Она принимает и выдаёт текст для математических, программных и логических задач и имеет рекомендации по запросам, относящиеся к этой контрольной точке.
- Ailoot Ultra · Чат OpenAI
POST /v1/chat/completionsPro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B - Ailoot Ultra · Сообщения Anthropic
POST /v1/messagesPro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Введение: меньшая модель для рассуждений на основе R1
DeepSeek-R1-Distill-Qwen-7B переносит примеры рассуждений DeepSeek-R1 в плотную модель на основе Qwen2.5-Math-7B. Она принимает и генерирует текст, включая развёрнутые решения, объяснения программ и ответы на логические задачи. Эта конкретная дистиллированная модель 7B — отдельная контрольная точка, отличающаяся от полной DeepSeek-R1, исходной Qwen2.5-Math-7B и более крупных дистиллированных редакций. Её название отражает и разработчика данных для рассуждений, и базовое семейство модели.
Что даёт дистилляция
Исследование R1 от DeepSeek разделяет обучение крупной модели-учителя для рассуждений и дообучение её меньших учеников. Процесс подготовки учителя использует обучение с подкреплением и этапы обучения с учителем; выпущенные дистиллированные модели дообучены на примерах, созданных R1. Разработчик описывает 800 000 отобранных примеров для этих выпусков. Не предполагайте, что сам ученик 7B имеет архитектуру смеси экспертов полной модели или прошёл каждый этап обучения учителя. Дистилляция даёт модели усвоенный стиль рассуждений; она не делает её выводы равноценными выводам учителя.
Конкретная модель и её конфигурация
Официальная таблица моделей указывает Qwen2.5-Math-7B как основу этой редакции. DeepSeek меняет настройки конфигурации и токенизатора, поэтому важны точная выпущенная контрольная точка и шаблон чата. Опубликованная конфигурация использует архитектуру каузальной языковой модели Qwen2 с 28 слоями и весами bfloat16. Максимальное число позиций задано как 131 072. Это значение конфигурации не является отдельной проверкой точности на длинных документах: таблица контекста 128K в общей карточке R1 описывает полные модели R1, тогда как таблица дистиллированных моделей указывает их происхождение, не публикуя проверенную таблицу контекста для каждого ученика.
Используйте её для задачи с проверяемым результатом. Для математики передайте полное условие, определения и единицы измерения. Для кода включите нужную функцию, входные данные, наблюдаемый результат и желаемое поведение. Для логического вопроса перечислите факты и отделите требуемый вывод от допущения. Запросите итог, который можно проверить независимо, например выделенное рамкой значение, краткий план доказательства или патч с объяснением. Эти примеры применяют документированную область рассуждений разработчика; они не утверждают, что модель автоматически запускает код или проверяет доказательства.
Как подготовить запрос
DeepSeek рекомендует помещать все инструкции в пользовательский запрос и избегать системного запроса для этого выпуска R1. Для математической задачи запросите пошаговые рассуждения и чётко отделённый итоговый ответ. Любую структуру вывода включите в тот же запрос: например, краткий вывод, за которым следуют допущения и подтверждающие вычисления. Приложение должно использовать собственный токенизатор и форматирование ученика, а не подставлять базовый шаблон Qwen без проверки изменений разработчика.
Разработчик отмечает, что некоторые запросы могут создавать пустой блок обдумывания и обходить предусмотренный шаблон рассуждений. Рекомендуемое исправление — в совместимом процессе начинать генерацию с открывающего маркера обдумывания и перевода строки. Это документированная рекомендация по формату генерации, а не обещание, что любое приложение предоставляет такой элемент управления. При представлении результата отделяйте итоговый ответ от более длинного текста рассуждений.
Настройки генерации и доступное место
DeepSeek рекомендует температуру от 0.5 до 0.7, с 0.6 в качестве предпочтительной начальной точки, чтобы уменьшить повторяющийся или бессвязный вывод. В её оценочной установке используются лимит генерации 32 768 токенов и top_p 0.95. Эти параметры оценки не являются универсальным жёстким максимумом. Рассуждения, исходный текст и итоговый ответ должны помещаться в настроенный контекст, поэтому запрос с длинным доказательством или листингом кода всё равно должен оставлять место для завершения.
Ограничения, влияющие на выбор модели
Небольшая дистиллированная модель остаётся отдельным компромиссом в области рассуждений. Материалы выпуска разработчика не подтверждают ввод изображений, аудио или видео для этой контрольной точки, как и специальный протокол вызова инструментов. Выполнение инструментов или доступ к актуальным данным потребуют отдельно настроенного процесса в приложении. Выпуск также не наследует последующие изменения правил запросов DeepSeek-R1-0528 только благодаря названию R1. Проверяйте численные ответы, рассматривайте предложенные изменения кода и проверяйте, следует ли итоговый вывод из предоставленных фактов; длинная запись рассуждений сама по себе не доказывает правильность.
Ailoot Ultra · Чат OpenAI POST /v1/chat/completions Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7BНачало
DeepSeek-R1-Distill-Qwen-7B — компактная плотная модель DeepSeek для рассуждений, дообученная на основе Qwen2.5-Math-7B с использованием примеров, сгенерированных R1. Она принимает и выдаёт текст для математических, программных и логических задач и имеет рекомендации по запросам, относящиеся к этой контрольной точке.
- Допустимые входные данные
- Текст
- Результаты
- Текст
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Чат OpenAI POST /v1/chat/completions
- Входные данные
text- Результат
text- Выходной формат
- json или SSE
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B | По умолчанию— |
Поле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.0001 / 1K токенов Выход · Выходные токены $0.0001 / 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":"Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B","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="Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", 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 Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
Псевдонимы путей метода
/chat/completions
Связанные ID для вызова
Ailoot Ultra · Сообщения Anthropic POST /v1/messages Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7BНачало
DeepSeek-R1-Distill-Qwen-7B — компактная плотная модель DeepSeek для рассуждений, дообученная на основе Qwen2.5-Math-7B с использованием примеров, сгенерированных R1. Она принимает и выдаёт текст для математических, программных и логических задач и имеет рекомендации по запросам, относящиеся к этой контрольной точке.
- Допустимые входные данные
- Текст
- Результаты
- json · sse
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Сообщения Anthropic POST /v1/messages
- Входные данные
text- Результат
json,sse- Выходной формат
- JSON или SSE
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B | По умолчанию— |
Полеmessages | Типmessage[] | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
Полеmessages[].role | Типstring | ТребованиеОбязательно | Значения и ограничения user, assistant | По умолчанию— |
Полеmessages[].content | Типstring | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
Полеmax_tokens | Типinteger | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
Полеstream | Типboolean | ТребованиеНеобязательно | Значения и ограничения | По умолчаниюfalse |
Сочетания входных материалов
Текст · Текст UTF-8
строка messages[].content
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактmodel, messages, max_tokens |
Параметрoptional_controls | Контрактstream |
Параметрmaterial_types | Контрактtext |
Параметрtext_file_material | КонтрактПрочитайте фактический документ UTF-8 и поместите его текст в указанную строку входа или содержимого сообщения. |
Жизненный цикл: synchronous_or_streamed
Тарифы
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Ставки Ailoot
Цены по конфигурациям
| Конфигурация | Шкала ставок | Плата |
|---|---|---|
| КонфигурацияБазовые ставки за токены | Шкала ставокБазовая ставка | Плата Вход · Входные токены $0.0001 / 1K токенов Выход · Выходные токены $0.0001 / 1K токенов Вход · Чтение кэша $0 / 1K токенов Вход · Запись в кэш $0 / 1K токенов Вход · Запись в кэш, 1 час — / 1K токенов |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Примеры запросов
Ailoot Ultra · Сообщения Anthropic
{
"model": "Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -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
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
Получить и сохранить результаты
Ailoot Ultra · Сообщения Anthropic
JSON или SSE
Сохраняйте все готовые результаты
Сохраняйте каждый полностью полученный ответ, файл и элемент содержимого.
Сохраняйте все блоки содержимого, подписи рассуждений и фактические ID обращений к инструментам. Собирайте все изменения блоков SSE; первый текстовый блок не является полным выходом.
Если нужно проверить исходный ответ
Сохраняйте ID запросов и ответов, а также заголовки. Общий URL получения текстового задания не предоставлен.
Поля ответа
| Поле | Тип |
|---|---|
Полеid | Типstring |
Полеmodel | Типstring |
Полеcontent[] | Типtext|thinking|tool_use|other content block |
Полеstop_reason | Типstring|null |
Полеusage | Типobject |
Ошибки и дальнейшие шаги
| Ответ | Условие | Следующий шаг |
|---|---|---|
Ответ400 · invalid_request_error | УсловиеНеверные обязательные поля, представление материалов или значение параметра | Следующий шагИсправьте указанные поля перед новым запросом на создание. |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
Псевдонимы путей метода
/chat/completions
Связанные ID для вызова
FAQ · Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
- Какие входные данные и результаты доступны?
POST /v1/chat/completions·Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B:text→textPOST /v1/messages·Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B:text→json,sse- Какие поля использует запрос?
POST /v1/chat/completions·Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B:model,messages,streamPOST /v1/messages·Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B:model,messages,max_tokens,stream- Какие ограничения действуют?
POST /v1/chat/completions·Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B:messages.min_items:1