PHP: Добавьте ИИ в проект с помощью OpenAI

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

Чтобы использовать веб-API OpenAI, вы можете:

  1. Напрямую делать HTTP-запросы;
  2. Использовать клиент, написанный на PHP, который значительно упростит ваше путешествие.

Вариант 2 — это именно то, что нужно. Благодаря PHP-клиенту OpenAI, написанному Mantas Smilinskas, Nuno Maduro, и Sandro Gehri.

Этот PHP-клиент можно использовать в любом PHP проекте. Независимо от вашего любимого фреймворка или CMS (Symfony, CodeIgniter, CakePHP, WordPress, Magento и т. д.), есть кое-что интересное для вас.

Для Laravel разработчиков доступен адаптер: (openai-php/laravel).

Целью этого руководства будет извлечение неструктурированных данных из данного предложения о работе.

Проявив смелость и настойчивость, вы могли бы, например, создать полностью автоматизированную доску вакансий.

Что такое AI (Artificial Intelligence) / ИИ (Искусственный Интеллект)

Искусственный интеллект (или сокращённо ИИ/AI) предполагает использование компьютеров для выполнения действий, для выполнения которых обычно требуется человеческий интеллект.

Это подразумевает создание алгоритмов (или наборов правил) для сортировки, изучения и прогнозирования данных.

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

Что такое OpenAI

OpenAI — исследовательская компания, специализирующаяся на искусственном интеллекте и машинном обучении. OpenAI основали несколько человек, в том числе Jack Hughes (один из соучредителей Akamai Technologies) и Elon Musk (основатель Tesla, SpaceX и ряда других стартапов). Цель OpenAI — развивать цифровой интеллект таким образом, чтобы это, скорее всего, принесло пользу человечеству в целом.

Они упрощают использование GPT-3 в наших проектах. Я покажу вам как это сделать.

OpenAI API

API OpenAI можно использовать для работы с моделями GPT-3 для задач, связанных с обработкой и генерацией естественного языка (более чем на 26 различных языках), а также с пониманием и генерацией кода.

У каждой модели есть своя специфика и цена. Да, OpenAI не бесплатный!

Цена на модели OpenAI

Во-первых, вы должны знать, что попробовать можно бесплатно (с кредитом в 18 долларов) и довольно дёшево после этого.

МодельТренировкаИспользование
Ada$0.0004 / 1K tokens$0.0016 / 1K tokens
Babbage$0.0006 / 1K tokens$0.0024 / 1K tokens
Curie$0.0020 / 1K tokens$0.0120 / 1K tokens
Davinci$0.0200 / 1K tokens$0.1200 / 1K tokens

1K токенов ~750 слов (подробнее о токенах)

Рекомендую освоиться, поиграть с GPT-3, используя игровую площадку OpenAI

Создайте учётную запись, повеселитесь на игровой площадке, посмотрите, как работают разные модели, и возвращайтесь для следующего шага!

Как использовать PHP-клиент OpenAI (openai-php/client)

Лучший способ изучения — создание.

Когда я начал играть с OpenAI, я попытался создать автоматизированный агрегатор вакансий на основе ИИ. В этом руководстве мы создадим его базовую версию, в которой извлечём неструктурированные данные из данного предложения о работе.

Установка

Для начала, создадим минимальный PHP-проект:

# Create a directory.
mkdir openai-test

# Go into the directory.
cd openai-test

# Create an empty file.
touch index.php

Далее, установим OpenAI клиент:

composer require openai-php/client

Затем откройте проект в своём любимом редакторе кода и вставьте этот фрагмент:

<?php

require 'vendor/autoload.php';

$client = OpenAI::client('YOUR_API_KEY');

Ключ API можно сгенерировать здесь…

Использование

  1. Нужно скопировать текст из предложений о работе. Неважно какой. (В первоначальном проекте за меня это делал краулер, но нам нужно сделать это руководство как можно более простым.)
  2. Даём инструкцию модели GPT-3: Извлеки требования к этому предложению о работе в виде списка.
  3. Затем вызываем REST API, используя PHP.
$prompt = <<<TEXT
Extract the requirements for this job offer as a list.

"We are seeking a PHP web developer to join our team.
The ideal candidate will have experience with
PHP, MySQL, HTML, CSS, and JavaScript.
They will be responsible for developing
and managing web applications and working
with a team of developers to create
high-quality and innovative software.
The salary for this position is negotiable
and will be based on experience."
TEXT;


$result = $client->completions()->create([
'model' => 'text-davinci-002', // Самый дорогой, но и лучший.
'prompt' => $prompt,
'max_tokens' => 70, // Токены, в основном слова.
]);

echo $result['choices'][0]['text'];

Запускаем код и получаем результат:

- PHP
- MySQL
- HTML
- CSS
- JavaScript

Но вы можете задавать любые вопросы, например Извлеки зарплату из этого предложения о работе. Вот ещё один пример:

$prompt = <<<TEXT
Extract the salary from this job offer.

"We are seeking a PHP web developer to join our team.
The ideal candidate will have experience with
PHP, MySQL, HTML, CSS, and JavaScript.
They will be responsible for developing
and managing web applications and working
with a team of developers to create
high-quality and innovative software.
The salary for this position is negotiable
and will be based on experience."
TEXT;


$result = $client->completions()->create([
'model' => 'text-davinci-002',
'prompt' => $prompt,
'max_tokens' => 70, // Токены, в основном слова.
]);

ИИ даст вам ответ:

The salary for this position is negotiable and will be based on experience.
Заработная плата на этой должности обсуждается и будет зависеть от опыта.

А теперь представьте, что вы могли бы сделать.

И такие ленивые люди, как я, знают, что это лучшие проекты!

Как использовать обёртку OpenAI Laravel (openai-php/laravel)

Обёртка OpenAI Laravel — это пакет, созданный, чтобы помочь разработчикам Laravel упростить начало работы с OpenAI.

Установка

Установите пакет через Composer:

composer require openai-php/laravel

Использование

Во-первых, убедитесь, что вы сгенерировали свой API ключ.

Затем опубликуйте файл конфигурации:

php artisan vendor:publish --provider="OpenAI\Laravel\ServiceProvider"

Добавьте сгенерированный API ключ в .env файл:

OPENAI_API_KEY=your-api-key

Фасад делает начало работы очень удобным:

OpenAI::completions()->create([
'model' => 'text-davinci-002',
'prompt' => 'What is the meaning of life?',
])

Как видите, есть отличия от ванильного PHP-клиента:

  1. Пропускаем создание экземпляра клиента OpenAI.
  2. Вызываем Фасад вместо только что созданного объекта.

Заключение

GPT-3 является основой для множества замечательных продуктов, таких как Copy.ai, Jasper, Tweet Hunter, What The Diff и множества других.

Вас ограничивает только ваше воображение. Надеюсь, вы создадите что-то уникальное благодаря силе ИИ!

Дополнительны материалы

Дополнительные материалы

Предыдущая Статья

SOP: Что такое Same-origin policy

Следующая Статья

Laravel: Классы Response