Использование подключений Azure OpenAI в выражениях визуализации
Можно добавлять вопросы и ответы Azure OpenAI в модель данных приложения не только с помощью скрипта загрузки, но и выполнять эти операции непосредственно в диаграмме приложения. Данные для одного поля пересылаются между пользователем и службой Azure OpenAI.
Во многих случаях код, используемый для подключения скрипта загрузки, можно переориентировать для использования в диаграмме, но с некоторыми изменениями.
Если конкретный сценарий применения основан на вводе пользователя, можно использовать аналитическое подключение и соответствующий синтаксис серверного расширения в выражении диаграммы, чтобы создавать интерактивные диаграммы для визуализации данных, полученных из конечных точек модели.
Что нужно знать об объемах запросов данных
Рекомендуется использовать подключения Azure OpenAI только в выражениях диаграммы для одной или нескольких строк данных. Не рекомендуется использовать выражения диаграммы для отправки больших объемов данных в службу.
Важно знать, сколько строк отправляется вместе с каждым запросом. Ошибки конфигурации подключения Azure OpenAI в выражении диаграммы могут привести к созданию непреднамеренно больших запросов (например, идентичные строки с одинаковым вопросом из-за неправильного использования модели данных в диаграммы). Чем больше запрос, отправляемый в службу Azure OpenAI, тем больше финансовые расходы на использование Microsoft Azure. Несмотря на то, что запрос ограничен 25 строками для этого коннектора, важно знать об этом обстоятельстве.
Следуйте приведенным ниже рекомендациям, чтобы модерировать и ограничивать размер запросов Azure OpenAI:
-
Используйте подключения Azure OpenAI только в выражении диаграммы Текст и изображение. Крайне нежелательно использовать подключение Azure OpenAI в объекте Таблица, особенно если выражение добавляется в таблицу, в которой уже есть одно или несколько измерений.
-
Если выражение диаграммы связано с моделью данных приложения, используйте оператор if в выражении для вычисления диаграммы, только когда в приложении сделана одна выборка. Это значительно сокращает количество строк в запросах, которые диаграмма отправляет в службу Azure OpenAI.
-
Если подключение Azure OpenAI служит для отправки больших запросов, используйте подключение в скрипте загрузки, а не в выражении диаграммы, чтобы данные предварительно загружались в модель данных.
Быстрые примеры
Здесь приводятся образцы выражений, которые можно использовать в начале работы с коннектором Azure 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.') |
Этот оператор возвращает ответ на один вопрос, введенный в выражение. Примечание к предупреждению
В этом выражении не используется оператор 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 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 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 в модели данных приложения. Отправляется запрос на получение образца ответа из отдела технической поддержки, описывающего общий тип проблем, список которых содержится в поле IssueCategory. Диаграмма обновляется в зависимости от значения, выбранного пользователем. |
Подробные примеры
Примеры, демонстрирующие использование подключения к Azure OpenAI в выражениях диаграммы, приводятся в учебном пособии по коннектору OpenAI. Обратите внимание, что коннектор Azure OpenAI взаимодействует с моделями через платформу Microsoft Azure, а не через платформу OpenAI.
Учебное пособие — использование коннектора аналитики OpenAI в Qlik Cloud
Аналитический коннектор OpenAI – интерактивный пример