GPT-6 Astra API: первый запрос и миграция с GPT-5.6 Sol
Копируемый первый запрос к GPT-6 Astra через BetterToken, минимальный diff миграции с GPT-5.6 Sol и проверка reasoning, параметров и tool calling.
Содержание

Для первого smoke test через BetterToken достаточно заменить Model ID на gpt-6-astra и отправить короткий запрос в OpenAI-compatible Chat Completions endpoint. При миграции рабочего приложения одной замены модели мало: GPT-6 Astra не поддерживает reasoning effort none, требует убрать несколько sampling и logprobs-параметров, а tool calling нужно вести через Responses API.
Ниже сначала выполняется простой текстовый запрос, затем проверяется diff с gpt-5.6-sol. Это документированный путь; при подготовке статьи мы не отправляли платный запрос с реальным API Key.
Что понадобится
На 6 сентября 2026 года публичный каталог BetterToken показывает обе точные модели — gpt-5.6-sol и gpt-6-astra — в группе GPT с OpenAI-compatible endpoint. Для запроса нужны:
- собственный аккаунт BetterToken;
- API Key, созданный для актуальной группы
GPT; - Base URL
https://www.bettertoken.ai/v1; - Model ID
gpt-6-astra; curlили HTTP-клиент, в котором можно задать Bearer token и JSON body.
Создать аккаунт BetterToken и API Key для GPT-6 Astra
Текущие Model ID и условия вызова проверяйте в каталоге и окне Setup вашего ключа. Не вставляйте настоящий API Key в код репозитория, issue, screenshot или сообщение поддержки.
Первый запрос
Экспортируйте ключ только в локальное окружение:
export BETTERTOKEN_API_KEY="YOUR_API_KEY"
Отправьте минимальный запрос из публичного API Reference BetterToken, подставив точный Model ID Astra:
curl "https://www.bettertoken.ai/v1/chat/completions" \
-H "Authorization: Bearer $BETTERTOKEN_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "gpt-6-astra",
"messages": [
{
"role": "user",
"content": "Reply with exactly: ASTRA_OK"
}
]
}'
Успешный ответ для этого endpoint содержит текст в choices[0].message.content. Для нашего fixture ожидается ASTRA_OK. Проверьте одновременно три вещи:
- HTTP-запрос завершился без
401,403или ошибки model not found. - В
choices[0].message.contentесть непустой ответ, соответствующий короткой инструкции. - В Dashboard BetterToken появилась запись с моделью
gpt-6-astra, статусом и расходом input/output/cache tokens.
Такой smoke test подтверждает Key, endpoint, Model ID и базовый формат ответа. Он не подтверждает tool calling, streaming вашего SDK, качество на production-задаче или равенство поведения с Sol.
Минимальный diff с GPT-5.6 Sol
Базовый запрос без tools меняется так:
{
- "model": "gpt-5.6-sol",
+ "model": "gpt-6-astra",
"messages": [
{"role": "user", "content": "Summarize this incident report."}
]
}
Если старый запрос явно задавал reasoning effort none или minimal, начните Astra с low. Для Chat Completions поле называется reasoning_effort:
{
"model": "gpt-6-astra",
"reasoning_effort": "low",
"messages": [
{
"role": "user",
"content": "Summarize this incident report. Preserve dates and owners."
}
]
}
Если Sol уже работала с другим эффективным уровнем reasoning, OpenAI рекомендует сначала сохранить его и сравнить результат. Не повышайте effort автоматически во всех запросах: это меняет latency и расход, а не только качество сложных задач.
Из запроса Astra нужно убрать неподдерживаемые поля:
{
"model": "gpt-6-astra",
"reasoning_effort": "low",
- "temperature": 0.2,
- "top_p": 0.95,
- "top_logprobs": 5,
- "logprobs": true,
"messages": [
{"role": "user", "content": "Summarize this incident report."}
]
}
OpenAI перечисляет temperature, top_p и top_logprobs как неподдерживаемые для Astra; в Chat Completions также нужно убрать logprobs. Если ваш SDK добавляет эти поля по умолчанию, проверьте фактический JSON после сериализации, а не только объект конфигурации.
Chat Completions для smoke test, Responses для tools
GPT-6 Astra поддерживает оба endpoint, но OpenAI указывает Responses API для tool calling. При этом публичный общий API Reference BetterToken сейчас документирует только Chat Completions; Responses отдельно используется в официальной инструкции BetterToken по Codex custom provider.
Отсюда следуют два разных пути:
| Задача | Путь |
|---|---|
| Проверить Key, Model ID и обычный текстовый ответ | POST https://www.bettertoken.ai/v1/chat/completions по публичному API Reference |
| Использовать Astra с tools в Codex | custom provider, wire_api = "responses" по Codex Docs BetterToken |
| Вызвать raw Responses из собственного приложения | Сначала подтвердить текущий контракт для вашего канала в Docs или поддержке; общий публичный API Reference пока не публикует этот интерфейс |
Не переносите Chat Completions tool schema в Responses механической заменой URL. У этих API отличаются input items, формат tool calls, продолжение состояния и извлечение текста. Транспортная совместимость также не означает, что Astra повторит стиль или выбор инструментов Sol.
Controlled migration без длинного простоя
Сначала соберите небольшой набор fixtures из реального приложения:
- короткий текстовый запрос с точным ожидаемым ответом;
- один structured output с проверяемой JSON Schema;
- один длинный prompt, типичный для production;
- один tool workflow, если приложение использует инструменты;
- один заведомо ошибочный запрос, чтобы сравнить обработку ошибок.
Сохраните для Sol Model ID, endpoint, effective reasoning effort, сериализованный request body и acceptance check. Затем прогоните тот же набор на Astra с минимальным diff. Сравнивайте не «понравился ли ответ», а наблюдаемые условия: схема валидна, обязательные факты сохранены, tool вызван по контракту, timeout не превышен, итог проходит существующие тесты.
Переключайте трафик только после трёх проверок:
- Все обязательные fixtures проходят на Astra.
- Мониторинг различает запросы
gpt-5.6-solиgpt-6-astra. - Rollback возвращает старый Model ID и параметры без релиза нового кода.
Для начала можно направить Astra небольшой контролируемый процент запросов или один внутренний сценарий. Конкретный размер зависит от цены ошибки и объёма трафика; универсального процента здесь нет. Не удаляйте Sol-конфигурацию до окончания наблюдения.
Ошибки, которые быстрее всего проверить
401 Unauthorized
Убедитесь, что заголовок имеет вид Authorization: Bearer ..., переменная окружения доступна именно процессу приложения, а ключ не содержит кавычки или пробелы из копирования. Не печатайте полный ключ в лог.
403 или model not found
Проверьте, что Key создан для актуальной группы, и скопируйте Model ID из Setup или текущего каталога. Значение должно быть ровно gpt-6-astra, без пробела и без маркетингового названия.
400 после замены Model ID
Посмотрите сериализованный body. Уберите temperature, top_p, top_logprobs и logprobs; замените none или minimal reasoning effort на low. Затем повторите самый короткий fixture.
Текст работает, tools — нет
Проверьте endpoint. Chat Completions smoke test не доказывает Responses tool workflow. Для Codex сохраните wire_api = "responses"; для собственного приложения используйте подтверждённый контракт Responses вашего канала.
Ответ успешный, но приложение ничего не показывает
Сначала сохраните raw response без секретов и проверьте choices[0].message.content. Если поле заполнено, ошибка находится в адаптере или UI после HTTP-вызова. Если оно пустое, проверьте статус, finish reason и тело ответа до повторной отправки.
Миграция завершена, когда Astra проходит ваши fixtures, наблюдается отдельно и может быть откатана одной конфигурационной правкой. Первый 200 — полезная проверка подключения, но только этот набор условий подтверждает рабочий переход с GPT-5.6 Sol.