Использование подключений OpenAI в выражениях визуализации
Можно добавлять вопросы и ответы OpenAI в модель данных приложения не только с помощью скрипта загрузки, но и выполнять эти операции непосредственно в диаграмме приложения в режиме анализа. Данные для одного поля пересылаются между пользователем и OpenAI.
Во многих случаях код, используемый для подключения скрипта загрузки, можно переориентировать для использования в диаграмме, но с некоторыми изменениями.
Если конкретный сценарий применения основан на вводе пользователя, можно использовать аналитическое подключение и соответствующий синтаксис серверного расширения в выражении диаграммы, чтобы создавать интерактивные диаграммы для визуализации данных, полученных из конечных точек модели.
Что нужно знать об объемах запросов данных
Рекомендуется использовать подключения OpenAI только в выражениях диаграммы для одной или нескольких строк данных. Не рекомендуется использовать выражения диаграммы для отправки больших объемов данных в OpenAI.
Важно знать, сколько строк отправляется вместе с каждым запросом. Ошибки конфигурации подключения в выражении диаграммы могут привести к созданию непреднамеренно больших запросов (например, идентичные строки с одинаковым вопросом из-за неправильного использования модели данных в диаграммы). Прежде чем взаимодействовать с внешней платформой, необходимо оценить, как поля, используемые при расчете выражения диаграммы, а также с их местом в модели данных влияют на финансовое соглашение с внешним поставщиком и на оплату его услуг. Чем более интенсивно используется внешняя платформа, тем больше могут быть затраты.
Следуйте приведенным ниже рекомендациям, чтобы модерировать и ограничивать размер запросов:
-
Используйте подключение только в выражении диаграммы Текст и изображение. Крайне нежелательно использовать подключение OpenAI в объекте Таблица, особенно если выражение добавляется в таблицу, в которой уже есть одно или несколько измерений.
-
Если выражение диаграммы связано с моделью данных приложения, используйте оператор if в выражении только для вычисления диаграммы, когда в приложении сделана только одна выборка. Это значительно сокращает количество строк в запросах, которые диаграмма будет отправлять в OpenAI.
-
Если подключение OpenAI служит для отправки больших запросов, используйте подключение в скрипте загрузки, а не в выражении диаграммы, чтобы данные предварительно загружались в модель данных.
Создание выражения диаграммы
Выполните следующие действия.
-
При редактировании визуализации щелкните , чтобы открыть редактор выражения.
-
В редакторе выражения введите выражение в соответствующее поле. Выражение необходимо составлять, используя синтаксис серверного расширения.
Быстрые примеры
Здесь приводятся образцы выражений, которые можно использовать в начале работы с коннектором OpenAI. Рассмотрим следующие подробные сведения:
-
Используйте выражения только вместе с объектом Текст и изображение.
-
Рассмотрим добавление оператора if в выражение, чтобы управлять тем, когда должен выполняться перерасчет диаграммы, а также выполнять обновление с учетом выборок пользователя в приложении.
-
Чтобы выражения работали, необходимо заменить значение connectionname и имена полей в соответствии с используемыми подключениями и приложениями.
Для получения дополнительных примеров см. раздел Учебное пособие — использование коннектора аналитики OpenAI в Qlik Cloud.
Конфигурация коннектора | Выражение | Сводка |
---|---|---|
OpenAI Completions API (GPT-3) — Rows (API Завершения OpenAI (GPT-3) — строки) | endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"OpenAI Connection for Rows Completions (GPT-3)","column":"choices.text"}}', 'Translate this text from english to spanish: The sun was rising over the new tomorrow with a tinge of excitement.') |
Этот оператор возвращает ответ OpenAI на один вопрос, введенный в выражение. Примечание к предупреждению
В этом выражении не используется оператор if, и оно не рекомендуется для использования в случае привязки к полю в модели данных. Оно пригодно только для применения в качестве самостоятельного выражения с одной ячейкой ввода, содержащей жестко закодированное значение. |
OpenAI Completions API (GPT-3) — Rows (API Завершения OpenAI (GPT-3) — строки) | if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3","column":"choices.text"}}',vQuestion)) |
Это оператор, который можно использовать в объекте Текст и изображение, связанном с объектом Элемент управления вводом переменной. Расчет диаграммы выполняется только при вводе данных. Когда пользователь вводит данные в объект и нажимает клавишу «Ввод», в диаграмме отображается ответ OpenAI на ввод. Для получения подробных инструкций см. раздел Упражнение. Создание поля ввода текста с использованием переменной. |
OpenAI Chat Completions API (GPT-3.5, GPT-4) — Rows (API Завершения чата OpenAI (GPT-3.5, GPT-4) — строки) | if(GetSelectedCount(BusinessTopic)=1, endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3", "column":"choices.message.content"}}', 'What are people saying about ' & 'BusinessTopic'), 'Please select a single value for BusinessTopic.') | Это сложный оператор if, при использовании которого диаграмма рассчитывается, только если пользователь выбрал одно значение для поля BusinessTopic. Диаграмма обновляется, только если пользователь сделал эту выборку в приложении. В противном случае в диаграмме отображается следующее альтернативное сообщение: Please select a single value for BusinessTopic. |
OpenAI Chat Completions API (GPT-3.5, GPT-4) — Rows (API Завершения чата OpenAI (GPT-3.5, GPT-4) — строки) | if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Rows_3","column":"choices.message.content"}}',vQuestion)) |
Это оператор, который можно использовать в объекте Текст и изображение, связанном с объектом Элемент управления вводом переменной. Расчет диаграммы выполняется только при вводе данных. Когда пользователь вводит данные в объект и нажимает клавишу «Ввод», в диаграмме отображается ответ OpenAI на ввод. Для получения подробных инструкций см. раздел Упражнение. Создание поля ввода текста с использованием переменной. |
OpenAI Chat Completions API (GPT-3.5, GPT-4) — Rows (API Завершения чата OpenAI (GPT-3.5, GPT-4) — строки) | if( count(distinct [IssueCategory]) = 1, endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"My_OpenAI_Connection_Chat_3_5","column":"choices.message.content"}}', 'write me a sample response from a technical support department for a customer complaint about ' & [IssueCategory])) | В данном примере диаграмма рассчитывается, только если выбрано одно уникальное значение в поле IssueCategory в модели данных приложения. Отправляется запрос в OpenAI на получение образца ответа из отдела технической поддержки, описывающего общий тип проблем, список которых содержится в поле IssueCategory. Диаграмма обновляется в зависимости от значения, выбранного пользователем. |
Подробные примеры
Полные примеры того, как создавать выражения визуализации с использованием подключения OpenAI, см. в разделе Учебное пособие — использование коннектора аналитики OpenAI в Qlik Cloud.