Поделиться через


Преобразование и обогащение данных с помощью функций ИИ

Функции искусственного интеллекта Microsoft Fabric позволяют всем бизнес-специалистам (от разработчиков до аналитиков) преобразовывать и обогащать корпоративные данные с помощью генерируемого ИИ.

Функции ИИ используют ведущие в отрасли крупные языковые модели (LLM) для суммирования, классификации, создания текста и т. д. С помощью одной строки кода можно:

  • ai.analyze_sentiment: обнаружение эмоционального состояния входного текста.
  • ai.classify: классифицируйте входной текст в соответствии с метками.
  • ai.embed: создание векторных представлений для входного текста.
  • ai.extract: извлеките определенные типы информации из входного текста (например, расположения или имена).
  • ai.fix_grammar: исправьте орфографию, грамматику и пунктуацию текста на входе.
  • ai.generate_response: создайте ответы на основе собственных инструкций.
  • ai.similarity: сравнивайте значение входного текста с одним текстовым значением или текстом в другом столбце.
  • ai.summarize: получение сводок входного текста.
  • ai.translate: перевод входного текста на другой язык.

Эти функции можно включить в состав рабочих процессов обработки и анализа данных, независимо от того, работаете ли вы с pandas или Spark. Подробной конфигурации и сложного управления инфраструктурой нет. Вам не нужен конкретный технический опыт.

Prerequisites

Note

  • Функции ИИ поддерживаются в среде выполнения Fabric 1.3 и более поздних версий.
  • Если вы не настроите другую модель, функции ИИ по умолчанию поддерживают gpt-4.1-mini. Узнайте больше о тарифах выставления счетов и потребления.
  • Хотя базовая модель может обрабатывать несколько языков, большинство функций ИИ оптимизированы для использования на английском языке текстов".

Модели и поставщики

Функции искусственного интеллекта теперь поддерживают более широкие модели и поставщики за пределами моделей Azure OpenAI по умолчанию. Вы можете настроить функции ИИ для использования:

  • Модели Azure OpenAI
  • Ресурсы Azure AI Foundry (включая модели, такие как Claude и LLaMA)

Выбор модели и поставщика можно настроить с помощью конфигурации функций ИИ. Дополнительные сведения об установке и настройке различных моделей и провайдеров см. в документации по конфигурации pandas и PySpark.

Начало работы с функциями ИИ

Функции ИИ можно использовать с pandas (среды выполнения Python и PySpark) и с PySpark (среда выполнения PySpark). Необходимые шаги установки и импорта для каждого из них описаны в следующем разделе, а затем соответствующие команды.

Производительность и параллелизм

Теперь функции ИИ выполняются с увеличением параллелизма по умолчанию 200, что позволяет ускорить параллельную обработку операций ИИ. Параметры параллелизма можно настроить для каждой рабочей нагрузки, чтобы оптимизировать производительность на основе конкретных требований. Дополнительные сведения о настройке параллелизма и других параметров, связанных с производительностью, см. в документации по конфигурации pandas и PySpark.

Установка зависимостей

  • Pandas (среда выполнения Python)
    • Установка файлов synapseml_internal и synapseml_core в формате whl требуется (команды указаны в следующей ячейке кода).
    • openai Требуется установка пакета (команда, указанная в следующей ячейке кода)
  • Pandas (в среде выполнения PySpark)
    • openai Требуется установка пакета (команда, указанная в следующей ячейке кода)
  • PySpark (среда выполнения PySpark)
    • Установка не требуется
# The pandas AI functions package requires OpenAI version 1.99.5 or later
%pip install -q --force-reinstall openai==1.99.5 2>/dev/null

Импорт обязательных библиотек

Следующая ячейка кода импортирует библиотеку функций ИИ и ее зависимости.

# Required imports
import synapse.ml.aifunc as aifunc
import pandas as pd

Применение функций ИИ

Каждая из следующих функций позволяет вызывать встроенную конечную точку искусственного интеллекта в Fabric для преобразования и обогащения данных с помощью одной строки кода. Функции искусственного интеллекта можно использовать для анализа Pandas DataFrames и Spark DataFrames.

Tip

Узнайте, как настроить конфигурацию функций ИИ.

Расширенная конфигурация: при использовании моделей семейства gpt-5 можно настроить дополнительные параметры, такие как reasoning_effort и verbosity. Дополнительные сведения о настройке этих параметров см. на страницах конфигурации pandas и PySpark .

Определение тональности с помощью ai.analyze_sentiment

Функция ai.analyze_sentiment вызывает ИИ, чтобы определить, является ли эмоциональное состояние, выраженное входным текстом, положительным, отрицательным, смешанным или нейтральным. Если ИИ не может сделать это определение, выходные данные остаются пустыми. Дополнительные инструкции по использованию ai.analyze_sentiment с пандами см. в этой статье. Сведения ai.analyze_sentiment о PySpark см. в этой статье.

