Как подключить Grok 4.7 к приложению и сохранить историю рассуждений
Точный идентификатор Grok 4.7, минимальный запрос Responses и сохранение зашифрованных рассуждений между ходами диалога.
Для вызова Grok 4.7 из приложения используйте grok-4.7 в API xAI. Главное изменение интеграции касается не только имени модели: Responses возвращает элементы с зашифрованными рассуждениями, которые нужно сохранять без изменений при повторной отправке истории диалога.
Руководство основано на официальной документации, проверенной 22 сентября 2026 года. Примеры показывают построение запросов; это не отчёт о платном тестировании в рабочей среде и не измерение производительности.
Начните с минимального запроса Responses
Создайте ключ разработчика по официальной инструкции, проверьте необходимый баланс учётной записи и задайте XAI_API_KEY в локальном окружении. Не помещайте ключ в браузерный код или конфигурацию, попадающую в репозиторий.
curl https://api.x.ai/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $XAI_API_KEY" \
-d '{
"model": "grok-4.7",
"input": "Explain why Python list.sort() returns None."
}'
Адрес API и идентификатор приведены в официальном руководстве модели. Начните с небольшого запроса: так проще выявить проблемы учётной записи и протокола до подключения инструментов, крупных файлов или агентного фреймворка.
Успешный HTTP-ответ — лишь одна проверка. Убедитесь, что ответ содержит ожидаемый текст и сведения о расходе, затем проверьте сам ответ. Корректный формат ответа API не гарантирует правильность рассуждений.
Python: сохраняйте элементы ответа целиком
Установите версию OpenAI SDK с поддержкой Responses и запишите её в журнал тестирования. Например, python -m pip show openai показывает установленную версию пакета.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["XAI_API_KEY"],
base_url="https://api.x.ai/v1",
)
history = [{
"role": "user",
"content": "Explain why Python list.sort() returns None.",
}]
first = client.responses.create(model="grok-4.7", input=history)
print(first.output_text)
# Preserve all items, including encrypted reasoning.
history.extend(item.model_dump(exclude_none=True) for item in first.output)
history.append({
"role": "user",
"content": "Show a version that sorts without mutating the input.",
})
second = client.responses.create(model="grok-4.7", input=history)
print(second.output_text)
Не сводите first.output к видимому ответу, когда сохраняете историю для следующего хода. По документации провайдера Grok 4.7 автоматически включает reasoning.encrypted_content, даже без явного параметра include. Передавайте элементы рассуждений без изменений; не пытайтесь декодировать или переписывать зашифрованное поле.
В этом примере клиент явно отправляет историю. При переносе в фреймворк проверьте, что именно он сохраняет и передаёт. Не стоит предполагать, что любая совместимая обёртка сохраняет специфичные поля провайдера.
Chat Completions использует отдельную схему
Поведение зашифрованных данных в Responses не означает, что его выходные объекты нужно вставлять в массив messages Chat Completions. Используйте схему вызываемого API. Если приложение уже работает через Chat Completions, сначала проверьте этот вариант с новой моделью, затем решите, нужен ли переход на другой протокол.
По возможности меняйте протокол и оценивайте модель отдельно. Иначе причиной неудачного теста может оказаться адаптер, история диалога или модель, а данных для различения этих причин будет мало.
Настраивайте рассуждения и кэш осознанно
Модель предлагает режимы рассуждений low, medium, high и xhigh; по умолчанию используется high. Записывайте выбранный режим при оценке. Более высокий уровень не гарантирует меньшую стоимость выполненной задачи.
Для кэширования официальное руководство рекомендует prompt_cache_key в Responses или заголовок x-grok-conv-id в Chat Completions, чтобы улучшить маршрутизацию диалога. При этом измеряйте фактическое использование кэша: сама настройка маршрутизации не доказывает применение тарифа на кэшированный вход.
Проверяйте тот уровень, на котором возник сбой
| Симптом | Что проверить в первую очередь |
|---|---|
| Ошибка аутентификации | Активного провайдера, источник ключа и HTTP-ошибку без секретных данных |
| Модель отклонена | Точный идентификатор grok-4.7 и список моделей провайдера |
| Первый ход работает, следующий — нет | Сохранённые элементы ответа и схему API |
| Неожиданно растёт стоимость агента | Всю последовательность запросов, рассуждения, повторы и использование кэша |
| Редактор предлагает Fast, но вызов API не проходит | Различие продуктов: Fast не является вариантом публичного API |
Это категории диагностики, а не воспроизведённые сообщения об ошибках. Зафиксируйте реальный идентификатор запроса и ошибку, прежде чем менять несколько настроек одновременно.
Перед долгими задачами прочитайте о стоимости Grok 4.7. Если предпочитаете готовый клиент собственной интеграции, руководство по доступу объясняет различия между Cursor, Grok Build и учётной записью API.
Часто задаваемые вопросы
- Какой идентификатор модели использовать для API Grok 4.7?
- Для публичного API xAI используйте grok-4.7. У шлюзов идентификаторы могут отличаться.
- Нужно ли удалять зашифрованные рассуждения между вызовами Responses?
- Нет. Провайдер предписывает передавать элементы рассуждений без изменений во входных данных следующих запросов.


