Привет, Хабр! Сегодня я хочу рассказать о нашем новом чат-боте ViTalk GPT. Он использует ИИ для генерации запросов на языке DAX, которые можно использовать в Visiology 3, причем учитывает не только особенности нашей платформы, но и контекст ваших запросов. О том как это работает, почему ViTalk GPT помогает переносить экспертизу не только из Power BI, в чем секрет создания “готовых” скриптов, которые можно просто вставлять в нужное поле в Visiology 3, и зачем вообще это нужно — читайте под катом.
![](https://habrastorage.org/getpro/habr/upload_files/67d/cb1/ccd/67dcb1ccde32c5856903ef4c70b0541d.png)
Если вы читаете наш блог, то наверняка уже знаете, что на платформе Visiology 3 мы постепенно расширяем поддержку самого популярного в мире аналитического языка DAX (он же используется в Microsoft Power BI). Благодаря этой особенности BI-система предлагает больше гибкости в работе с данными — их трансформация и обработка становится возможной не только на базе хранилища, но и на уровне движка, а экспертизу из Power BI можно просто перенести в Visiology 3. Быстро и удобно. Кстати, я уже показывал, как несложный дашборд может “переехать” за 13 минут.
Но есть несколько “но”, которые нужно учитывать:
Несмотря на абсолютно такой же синтаксис DAX, в Visiology поддерживается не весь набор DAX-функций из Power BI. Реально востребованные функциимы добавим в ближайшие месяцы, но некоторые команды, которые используются крайне редко, поддерживаться не будут. Учитывая, что в Power BI одну и ту же задачу можно решить на DAXе различными способами, это не является проблемой, но может возникнуть задача адаптировать запрос под Visiology.
Некоторые компании мигрируют на Visiology не с Power BI, а с других BI-платформ. Там тоже могут быть мета-языки, и возникает вопрос — как перенести на DAX экспертизу, например, из Qlik Sense?
Наконец, не все аналитики вообще знакомы с DAX как таковым. И хотя язык освоить не сложно (по нему имеется огромное количество обучающих туториалов и материалов), нередко возникает задача написать запрос на DAX вообще без знания языка.
ViTalk GPT — способ решить все три проблемы
И вот тут полезными оказываются новейшие наработки в области искусственного интеллекта. В теории, если ИИ из семейства GPT взять и скормить все записи по DAX из интернета, а также информацию о поддержке DAX в текущих версиях Visiology, он должен начать вполне прилично готовить запросы для работы именно с вашими данными. На практике — получился как раз ViTalk GPT, который на сегодня демонстрирует стремительный рост числа пользователей.
![](https://habrastorage.org/getpro/habr/upload_files/708/4a8/d5a/7084a8d5a35e843def282cb96685fd1f.png)
Вот так выглядит интерфейс чат-бота. Вы можете сами найти его в Telegram по имени @vitalk_gpt_bot, и начать работу с системой.
![](https://habrastorage.org/getpro/habr/upload_files/8a3/91b/ce2/8a391bce248e456f850a9fb350220918.png)
Да, ViTalk GPT не шутит. Не нужно загружать в него конфиденциальные данные. :) В общем-то это и ни к чему. Бот помогает с формированием запросов, и максимум что стоит указывать ему — это названия таблиц, страниц, переменных.
Но давайте по порядку.
![](https://habrastorage.org/getpro/habr/upload_files/f21/b57/da8/f21b57da8bca41963e8126aa7e4bbf63.png)
Чтобы приступить к работе с ViTalk GPT мы выбираем режим командой /mode.
![](https://habrastorage.org/getpro/habr/upload_files/024/aa6/b48/024aa6b4869b8709cec9c14b003367d9.png)
Нам нужен Visiology DAX. Он будет отличаться от Power BI DAX просто потому, что некоторые функциииз Power BI не поддерживаются в Visiology. Но как вы сейчас увидите, это вообще не является проблемой для пользователей.
![](https://habrastorage.org/getpro/habr/upload_files/c4a/084/f11/c4a084f11ddba554c184e899c712ae81.png)
Давайте попросим ViTalk GPT показать долю исполненных вчера поручений.
![](https://habrastorage.org/getpro/habr/upload_files/56d/ffc/56b/56dffc56b5f2f10f7ddd2fd2815132fd.png)
ViTalk GPT предлагает нам вот такой код. Его волне можно использовать. Но, например, если мы хотим добавить контекста, не нужно снова спрашивать ViTalk GPT —, можно дополнить запрос
![](https://habrastorage.org/getpro/habr/upload_files/c3e/1a1/d13/c3e1a1d133edce6a175610a69ded0be6.png)
Например. Мы хотим обойтись без какой-либо функции…почему бы и нет?
![](https://habrastorage.org/getpro/habr/upload_files/a1c/93a/96c/a1c93a96c9954672b5cd54b6f34e4c38.png)
ViTalk GPT предлагает вариант без ADD_COLUMNS. И, обратите внимание, сразу же учитывает, что оператор DIVIDE пока не поддерживается Visiology (кстати, в ближайшем релизе уже будет поддерживаться). И готовый код уже учитывает этот фактор.
А как же другие платформы
Учитывая обилие информации по наиболее популярным BI-платформам в интернете, а также референсов их запросов, ViTalk GPT может предложить переложение любого такого запроса на DAX (разумеется с учетом текущих возможностей Visiology 3).
Допустим, нам нужно переехать из Qlik. Спросим ViTalk GPT:
![](https://habrastorage.org/getpro/habr/upload_files/557/809/29f/55780929f598cb43fb33781eb74278da.png)
И получаем вполне приличный ответ, который можно использовать. Обратите внимание, опять же учитывается текущий уровень поддержки DAX в Visiology 3.
![](https://habrastorage.org/getpro/habr/upload_files/9d3/e55/06b/9d3e5506b63be86b321fbc1bbcb12404.png)
Для вашей структуры данных
Рассмотренные выше примеры придется еще адаптировать для своей задачи. Но этого можно избежать, если отдать ViTalk GPT сразу всю информацию о структуре данных и параметрах вашей задачи.
![](https://habrastorage.org/getpro/habr/upload_files/d22/5a3/57e/d225a357e655ce67013fbccc9ce19da8.png)
В качестве ответа мы получаем скрипт, который уже учитывает названия таблиц в вашей модели данных, и его (после небольшой проверки) можно просто вставлять в Visiology 3.
![](https://habrastorage.org/getpro/habr/upload_files/a9c/7eb/99c/a9c7eb99c7c552f4fd3231c793b471ea.png)
У “Виталика” — большое будущее!
Хотя наш чат-бот еще находится в стадии бета-тестирования (то есть его результаты надо на всякий случай перепроверять), он уже доказал свою полезность. По первым оценкам аналитики экономят порядка 20% времени на формулирование запросов. ViTalk GPT может предложить идеи конвертации запросов с других языков, а для тех, кто вообще не знаком с DAX — это отличный способ познакомиться и подготовить скрипт вообще без чтения обучающих материалов. Конечно, прочитать их придется, но если прямо сейчас времени нет, с ViTalk GPT появилась возможность учиться на примерах.
Как итог, работать с Visiology стало еще проще, порог входа стал еще ниже, а результаты в виде дашбордов и отчетов можно получить еще быстрее — и все благодаря ИИ.
Кстати, ViTalk GPT помогает не только с DAX, но и со скриптами Python, которые можно использовать в ViXtract для извлечения данных. Но об этом мы подробнее расскажем в следующем посте.