В этой статье
GPT API позволяет программе обращаться к моделям OpenAI: передавать задание и получать ответ для дальнейшей обработки. Это подходит, например, для подготовки черновиков по данным из вашей системы. Первый шаг — настроить ключ и отправить небольшой запрос через Responses API. Официальный quickstart.
Подписка ChatGPT Plus не оплачивает использование API: у него отдельный биллинг. Перед запуском проверьте доступ к API и биллинг своего проекта. Разъяснение OpenAI.
Если выбираете между работой в чате и интеграцией, сравните, что даёт ChatGPT Plus.
Ниже — учебный пример по текущей документации. Его синтаксис проверен; запрос к платному API не выполнялся. Ответ и доступность модели проверьте в своём проекте.
Подготовьте Python и ключ
Используйте Python 3.10 или новее: это минимальная версия, указанная в актуальном репозитории библиотеки OpenAI. Установите SDK командой:
python -m pip install --upgrade openai
Проверьте установленную версию:
python -c "import openai; print(openai.__version__)"
Текущая библиотека поддерживает client.responses.create() и поле response.output_text. Документация Python SDK.
Создайте ключ в своём проекте на платформе OpenAI и передайте его программе через переменную окружения OPENAI_API_KEY. SDK читает её автоматически. Создание и настройка ключа.
Не вставляйте ключ в исходный код и не отправляйте его в браузер вместе с JavaScript сайта. Для веб-приложения запрос к OpenAI выполняет ваш сервер. Рекомендации по хранению ключей.
В Windows откройте свойства системы → дополнительные параметры → переменные среды. В пользовательских переменных создайте OPENAI_API_KEY, вставьте ключ в значение и откройте новый терминал. Настройка Windows. В macOS/Linux задайте переменную в используемой оболочке по инструкции quickstart.
Перед запуском можно проверить наличие переменной, не выводя её значение:
python -c "import os; print('Ключ задан' if os.getenv('OPENAI_API_KEY') else 'Ключ не задан')"
Если выводится «Ключ не задан», проверьте окружение именно того терминала, из которого запускаете программу. Наличие ключа в другом окне или редакторе ещё не означает, что этот процесс его видит.
Создайте файл с запросом
Сохраните следующий код как example.py. В качестве модели указана gpt-6-astra, используемая в официальном quickstart на 9 сентября 2026 года. Для своего проекта проверьте доступность и стоимость выбранной модели; само наличие имени в примере не даёт доступа к ней. Пример OpenAI.
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-6-astra",
input=(
"Напиши короткий черновик уведомления клиенту на русском. "
"Факты: заказ 418 собран; самовывоз доступен с 12 сентября; "
"время выдачи ещё не согласовано. "
"Попроси клиента выбрать удобное время. "
"Не добавляй адрес, скидку или обещание доставки."
),
)
print(response.output_text)
Запустите из папки с файлом:
python example.py
input содержит задание и исходные факты, model выбирает модель, а output_text возвращает текстовую часть ответа. Здесь нет отправки письма клиенту: программа печатает черновик в терминал.
Проверьте результат по исходным данным
Не сравнивайте ответ с одной заранее придуманной формулировкой. В этом примере важнее проверить условия:
| Что проверить | Правильное содержание | Ошибка, которую нужно заметить |
|---|---|---|
| Номер | Заказ 418 | Другой номер или пропуск, мешающий понять заказ |
| Статус | Собран | «Уже доставлен» |
| Дата | Самовывоз с 12 сентября | «До 12 сентября» |
| Следующее действие | Клиент выбирает время | Выдуманное время выдачи |
| Неизвестные сведения | Адрес и скидка не добавлены | Адрес магазина, которого нет во входе |
Это контрольные критерии для учебных данных, а не отчёт о полученном ответе. Если нарушено условие, уточните задание и повторите проверку. Для будущей автоматизации соберите несколько случаев: известное время, неизвестное время, отменённый заказ. Перед отправкой реальным клиентам определите, какие ошибки должен остановить код, а какие проверяет человек.
Успешный сетевой запрос подтверждает связь с API. Он сам по себе не подтверждает, что текст годится для отправки.
Если запрос завершился ошибкой
Читайте не только HTTP-статус, но и сообщение с кодом причины. Официальный справочник ошибок.
| Ситуация | Что проверить |
|---|---|
401 |
Правильный ли ключ, не отозван ли он, есть ли у него нужные права и принадлежность проекту |
429 из-за частоты запросов |
Снизьте темп; учитывайте Retry-After, если сервер его вернул |
429 с credit_balance_exhausted |
В организации закончились предоплаченные средства; повтор без изменения биллинга не поможет |
429 с project_spend_limit_exceeded |
Достигнут лимит расходов проекта; разберитесь с бюджетом до новых запросов |
500 или временная перегрузка |
Повторите позже с ограниченным числом попыток; при устойчивой ошибке проверьте статус сервиса |
Не запускайте бесконечный повтор при любой ошибке. У нехватки средств и временного ограничения скорости разные решения.
Как перейти от примера к своей задаче
Сначала замените учебные факты данными одного заказа и сохраните ручную проверку. Затем отделите постоянные инструкции от меняющихся полей: номера, даты и статуса. Если ответ дальше обрабатывает программа, заранее определите нужные поля и формат, а не пытайтесь угадывать структуру свободного текста.
Следующий шаг зависит от результата: письму нужен контроль фактов и отправки, классификации — набор проверочных случаев, диалогу — управление историей. Один работающий запрос помогает проверить доступ и основу интеграции; каждую из этих задач придётся настроить отдельно.
Проверить детали
Источники материала
- Developer quickstartOpenAI
- OpenAI Python SDKOpenAI
- Error codesOpenAI
- API key safetyOpenAI
- What is ChatGPT Plus?OpenAI
Функции и условия сервисов меняются. Дата сверки указана в начале статьи. Как подготовлен материал