Необязательные параметры

Теперь функция ai.analyze_sentiment поддерживает дополнительные необязательные параметры, которые позволяют настроить поведение анализа тональности. Эти параметры обеспечивают больший контроль над обнаружением и отчетом тональности. Дополнительные сведения о доступных параметрах, их описаниях и значениях по умолчанию см. в документации по функциям для pandas и PySpark.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "The cleaning spray permanently stained my beautiful kitchen counter. Never again!",
        "I used this sunscreen on my vacation to Florida, and I didn't get burned at all. Would recommend.",
        "I'm torn about this speaker system. The sound was high quality, though it didn't connect to my roommate's phone.",
        "The umbrella is OK, I guess."
    ], columns=["reviews"])

df["sentiment"] = df["reviews"].ai.analyze_sentiment()
display(df)

Снимок экрана: кадр данных с столбцами

Классификация текста с помощью ai.classify

Функция ai.classify вызывает ИИ для классификации входного текста в соответствии с настраиваемыми метками, которые вы выбрали. Дополнительные сведения об использовании ai.classify с пандами см. в этой статье. Сведения ai.classify о PySpark см. в этой статье.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "This duvet, lovingly hand-crafted from all-natural fabric, is perfect for a good night's sleep.",
        "Tired of friends judging your baking? With these handy-dandy measuring cups, you'll create culinary delights.",
        "Enjoy this *BRAND NEW CAR!* A compact SUV perfect for the professional commuter!"
    ], columns=["descriptions"])

df["category"] = df['descriptions'].ai.classify("kitchen", "bedroom", "garage", "other")
display(df)

Снимок экрана: кадр данных с столбцами descriptions и category. В столбце

Создание векторных встраиваний с помощью ai.embed

Функция ai.embed вызывает ИИ для создания векторных внедрения для входного текста. Векторные внедрения — это числовые представления текста, которые фиксируют семантические значения, что делает их полезными для поиска сходства, извлечения рабочих процессов и других задач машинного обучения. Размерность векторов внедрения зависит от выбранной модели. Дополнительные инструкции по использованию ai.embed с пандами см. в этой статье. Сведения ai.embed о PySpark см. в этой статье.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "This duvet, lovingly hand-crafted from all-natural fabric, is perfect for a good night's sleep.",
        "Tired of friends judging your baking? With these handy-dandy measuring cups, you'll create culinary delights.",
        "Enjoy this *BRAND NEW CAR!* A compact SUV perfect for the professional commuter!"
    ], columns=["descriptions"])
    
df["embed"] = df["descriptions"].ai.embed()
display(df)

Снимок экрана: кадр данных с столбцами

Извлечение сущностей с помощью ai.extract

Функция ai.extract вызывает ИИ для сканирования входного текста и извлечения определенных типов информации, назначенных вами метками (например, расположения или имена). Дополнительные инструкции по использованию ai.extract с пандами см. в этой статье. Сведения ai.extract о PySpark см. в этой статье.

Структурированные метки

Функция ai.extract поддерживает структурированные определения меток с помощью схемы ExtractLabel. Вы можете предоставить метки со структурированными определениями, которые включают не только имя метки, но и сведения о типах и атрибутах. Этот структурированный подход повышает согласованность извлечения и позволяет функции возвращать соответствующие структурированные выходные столбцы. Например, можно указать метки с дополнительными метаданными для более точного руководства процессом извлечения. Подробные сведения о пандах и PySpark см. в подробной документации по использованию структурированных меток.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "MJ Lee lives in Tucson, AZ, and works as a software engineer for Microsoft.",
        "Kris Turner, a nurse at NYU Langone, is a resident of Jersey City, New Jersey."
    ], columns=["descriptions"])

df_entities = df["descriptions"].ai.extract("name", "profession", "city")
display(df_entities)

Снимок экрана: новый кадр данных с столбцами

Исправление грамматики с помощью ai.fix_grammar

Функция ai.fix_grammar вызывает ИИ для исправления орфографии, грамматики и препинания входного текста. Дополнительные инструкции по использованию ai.fix_grammar с пандами см. в этой статье. Сведения ai.fix_grammar о PySpark см. в этой статье.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "There are an error here.",
        "She and me go weigh back. We used to hang out every weeks.",
        "The big picture are right, but you're details is all wrong."
    ], columns=["text"])

df["corrections"] = df["text"].ai.fix_grammar()
display(df)

Снимок экрана: кадр данных с столбцом

Ответ на пользовательские запросы пользователей с помощью ai.generate_response

Функция ai.generate_response вызывает ИИ для создания пользовательского текста на основе собственных инструкций. Дополнительные инструкции по использованию ai.generate_response с пандами см. в этой статье. Сведения ai.generate_response о PySpark см. в этой статье.

Необязательные параметры

