Работа в режиме рассуждений
Режим рассуждений повышает качество генерации, когда ответ на вопрос зависит от комбинации действий, порядка операций или неявных ограничений. Например:
-
в арифметических задачах с несколькими операциями:
(34 + 67) * 2 - 15 -
в логических задачах с условиями:
Если все А — Б, некоторые Б — В, то все ли А — В? -
при составлении маршрута:
Встреча в 14:00, дорога 45 минут, нужно прибыть за 10 минут
Генерация в режиме рассуждений расходует больше токенов.
Режим рассуждений работает только при запросах к моделям, которые поддерживают рассуждения.
В этом разделе вы узнаете как запускать режим рассуждений в зависимости от версии эндпоинта /chat/completions.
Запуск модели в режиме рассуждений
Для запуска режима рассуждений, в запросе к эндпоинту /chat/completions задайте параметр effort, который отвечает за глубину рассуждений модели.
Это можно сделать по-разному, в зависимости от версии эндпоинта.
Запрос формата v2
Чтобы запустить режим рассуждений в запросе POST /v2/chat/completions передайте параметр model_options.reasoning.effort:
Для работы с запросами формата V2 используйте GigaChat SDK версии 0.2.2a3 и выше. Запрос можно сформировать в виде простого словаря или задать с помощью моделей.
from gigachat import GigaChat
from gigachat.models import ChatCompletionRequest, ChatMessage, ChatReasoning, ChatModelOptions
request_dict = {
"model": "<Модель с режимом рассуждений>",
"messages": [
{
"role": "user",
"content": [
{
"text": "Как полететь на луну?"
}
]
}
],
"model_options": {
"reasoning": {
"effort": "medium"
}
}
}
# Использование моделей для запуска рассуждений
request_model = ChatCompletionRequest(
model="<Модель с режимом рассуждений>",
messages=[
ChatMessage(
role="user",
content="Как полететь на луну?",
)
],
model_options=ChatModelOptions(
reasoning=ChatReasoning (
effort="medium"
),
),
)
with GigaChat(
base_url="https://gigachat-ift.sberdevices.delta.sbrf.ru/v2",
cert_file="./certs/<сертификат>.pem",
key_file="./certs/<ключ>.key",
verify_ssl_certs=False,
) as client:
response_dict = client.chat.create(request_dict)
response_model = client.chat.create(request_model)
print("