Плагин WordPress на основе ChatGPT API

Поддавшись стадному инстинкту, я начал изучать возможности GPT от OpenAI. Мне не хотелось все время сидеть с ним в чате, поэтому я начал смотреть в сторону api. Согласно самому ChatGPT, его API может использоваться для ряда различных задач, таких как:

  1. Создание чат-бота: Вы можете использовать ChatGPT API для создания чат-бота, который может общаться с пользователями на естественном языке. Это может быть полезно для многих приложений, таких как помощники по поиску информации, заказу еды или билетов, общению с клиентами и многому другому.
  2. Генерация текста: Вы можете использовать ChatGPT API для генерации текста на основе пользовательского ввода. Это может быть полезно для создания новых статей, описаний продуктов, постов в социальных сетях и многого другого.
  3. Автозаполнение: Вы можете использовать ChatGPT API для автоматического заполнения форм и полей на основе пользовательского ввода. Это может быть полезно для ускорения процесса заказа продуктов или обработки запросов.
  4. Обучение модели: Вы можете использовать ChatGPT API для обучения вашей собственной модели на основе вашего набора текстовых данных. Это может быть полезно для создания вашей собственной модели, которая будет специализироваться на конкретных задачах.
  5. Анализ текста: Вы можете использовать ChatGPT API для анализа текста, включая определение настроений, извлечение ключевых слов, распознавание именованных объектов и многое другое. Это может быть полезно для мониторинга социальных сетей, анализа отзывов клиентов и так далее.
  6. Языковые исследования: Вы можете использовать ChatGPT API для изучения языка и создания приложений, которые помогут вам изучать иностранные языки или развивать свои языковые навыки, таких как приложения для изучения иностранных слов и фраз, обучения грамматике и т.д.

Мне кажется, что первые две возможности привлекли большую часть внимания общественности. Спрос растет с каждым днем:

Каждый заинтересован в возможности создавать что-то из ничего.

Однако, на мой взгляд, GPT не подходит для многих задач. Например, у него нет функции проверки фактов, поэтому он может допускать ошибки при выполнении многих вещей, которые, на первый взгляд, кажутся ему способными.

Простая функция перезаписи (например, новостной или исследовательской статьи) не может быть выполнена эффективно. Текст, который он создает, будет логичным, грамматически правильным и так далее, но это не будет пересказом той же информации, которая была в исходном документе. Вместо этого он просто сгенерирует слова, которые, по его мнению, должны быть в этом тексте, и будут располагаться в нем в определенном порядке. Вы заметите это, только проверив исходный и созданный тексты посимвольно. Но в то же время он может написать замечательный астрологический прогноз, и вы не поймете, в чем подвох, потому что вам не с чем будет это сравнить.

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

Среди предлагаемых примеров использования на веб-сайте OpenAI есть «Ключевые слова»:

Extract keywords from a block of text. At a lower temperature it picks keywords from the text. At a higher temperature it will generate related keywords which can be helpful for creating search indexes.

https://platform.openai.com/examples

Также есть пример текста и примеры кода…

Ключевые слова для SEO было бы несколько банально использовать. Я решил сделать теги. Те же, которые вы можете использовать для тегирования статей в WordPress. Удивительно, но я не нашел ничего подобного в каталоге WordPress, хотя уже есть множество плагинов для создания целых статей.

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

Получилось минималистично:

  1. Написание статьи
  2. Нажмите «Сохранить»
  3. Теги автоматически добавляются к статье

На странице настроек отображаются только ключ api, поле для максимального потребления токена за запрос и »температура» креативности. Сам Promt встроен в код.

В зависимости от того, как его сформулировать, результат работы плагина также будет меняться. Независимо от того, что я прошу вас предоставить мне, это всегда должно выдаваться в одном и том же формате (для дальнейшей обработки), поэтому я прошу вас предоставить мне результаты в виде «Дайте мне пронумерованный список».

Тогда это совершенно бесплатно — вы можете запросить выдачу

  • Теги
  • слова
  • фразы
  • хэштеги
  • сущности
  • и др.

Каждый из вариантов определяет, что вы получаете и в какой форме:

  • хэштеги, например, будут начинаться с # и записываться строчными буквами
  • сущности будут выбраны на основе лиц, организаций, мест и т.д., Упомянутых в тексте.
  • вы также можете попросить их использовать наиболее часто встречающиеся слова, такие как длинные или сокращенные, без союзов или предлогов и так далее.

При желании вы можете поиграть с ограничениями на формат элемента списка, длину элемента или всего списка.

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

Дайте мне пронумерованный список до 10 тегов для этого текста

или около того:

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

Мы склеиваем эту строку с текстом статьи и отправляем ее в api.

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

Ну, понятно, что все это хорошо работает только на английском.

Если вас заинтересовало, код доступен на github — https://github.com/pamnard/wordpress/tree/master/wp_taggen