Теперь ai.generate_response функция поддерживает response_format параметр, позволяющий запрашивать структурированные выходные данные JSON. Вы можете указать response_format='json' для получения ответов в формате JSON. Кроме того, можно предоставить схему JSON для применения определенной выходной структуры, обеспечивая соответствие созданного ответа ожидаемой фигуре данных. Это особенно полезно, если требуется прогнозируемый, доступный для компьютерного чтения выход функции ИИ. Подробные примеры и шаблоны использования см. в документации по pandas и PySpark.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        ("Scarves"),
        ("Snow pants"),
        ("Ski goggles")
    ], columns=["product"])

df["response"] = df.ai.generate_response("Write a short, punchy email subject line for a winter sale.")
display(df)

Снимок экрана: фрейм данных со столбцами

Вычисление сходства с ai.similarity

Функция ai.similarity сравнивает каждое входное текстовое значение как с одним общим ссылочным текстом, так и с соответствующим значением в другом столбце (в парном режиме). Значения оценки сходства выходных данных относительны, и они могут варьироваться от -1 (противоположных) до 1 (идентичных). Оценка 0 указывает, что значения не связаны в значении. Дополнительные инструкции по использованию ai.similarity с пандами см. в этой статье. Сведения ai.similarity о PySpark см. в этой статье.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([ 
        ("Bill Gates", "Technology"), 
        ("Satya Nadella", "Healthcare"), 
        ("Joan of Arc", "Agriculture") 
    ], columns=["names", "industries"])
    
df["similarity"] = df["names"].ai.similarity(df["industries"])
display(df)

Снимок экрана: кадр данных с столбцами

Суммирование текста с помощью ai.summarize

Функция ai.summarize вызывает ИИ для создания сводок входного текста (либо значений из одного столбца кадра данных, либо значений строк во всех столбцах). Дополнительные инструкции по использованию ai.summarize с пандами см. в этой статье. Сведения ai.summarize о PySpark см. в этой статье.

Настройка сводок с инструкциями

Функция ai.summarize теперь поддерживает instructions параметр, позволяющий управлять тоном, длиной и фокусом созданных сводок. Вы можете предоставить настраиваемые инструкции по созданию сводки, например указание определенного стиля, целевой аудитории или уровня детализации. Если инструкции не указаны, функция использует поведение суммирования по умолчанию. Примеры использования instructions параметра см. в подробной документации по pandas и PySpark.

# This code uses AI. Always review output for mistakes.

df= pd.DataFrame([
        ("Microsoft Teams", "2017",
        """
        The ultimate messaging app for your organization—a workspace for real-time 
        collaboration and communication, meetings, file and app sharing, and even the 
        occasional emoji! All in one place, all in the open, all accessible to everyone.
        """),
        ("Microsoft Fabric", "2023",
        """
        An enterprise-ready, end-to-end analytics platform that unifies data movement, 
        data processing, ingestion, transformation, and report building into a seamless, 
        user-friendly SaaS experience. Transform raw data into actionable insights.
        """)
    ], columns=["product", "release_year", "description"])

df["summaries"] = df["description"].ai.summarize()
display(df)

Снимок экрана, на котором показан фрейм данных. Столбец

Перевод текста с помощью ai.translate

Функция ai.translate вызывает ИИ для перевода входного текста на новый язык. Дополнительные инструкции по использованию ai.translate с пандами см. в этой статье. Сведения ai.translate о PySpark см. в этой статье.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "Hello! How are you doing today?", 
        "Tell me what you'd like to know, and I'll do my best to help.", 
        "The only thing we have to fear is fear itself."
    ], columns=["text"])

df["translations"] = df["text"].ai.translate("spanish")
display(df)

Снимок экрана: кадр данных с столбцами

Просмотрите статистику использования через ai.stats

Функции искусственного интеллекта Fabric предоставляют встроенный способ проверки статистики использования и выполнения для любой созданной ИИ серии или кадра данных. Эти показатели можно получить, вызвав ai.stats на результате, возвращаемом функцией ИИ.

ai.stats возвращает кадр данных со следующими столбцами:

  • num_successful — количество строк, обработанных функцией ИИ.
  • num_exceptions — количество строк, которые столкнулись с исключением во время выполнения. Эти строки представлены как экземпляры aifunc.ExceptionResult.
  • num_unevaluated — количество строк, которые не были обработаны, так как более раннее исключение сделало невозможным продолжить оценку. Эти строки являются экземплярами aifunc.NotEvaluatedResult.
  • num_harmful — количество строк, заблокированных фильтром содержимого Azure OpenAI. Эти строки являются экземплярами aifunc.FilterResult.
  • prompt_tokens — общее количество входных маркеров, используемых для вызова функции ИИ.
  • completion_tokens — общее количество выходных маркеров, созданных моделью.

Tip

Вы можете вызвать ai.stats любой ряд или кадр данных, возвращаемые функцией ИИ. Это поможет отслеживать использование, понимать шаблоны ошибок и отслеживать потребление маркеров.