Создание навыка ИИ (предварительная версия)
С помощью навыка искусственного интеллекта Microsoft Fabric вы можете создавать диалоговые интерфейсы ИИ, которые отвечают на вопросы о данных, хранящихся в озерах, хранилищах, семантических моделях Power BI и базах данных KQL в Fabric. Ваши данные становятся доступными. Ваши коллеги могут задавать вопросы на простом английском языке и получать ответы на основе данных, даже если они не являются экспертами ИИ или глубоко знакомы с данными.
Внимание
Эта функция доступна в предварительной версии.
Необходимые компоненты
- платный ресурс емкости Fabric F64 или выше
- Включен коммутатор клиента навыков ИИ.
- Включен коммутатор клиента Copilot.
- Включена перекрестная геообработка для ИИ.
- включено межрегиональное хранение для ИИ.
- Склад, lakehouse, семантические модели Power BI и базы данных KQL с данными.
- семантические модели Power BI с помощью коммутатора клиента конечных точек XMLA включены для источников данных семантической модели Power BI.
Поток от начала до конца для создания и использования навыков искусственного интеллекта в Fabric
В этом разделе описаны основные шаги по созданию, проверке и совместному использованию навыка искусственного интеллекта в Fabric, что делает его доступным для использования.
Процесс прост, и вы можете начать тестирование ресурсов навыка искусственного интеллекта в минутах.
Создание нового навыка искусственного интеллекта
Чтобы создать новый навык искусственного интеллекта, сначала перейдите в рабочую область, а затем выберите кнопку + Новый элемент. На вкладке "Все элементы" найдите навык ИИ, чтобы найти соответствующий параметр, как показано на этом снимке экрана:
После выбора вам будет предложено указать имя навыка искусственного интеллекта, как показано на этом снимке экрана:
См. приведенный снимок экрана с визуальным руководством по именовании навыка искусственного интеллекта. После ввода имени перейдите к конфигурации, чтобы выровнять навык ИИ с конкретными требованиями.
Выбор данных
После создания навыка искусственного интеллекта можно добавить до пяти источников данных, включая озера, хранилища, семантические модели Power BI и базы данных KQL в любом сочетании. Например, можно добавить пять семантических моделей Power BI или две семантические модели Power BI, одно озеро и одну базу данных KQL.
При первом создании навыка искусственного интеллекта и предоставлении имени каталог OneLake автоматически отображается, что позволяет добавлять источники данных. Чтобы добавить источник данных, выберите его из каталога, как показано на следующем экране, а затем выберите Добавить. Каждый источник данных должен быть добавлен по отдельности. Например, можно добавить lakehouse, выбрать Добавить, а затем перейти к добавлению другого источника данных. Чтобы отфильтровать типы источников данных, выберите значок фильтра и выберите нужный тип. Вы можете просматривать только источники данных выбранного типа, что упрощает поиск и подключение соответствующих источников для навыка искусственного интеллекта.
После добавления источника данных обозреватель на левой панели страницы навыка искусственного интеллекта заполняется доступными таблицами в каждом выбранном источнике данных, где можно использовать флажки, чтобы сделать таблицы доступными или недоступными для ИИ, как показано на следующем снимке экрана:
Примечание.
Для добавления семантической модели Power BI в качестве источника данных в навык искусственного интеллекта требуется разрешение на чтение и запись.
Для последующего добавления источников данных перейдите к Explorer на левой панели страницы навыка ИИ и выберите + источник данных, как показано на снимке экрана:
Каталог OneLake открывается снова, и вы можете легко добавить дополнительные источники данных по мере необходимости.
Совет
Обязательно используйте описательные имена как для таблиц, так и для столбцов. Таблица с именем SalesData
более значима, чем TableA
, а имена столбцов, например ActiveCustomer
или IsCustomerActive
, более понятны, чем C1
или ActCu
. Описательные имена помогают ИИ создавать более точные и надежные запросы.
Вопросы и ответы
После добавления источников данных и выбора соответствующих таблиц для каждого источника данных можно начать задавать вопросы. Система обрабатывает вопросы, как показано на этом снимке экрана:
Вопросы, аналогичные этим примерам, также должны работать:
- "Что было нашими общими продажами в Калифорнии в 2023 году?"
- Какие 5 продуктов с самыми высокими ценами, и каковы их категории?
- "Какие самые дорогие товары, которые никогда не были проданы?"
Вопросы этих типов подходят, так как система может преобразовать их в структурированные запросы (T-SQL, DAX или KQL), выполнить их для баз данных, а затем возвращать конкретные ответы на основе сохраненных данных.
Тем не менее, такие вещи не входят в рамки рассмотрения:
- "Почему производительность фабрики ниже в 2024 году?"
- "Что является первопричиной нашего всплеска продаж?"
Эти вопросы в настоящее время недоступны, так как для них требуются сложные причины, анализ корреляции или внешние факторы, недоступные непосредственно в базе данных. Навык искусственного интеллекта в настоящее время не выполняет расширенную аналитику, машинное обучение или причинное вывод. Он просто извлекает структурированные данные и обрабатывает их на основе запроса пользователя.
Когда вы задаете вопрос, навык ИИ использует API Azure OpenAI помощника для обработки запроса. Поток работает таким образом:
Доступ к схеме по учетным данным пользователя
Система сначала использует учетные данные пользователя для доступа к схеме источника данных (например, Lakehouse, хранилища, семантической модели PBI или баз данных KQL). Это гарантирует, что система получает сведения о структуре данных, если у пользователя есть разрешение на просмотр.
Создание подсказки
Чтобы интерпретировать вопрос пользователя, система объединяет:
- Запрос пользователя: вопрос естественного языка, предоставленный пользователем.
- Сведения о схеме: метаданные и структурные сведения источника данных, полученные на предыдущем шаге.
- Примеры и инструкции: все стандартные примеры (например, примеры вопросов и ответов) или конкретные инструкции, предоставляемые при настройке навыка искусственного интеллекта. Эти примеры и инструкции помогают уточнить понимание вопроса и направляют ИИ в его взаимодействии с данными.
Вся эта информация используется для создания подсказки. Этот запрос служит входными данными для API помощника Azure OpenAI, который действует как агент, поддерживающий ИИ-способности. Это фактически инструктирует навык ИИ, как обрабатывать запрос и какой тип ответа следует создать.
Вызов инструмента в зависимости от потребностей запроса
Агент анализирует созданный запрос и решает, какой инструмент будет вызываться для получения ответа:
- Естественный язык в SQL (NL2SQL): используется для создания запросов SQL при расположении данных в озерном хранилище или хранилище.
- Естественный язык в DAX (NL2DAX): используется для создания запросов DAX для взаимодействия с семантических моделей в источниках данных Power BI
- Естественный язык к KQL (NL2KQL): используется для создания запросов KQL для запроса данных в базах данных KQL
Выбранное средство создает запрос с использованием схемы, метаданных и контекста, которые предоставляет агент, лежащий в основе навыка ИИ. Затем средство проверяет запрос, чтобы обеспечить надлежащее форматирование и соответствие своим протоколам безопасности и собственным политикам ответственного ИИ (RAI).
Построение ответов
Агент, обеспечивающий работу навыка искусственного интеллекта, выполняет запрос и гарантирует, что ответ структурирован и отформатирован соответствующим образом. Агент часто включает дополнительный контекст, чтобы сделать ответ понятным для пользователя. Наконец, ответ отображается пользователю в интерфейсе беседы, как показано на следующем снимке экрана:
Агент представляет результат и промежуточные шаги, которые навык ИИ принял для получения окончательного ответа. Этот подход повышает прозрачность и позволяет проверять эти шаги при необходимости. Пользователи могут развернуть раскрывающийся список действий, чтобы просмотреть все шаги, которые навык ИИ сделал для получения ответа, как показано на следующем снимке экрана:
Кроме того, навык ИИ предоставляет созданный код, используемый для запроса соответствующего источника данных, предлагая дополнительные сведения о том, как был создан ответ.
Эти запросы предназначены исключительно для запроса данных. Операции, связанные с
- создание данных
- обновления данных
- Удаление данных
- любой тип изменения данных
не разрешено, чтобы защитить целостность ваших данных.
В любой момент можно выбрать кнопку "Очистить чат", чтобы очистить чат, как показано на следующем снимке экрана:
Функция "Очистить чат" удаляет всю историю чата и запускает новый сеанс. После удаления журнала чата его невозможно получить.
Изменение источника данных
Чтобы удалить источник данных, наведите указатель мыши на имя источника данных в обозревателе на левой панели страницы навыка ИИ, пока не появится меню с тремя точками. Выберите три точки, чтобы отобразить параметры, а затем выберите Удалить, чтобы удалить источник данных, как показано на следующем снимке экрана:
Кроме того, если источник данных изменился, можно выбрать Обновить в том же меню, как показано на следующем снимке экрана.
Это обеспечивает, что все обновления источников данных отражаются и корректно отображаются в обозревателе, чтобы способность ИИ была синхронизирована с последними данными.
Конфигурация навыка искусственного интеллекта
Навык искусственного интеллекта предлагает несколько вариантов конфигурации, позволяющих пользователям настраивать поведение навыков ИИ, чтобы лучше соответствовать потребностям вашей организации. Поскольку навык ИИ обрабатывает и представляет данные, эти конфигурации обеспечивают гибкость, которая дает больший контроль над результатами.
Укажите инструкции
Вы можете указать конкретные инструкции по поведению ИИ. Чтобы добавить их, выберите инструкции по ИИ, как показано на следующем снимке экрана:
Откроется область инструкций ИИ, как показано на этом снимке экрана:
Здесь можно написать до 15 000 символов в простом тексте на английском языке, чтобы указать ИИ о том, как обрабатывать запросы.
Например, можно указать точный источник данных, используемый для определенных типов вопросов. Примеры выбора источника данных могут включать направление ИИ на использование
- Семантические модели Power BI для финансовых запросов
- Lakehouse для данных о продажах
- база данных KQL для операционных метрик
Эти инструкции гарантируют, что ИИ создает соответствующие запросы, будь то SQL, DAX или KQL, на основе ваших рекомендаций и контекста вопросов.
Если ресурс ИИ последовательно неправильно интерпретирует определенные слова, акронимы или термины, вы можете предоставить четкие определения в этом разделе, чтобы убедиться, что ИИ правильно понимает и обрабатывает их. Это особенно полезно для терминологии для конкретного домена или уникального бизнес-жаргона.
С помощью этих инструкций и определения терминов вы повышаете способность ИИ предоставлять точные и соответствующие аналитические сведения в полном соответствии с вашей стратегией данных и бизнес-требованиями.
Укажите примеры запросов
Вы можете повысить точность ответов навыков ИИ, предоставляя примеры запросов, адаптированные к каждому источнику данных, например лейкхаусу, складу и базам данных KQL. Этот подход, известный как Few-Shot обучение в генеративном ИИ, помогает направлять навык ИИ в создании ответов, которые лучше соответствуют вашим ожиданиям.
При предоставлении ИИ примерами пар запросов и вопросов он ссылается на эти примеры при ответе на будущие вопросы. Сопоставление новых запросов с наиболее актуальными примерами помогает ИИ включать логику для конкретного бизнеса и эффективно отвечать на часто задаваемые вопросы. Эта функция позволяет точно настроить отдельные источники данных и обеспечивает создание более точных запросов SQL или KQL.
В настоящее время данные семантической модели Power BI не поддерживают добавление примеров пар запросов и вопросов. Однако для поддерживаемых источников данных, таких как lakehouse, хранилище и базы данных KQL, дополнительные примеры могут значительно повысить способность ИИ создавать точные запросы, когда его производительность по умолчанию требует корректировки.
Совет
Разнообразный набор примеров запросов повышает способность навыка ИИ создавать точные и соответствующие запросы SQL/KQL. Чтобы добавить или изменить примеры запросов, нажмите кнопку примеры запросов, чтобы открыть область примеров запросов, как показано на следующем снимке экрана:
Эта область предоставляет параметры для добавления или изменения примеров запросов ко всем поддерживаемым источникам данных, кроме семантических моделей Power BI. Для каждого источника данных можно выбрать добавить или изменить примеры запросов для ввода соответствующих примеров, как показано на следующем снимке экрана:
Примечание.
Навык искусственного интеллекта ссылается только на запросы, содержащие допустимый синтаксис SQL/KQL и соответствующие схеме выбранных таблиц. Навык искусственного интеллекта не использует запросы, которые не завершили проверку. Убедитесь, что все примеры запросов действительны и правильно согласованы со схемой, чтобы навык ИИ эффективно их использовал.
Опубликуйте и поделитесь навыком ИИ
После того как вы протестируете производительность навыка искусственного интеллекта по различным вопросам и подтвердите, что он создает точные запросы SQL, DAX или KQL, вы можете поделиться этим с коллегами. На этом этапе выберите Опубликовать, как показано на снимке экрана ниже:
На этом шаге откроется окно, которое запрашивает описание навыка искусственного интеллекта. Ниже приведено подробное описание того, что делает навык ИИ. Эти сведения информируют коллег о функциональности навыка ИИ и помогают другим системам и оркестраторам ИИ эффективно вызывать этот навык.
После публикации навыка ИИ у вас будут две версии. Одна из версий — это текущая версия черновика, которую можно продолжать уточнять и улучшать. Вторая версия — это опубликованная версия, которую вы можете поделиться своими коллегами, которые хотят запросить навык ИИ, чтобы получить ответы на их вопросы. Вы можете включить отзывы коллег в текущую версию проекта при разработке, чтобы повысить производительность навыка ИИ.