К основному содержимому

ChatGPT API: подключение и использование OpenAI API

AI-агенты на VDS · 19.04.2026 · 4 мин чтения
Иллюстрация к статье «ChatGPT API: подключение и использование OpenAI API»

ChatGPT API: полное руководство

OpenAI API предоставляет доступ к моделям GPT-4o, GPT-4o-mini, o1. Это основа для AI-чатботов, генерации контента и автоматизации задач.

Получение API ключа

Зарегистрируйтесь на platform.openai.com, пополните баланс ($5+) и создайте API ключ. Храните ключ в переменных окружения.

Первый запрос (cURL)

curl https://api.openai.com/v1/chat/completions   -H "Content-Type: application/json"   -H "Authorization: Bearer $OPENAI_API_KEY"   -d '{
    "model": "gpt-4o-mini",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Что такое VPS хостинг?"}
    ],
    "max_tokens": 500
  }'

PHP интеграция

composer require openai-php/client
<?php
require 'vendor/autoload.php';
$client = OpenAI::client($_ENV['OPENAI_API_KEY']);
$response = $client->chat()->create([
    'model'    => 'gpt-4o-mini',
    'messages' => [
        ['role' => 'system', 'content' => 'Ты помощник поддержки ZevsHost.'],
        ['role' => 'user',   'content' => 'Как добавить домен в cPanel?'],
    ],
    'max_tokens' => 800,
]);
echo $response->choices[0]->message->content;

Python интеграция

pip install openai
from openai import OpenAI
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Explain VPS in 3 sentences."}],
    max_tokens=200
)
print(response.choices[0].message.content)

Streaming (потоковый вывод)

stream = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Напиши статью о VPS"}],
    stream=True
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Цены и модели (2025)

Модель Input (1M) Output (1M) Применение
gpt-4o-mini $0.15 $0.60 Чатботы, поддержка
gpt-4o $2.50 $10.00 Сложные задачи
o1-mini $1.10 $4.40 Логика, код
Экономия: gpt-4o-mini в 15x дешевле GPT-4o при сравнимом качестве для простых задач. Используйте max_tokens для контроля расходов.

Частые ошибки API

Коды ошибок OpenAI API стандартные для HTTP, но причины за ними не всегда очевидны из текста ответа.

401 — Incorrect API key provided

{"error": {"message": "Incorrect API key provided: sk-***", "type": "invalid_request_error"}}

Ключ не прошёл проверку: он отозван, скопирован не полностью или указан для другого проекта организации. Проверьте ключ в разделе API keys на platform.openai.com — отозванные ключи там помечены явно.

429 — Rate limit reached / insufficient_quota

Под кодом 429 скрываются две разные проблемы: превышение лимита запросов в минуту (временно, нужно повторить с задержкой) и исчерпание оплаченного баланса (insufficient_quota, требует пополнения). Текст поля type в JSON-ответе различает эти случаи — их нельзя обрабатывать одинаковой повторной попыткой.

Основные коды ошибок и реакция на них

Код Тип ошибки Что делать
401 invalid_request_error / неверный ключ Проверить и перевыпустить ключ
429 rate_limit_exceeded Повторить запрос с экспоненциальной задержкой
429 insufficient_quota Пополнить баланс, повтор не поможет
500/503 server_error Повторить позже, проблема на стороне OpenAI

Когда прямой вызов OpenAI API не подходит

  • Данные пользователей нельзя передавать за пределы вашей инфраструктуры — в этом случае нужен локальный вариант вроде Ollama.
  • Нужна независимость от одного провайдера — стоит сразу закладывать абстракцию, как описано в статье про сравнение AI API.
  • Бюджет непредсказуем при пиковой нагрузке — без жёсткого лимита на max_tokens и мониторинга расходов счёт может вырасти быстрее, чем ожидалось.
  • Нужна гарантия времени отклика — публичный API не даёт SLA по задержке, при пиковой нагрузке OpenAI ответ может занять заметно больше обычного.

Проверка, что интеграция работает

curl -s https://api.openai.com/v1/models -H "Authorization: Bearer $OPENAI_API_KEY" | head -c 200

Если ключ рабочий, запрос вернёт JSON со списком доступных моделей. Ошибка 401 на этом шаге означает проблему с ключом ещё до того, как вы начнёте разбираться с логикой самого чат-запроса — так быстрее локализовать, в какой части системы сбой.

При проектировании интеграции стоит сразу закладывать логирование стоимости запросов: поле usage в ответе API содержит точное число использованных токенов на вход и выход. Сохраняя эти значения вместе с идентификатором запроса, можно быстро найти, какой именно сценарий использования резко увеличил счёт, вместо того чтобы разбираться постфактум по общей сумме в личном кабинете OpenAI.

Статья помогла?
← Назад в базу знаний Задать вопрос поддержке