Модели с рассуждением
Модели с рассуждением — DeepSeek-R1, OpenAI o1/o3 и подобные — сначала выстраивают внутреннюю логику и только потом дают финальный ответ. В этом руководстве описано, как в Sozdai управлять глубиной рассуждения и получать сам ход мысли.
#1. Поле reasoning_content
Для моделей вроде DeepSeek-R1, которые возвращают сам ход рассуждений, Sozdai добавляет в объект choice поле `reasoning_content` рядом с `content`. Так ход мысли можно показать отдельно — например, в сворачиваемом блоке.
{
"id": "chatcmpl-456",
"object": "chat.completion",
"model": "deepseek-reasoner",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "The final answer is: 42.",
"reasoning_content": "We need to calculate the meaning of life, which is a known constant..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 15,
"completion_tokens": 120,
"total_tokens": 135
}
}#2. Рассуждение в потоке (SSE)
В потоковом режиме (`stream: true`) сначала приходят фрагменты `reasoning_content`. Когда рассуждение закончено, поток переходит к обычным фрагментам `content`. Обрабатывайте и накапливайте оба поля:
data: {"id":"chatcmpl-456","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"reasoning_content":"Thinking step..."}}],"model":"deepseek-reasoner"}
data: {"id":"chatcmpl-456","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Final answer..."}}],"model":"deepseek-reasoner"}#3. Управление глубиной (reasoning_effort)
Некоторые модели (например, OpenAI o3-mini) позволяют регулировать длительность рассуждения. Передайте в теле запроса параметр `reasoning_effort`:
low: Короткая цепочка рассуждений: быстрее и дешевле.medium: Сбалансированный режим по умолчанию.high: Развёрнутое рассуждение для сложной математики, логики и кода; токенов уходит больше.