Alexander Mirvis

Кулинарная книга OpenAI

За пределами ChatGPT: секретные и удивительно мощные вещи, которые можно создать с помощью OpenAI API

Когда большинство людей думают об OpenAI API, они представляют текстовое поле, в котором кто-то вводит вопрос, а искусственный интеллект отправляет ответ. Технически это верно, но лишь поверхностно отражает то, на что API действительно способен.

Я использую OpenAI иначе на сайтах AlexanderMirvis.com и BrooklynNotaryNinjas.com. Вместо того чтобы воспринимать искусственный интеллект как отдельного чат-бота, сидящего в углу сайта, я могу сделать его частью самого программного обеспечения. OpenAI может проверять веб-страницы перед публикацией, генерировать метаданные, анализировать загруженные документы, помогать с медицинскими и юридическими исследованиями, обеспечивать работу диалогов со службой поддержки, автоматизировать повторяющиеся задачи, отслеживать состояние серверов, анализировать журналы кибербезопасности, расшифровывать телефонные звонки, генерировать устные ответы, искать в частных коллекциях документов и взаимодействовать с другими частями моих приложений через контролируемые функции.

Настоящий секрет заключается в понимании того, что OpenAI API не обязательно должен быть самим приложением. Он может быть интеллектом внутри приложения.

Традиционное PHP-приложение может содержать такую логику:

if ($documentType === 'affidavit') {
    // Do something
}

Приложение с поддержкой ИИ может пойти гораздо дальше. Я могу передать OpenAI загруженный документ и попросить его определить тип документа, извлечь важные даты, распознать участвующих лиц, кратко изложить произошедшее, выявить недостающую информацию и вернуть всё в виде структурированных данных, которые PHP сможет обработать.

Это превращает OpenAI из генератора текста в нечто гораздо более похожее на интеллектуальный программный компонент.

Создание одной центральной функции OpenAI

Для PHP-приложений я предпочитаю иметь одну центральную серверную функцию, которая взаимодействует с OpenAI API. Остальная часть сайта затем может вызывать эту функцию всякий раз, когда требуется искусственный интеллект.

Ключ API всегда должен оставаться на сервере. Его никогда не следует помещать в JavaScript, который отправляется в браузер посетителя.

<?php

function openaiResponse(array $payload): array
{
    $apiKey = getenv('OPENAI_API_KEY');

    if (!$apiKey) {
        throw new RuntimeException('OPENAI_API_KEY is not configured.');
    }

    $ch = curl_init('https://api.openai.com/v1/responses');

    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => [
            'Authorization: Bearer ' . $apiKey,
            'Content-Type: application/json'
        ],
        CURLOPT_POSTFIELDS => json_encode($payload),
        CURLOPT_TIMEOUT => 120
    ]);

    $raw = curl_exec($ch);

    if ($raw === false) {
        throw new RuntimeException(curl_error($ch));
    }

    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    curl_close($ch);

    $data = json_decode($raw, true);

    if ($status >= 400) {
        throw new RuntimeException(
            $data['error']['message'] ?? 'OpenAI request failed.'
        );
    }

    return $data;
}

Базовый запрос может выглядеть так:

$response = openaiResponse([
    'model' => 'gpt-5',
    'input' => 'Explain what a New York notarial acknowledgment is.'
]);

echo $response['output'][0]['content'][0]['text'] ?? '';

Точную модель можно менять в зависимости от задачи, желаемой скорости, требований к рассуждению и стоимости. Важное архитектурное решение заключается в том, что всё проходит через мой сервер. Браузер взаимодействует с моим PHP-приложением, приложение решает, что разрешено, и только после этого сервер связывается с OpenAI.

Это даёт мне контроль над аутентификацией, ограничениями частоты запросов, безопасностью, журналированием, разрешениями, расходами и тем, к какой именно информации разрешён доступ модели.

Использование OpenAI для создания заголовков и метаданных и анализа каждой страницы

Одна из наиболее полезных интеграций OpenAI на AlexanderMirvis.com — это автоматический анализ контента и SEO. Вместо того чтобы каждый раз при публикации чего-либо вручную писать тег title, метаописание, список ключевых слов и поисковое описание, я могу поручить OpenAI изучить саму статью и автоматически предложить их.

Важная особенность заключается в том, что я не обязательно хочу, чтобы OpenAI отвечал мне в разговорной форме. Я хочу, чтобы моя CMS получала данные, которые можно напрямую сохранить в базе данных.

Например, я могу запросить ответ, выглядящий так:

{
    "title": "Suggested Page Title",
    "meta_description": "Suggested description",
    "keywords": [
        "keyword one",
        "keyword two"
    ],
    "seo_score": 84,
    "problems": [
        "Meta description is too vague"
    ],
    "recommendations": [
        "Add a stronger introductory paragraph"
    ]
}