Перейти к основному содержанию

Обзор возможностей

Модели рассуждений — это продвинутые языковые модели, оптимизированные для решения сложных задач и задач логического вывода. Они повышают точность решения задач за счет вывода подробных шагов рассуждения (цепочки рассуждений).

Типичные сценарии применения

  • Решение сложных задач: подходит для сценариев, где требуется пошаговый вывод и четкие логические этапы, например в математике и научных рассуждениях.
  • Системы поддержки принятия решений: предоставляют подробный процесс рассуждения для поддержки анализа решений и помогают понять логику, лежащую в основе решения.
  • Образование и обучение: помогают пользователям изучать и понимать сложные знания, предоставляя подробный процесс вывода.

Установка и подготовка

Перед использованием моделей рассуждений убедитесь, что установлена последняя версия OpenAI SDK:
pip install -U openai

Способ вызова API

Используйте модели рассуждений через вызов интерфейса /chat/completions.

Описание параметров запроса

  • max_tokens: задает максимальное количество token для вывода модели.
  • temperature: рекомендуется установить значение от 0.5 до 0.7 (рекомендуется 0.6), чтобы сбалансировать креативность и логичность вывода.
  • top_p: рекомендуется установить значение 0.95.

Пример кода запроса

Запрос с потоковым выводом

from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://api.highwayapi.ai/openai")
messages = [
    {"role": "user", "content": "Объясни второй закон Ньютона."}
]

response = client.chat.completions.create(
    model="deepseek/deepseek-r1",
    messages=messages,
    stream=True,
    max_tokens=4096
)

content = ""
reasoning_content = ""
for chunk in response:
    if chunk.choices[0].delta.content:
        content += chunk.choices[0].delta.content
    if chunk.choices[0].delta.reasoning_content:
        reasoning_content += chunk.choices[0].delta.reasoning_content

print("Итоговый ответ:", content)
print("Ход рассуждений:", reasoning_content)

Запрос без потокового вывода

response = client.chat.completions.create(
    model="deepseek/deepseek-r1",
    messages=[
        {"role": "user", "content": "Что такое парниковый эффект? Как его смягчить?"}
    ],
    stream=False,
    max_tokens=4096
)

content = response.choices[0].message.content
reasoning_content = response.choices[0].message.reasoning_content

print("Итоговый ответ:", content)
print("Ход рассуждений:", reasoning_content)

Управление контекстом

Содержимое рассуждений, возвращаемое моделью, не добавляется автоматически к следующему раунду диалога. Пользователю необходимо вручную управлять историей диалога:
messages.append({"role": "assistant", "content": content})
messages.append({"role": "user", "content": "Продолжи объяснять решение."})

Список поддерживаемых моделей

Способ тарификации

  • Тарификация выполняется на основе количества token во входных и выходных данных.
  • Конкретные тарифы и правила конвертации см. на странице сведений о модели.

Примечания и лучшие практики

  • Не добавляйте инструкции по рассуждению в сообщение system; следует напрямую указывать инструкции в сообщении user.
  • В математических задачах четко формулируйте требования, например: «Пожалуйста, рассуждай пошагово и явно укажи итоговый ответ».
  • Чтобы модель не пропускала этап рассуждения, рекомендуется принудительно добавлять символ перевода строки перед выводом.