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

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

В этой статье будет показана интеграция Magnolia CMS с OpenAI, чтобы помочь редакторам в написании текстового контента.

Как это работает

  1. Текстовое поле для заполнения текстом, сгенерированным OpenAI

2. Укажите описание текста и вызовите действие Выполнить, чтобы запросить OpenAI для генерации текста.

3. После создания текста проверьте и при необходимости откорректируйте

API OpenAI

OpenAI предоставляет API для выполнения операций, предоставляемых системой ИИ, он общедоступен и требует только регистрации.

Операция API, которую мы используем для генерации текстового содержимого, называется /v1/completions.

Операцию доработки можно вызывать с разными моделями ГПТ-3, ориентированными на разные уровни мощности, подходящие для разных задач — например, text-davinci-003 для получения более качественного, более длительного вывода и более качественного следование инструкции -

  1. Зарегистрироваться в OpenAI

2. Создать секретный ключ для аутентификации запросов к API

3. Используйте операцию /v1/completions OpenAI API для создания текста из заданного описания.

curl --location --request POST 'https://api.openai.com/v1/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer sk-....XDw' \
--data-raw '{
  "model": "text-babbage-001",
  "prompt": "Write a hotel room description based on these characteristics:wifi, television, two beds, jacuzzi, large, balcony",
  "temperature": 0.5,
  "max_tokens": 150,
  "top_p": 1.0,
  "frequency_penalty": 0.0,
  "presence_penalty": 0.0
}'

Магнолия CMS

Интеграция Magnolia CMS с OpenAI осуществляется с помощью этих двух элементов:

  • Клиент к API OpenAI
  • Пользовательское текстовое поле, которое может быть заполнено текстами, сгенерированными OpenAI

Клиент к API OpenAI

Клиент реализует операцию дополнения, выставленную в пути /v1/completions, и отправляет следующие параметры:

  • model, чтобы указать модель, которая будет использоваться для создания текста.
  • prompt, чтобы указать описание текста, который будет создан.
  • max_tokens — максимальное количество токенов/слов, которое будет сгенерировано при завершении.

Запросы к операции /v1/completions допускают большее количество параметров, но в нашем случае они не нужны.

Пользовательское поле

Реализовано пользовательское поле TextAIField, доступное с аннотацией textFieldAI

Пример определения

textAI:
  $type: textFieldAI
  words: 180
  performance: high

Свойства поля

  • слова, чтобы указать количество слов сгенерированного текста.
  • производительность, чтобы указать точность сгенерированного текста. Допустимые значения: наилучшее, высокое, среднее и низкое. Эти значения сопоставляются с моделями OpenAI.

Для получения технических подробностей и использования посетите документацию модуля в GitHub.

Репозиторий GitHub

https://github.com/formentor-studio/magnolia-ai-contents-public