Аналитический коннектор OpenAI – интерактивный пример
Этот пример позволяет импортировать предварительно настроенное приложение в Qlik Cloud, где можно научиться создавать выражения диаграммы с целью контроля использования данных OpenAI и генерировать ответы по мере того, как пользователи делают выборки в приложении.
Для работы с этим примером требуются базовые знания об аналитических коннекторах в Qlik Cloud. Для разъяснения любых ключевых понятий см. примеры в более ранних учебных пособиях, а также другие документы о коннекторе OpenAI.
В этом примере используется коннектор с конфигурацией OpenAI Chat Completions API (GPT-3.5, GPT-4) — Rows (API Завершения чата OpenAI (GPT-3.5, GPT-4) — строки).
Перед началом работы
Замечания
OpenAI применяет ограничения количества запросов на использование своего API. Это означает, что в зависимости от используемой конфигурации коннектора и модели OpenAI может накладываться ограничение на количество запросов, которое можно отправлять за определенный интервал времени (например, за минуту). По этой причине каждое выражение диаграммы остается закомментированым, пока его не потребуется использовать, таким образом, в конкретный период времени, вероятно, может оцениваться только одно выражение диаграммы. Для получения дополнительной информации см. документацию OpenAI об ограничениях количества запросов.
Ограничения количества запросов
Подготовка
Прежде чем приступить к работе с этим примером, необходимо выполнить следующие действия.
-
Создание учетной записи на платформе OpenAI
-
Получение ключа OpenAI API
-
Включение функции подключения аналитики в Qlik Cloud
-
Создайте отдельное подключение для этого примера (Interactive_Chat_Completions_GPT_3.5_4_Rows)
Для получения полных сведений см.: Начало работы с платформой OpenAI и Создание подключений.
Загрузка и выгрузка приложения
Загрузите пример приложения здесь:
Демонстрационное приложение OpenAI — анализ и обработка жалоб
Можно загрузить приложение в центр активности Аналитика.
Что включено в приложение?
Приложение содержит небольшой встроенный набор данных с комментариями заказчика на веб-сайте для компании, предлагающей различные товары. Мы будем использовать OpenAI для генерирования образцов ответов и анализа серьезности, на основе которых будет выбираться комментарий заказчика в приложении.
Упражнения с выражениями диаграммы:
После загрузки приложения в хаб, откройте его и разрешите редактирование его листов, если это необходимо. Может потребоваться сделать листы частными.
В примерах листов применяется синтаксис серверных расширений для использования аналитических коннекторов. Ссылочные поля выражений диаграммы называются ComplaintText и ProductDescription, и встречаются в модели данных.
Цель этого упражнения — продемонстрировать, как можно использовать операторы if в интерактивном контексте, где диаграмма ссылается на поля в модели данных, для управления тем, как часто должна рассчитываться диаграмма. Это снижает затраты на использование OpenAI, поскольку в таком случае диаграммы рассчитываются, только когда делается одна выборка в одном поле.
Эти примеры подготовлены таким образом, что одновременно может оцениваться только одно выражение диаграммы. Это объясняется тем, что на использование служб OpenAI могут накладываться ограничения по количеству запросов, предотвращающие оценку более одного выражения диаграммы в каждый момент времени.
Пример 1.
Первый лист, Example 1, содержит базовый макет диаграмм с метриками ряда жалоб заказчиков. Исходные данные включают отдельные жалобы заказчиков, а также измерения, такие как тип продукта, к которому относится жалоба, и оценка серьезности по 5-балльной шкале. Предусмотрены объекты диаграммы для отображения выбранной жалобы в таблице и для отображения ответа OpenAI с рекомендациями для отдела обслуживания клиентов по решению проблемы заказчика.
Выполните следующие действия.
-
Откройте первый лист, Example 1.
-
В режиме редактирования расширенных параметров выберите желтую диаграмму с объектом «Текст и изображение» под именем OpenAI Possible Starting Points.
-
На панели свойств в разделе Данные щелкните в разделе Выражение, чтобы открыть редактор выражения.
-
Удалите // из строки запуска выражения. Это раскомментирует выражение, чтобы разрешить его оценку. Теперь выражение должно выглядеть так:
if( count(distinct [ComplaintText]) = 1, endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Interactive_Chat_Completions_GPT_3.5_4_Rows","column":"choices.message.content"}}', 'draft generic starting points for ways a customer can fix an issue reported with '& [ProductDescription]))
-
Выйдите из режима редактирования.
-
В таблице под именем Complaints - Reference Table выберите одно значение ячейки в столбце ComplaintText.
Теперь диаграмма OpenAI рассчитывает ответ на выбранную жалобу.
Сбросьте выборку и попробуйте выбрать другую жалобу. Диаграмма обновится, отобразив ответ OpenAI на новую выборку.
Пример 2.
Второй лист, Example 2, включает диаграммы, похожие на содержимое Example 1. Объект OpenAI теперь настроен для предоставления общего анализа впечатления от комментария, выбранного пользователем. Это дает общие сведения о серьезности жалобы и может помочь в определении приоритета жалобы и подхода к составлению ответа.
Выполните следующие действия.
-
Если это еще не сделано, снова добавьте // в выражение для объекта OpenAI на листе Example 1.
-
Откройте второй лист, Example 2.
-
В режиме редактирования расширенных параметров выберите желтую диаграмму с объектом «Текст и изображение» под именем OpenAI Initial Impression.
-
На панели свойств в разделе Данные щелкните в разделе Выражение, чтобы открыть редактор выражения.
-
Удалите // из строки запуска выражения. Это раскомментирует выражение, чтобы разрешить его оценку. Теперь выражение должно выглядеть так:
if( count(distinct [ComplaintText]) = 1, endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Interactive_Chat_Completions_GPT_3.5_4_Rows","column":"choices.message.content"}}', 'provide a short description of how severe the following customer complaint is: ' & [ComplaintText]))
-
Выйдите из режима редактирования.
-
В таблице под именем Complaints - Reference Table выберите одно значение ячейки в столбце ComplaintText.
Теперь диаграмма OpenAI рассчитывает ответ на выбранную жалобу.
Сбросьте выборку и попробуйте выбрать другую жалобу. Диаграмма обновится, отобразив ответ OpenAI на новую выборку.