Compartir a través de


Transformación y enriquecimiento de datos con funciones de IA

Microsoft Fabric AI Functions permite a todos los profesionales empresariales (de desarrolladores a analistas) transformar y enriquecer sus datos empresariales mediante inteligencia artificial generativa.

Las funciones de IA usan modelos de lenguaje grandes (LLM) líderes del sector para resumir, clasificar, generar texto, etc. Con una sola línea de código, puede:

  • ai.analyze_sentiment: detecta el estado emocional del texto de entrada.
  • ai.classify: clasifica el texto de entrada según las etiquetas.
  • ai.embed: genere incrustaciones de vectores para el texto de entrada.
  • ai.extract: extraiga tipos específicos de información del texto de entrada (por ejemplo, ubicaciones o nombres).
  • ai.fix_grammar: corrija la ortografía, la gramática y la puntuación del texto de entrada.
  • ai.generate_response: genera respuestas basadas en tus propias instrucciones.
  • ai.similarity: compare el significado del texto de entrada con un solo valor de texto o con texto en otra columna.
  • ai.summarize: obtiene resúmenes de texto de entrada.
  • ai.translate: traduzca texto de entrada en otro idioma.

Puede incorporar estas funciones como parte de los flujos de trabajo de ciencia de datos e ingeniería de datos, tanto si está trabajando con Pandas como con Spark. No hay ninguna configuración detallada y ninguna administración compleja de la infraestructura. No necesita ninguna experiencia técnica específica.

Prerequisites

Note

  • Las funciones de IA se admiten en Fabric Runtime 1.3 y versiones posteriores.
  • A menos que configure un modelo diferente, las funciones de IA de forma predeterminada son gpt-4.1-mini. Obtenga más información sobre las tarifas de facturación y consumo.
  • Aunque el modelo subyacente puede controlar varios lenguajes, la mayoría de las funciones de IA están optimizadas para su uso en textos en inglés".

Modelos y proveedores

Las funciones de IA ahora admiten modelos y proveedores más amplios más allá de los modelos predeterminados de Azure OpenAI. Puede configurar las funciones de inteligencia artificial para que usen:

  • Modelos de Azure OpenAI
  • Recursos de Azure AI Foundry (incluidos modelos como Claude y LLaMA)

La selección de modelos y proveedores se puede configurar a través de la configuración de las funciones de IA. Para más información sobre cómo configurar y configurar diferentes modelos y proveedores, consulte la documentación de configuración de pandas y PySpark.

Introducción a las funciones de IA

Las funciones de IA se pueden usar con pandas (entornos de ejecución de Python y PySpark) y con PySpark (entorno de ejecución de PySpark). Los pasos de instalación e importación necesarios para cada uno se describen en la sección siguiente, seguido de los comandos correspondientes.

Rendimiento y simultaneidad

Las funciones de inteligencia artificial ahora se ejecutan con una mayor simultaneidad predeterminada de 200, lo que permite un procesamiento paralelo más rápido de las operaciones de IA. Puede ajustar la configuración de simultaneidad por carga de trabajo para optimizar el rendimiento en función de sus requisitos específicos. Para obtener más información sobre cómo configurar la simultaneidad y otras opciones relacionadas con el rendimiento, consulte la documentación de configuración de Pandas y PySpark.

Instalación de dependencias

  • Pandas (tiempo de ejecución de Python)
    • synapseml_internal y synapseml_core instalación de archivos whl necesaria (comandos proporcionados en la siguiente celda de código)
    • openai se requiere la instalación del paquete (comando proporcionado en la siguiente celda de código)
  • Pandas (entorno de ejecución de PySpark)
    • openai se requiere la instalación del paquete (comando proporcionado en la siguiente celda de código)
  • PySpark (entorno de ejecución de PySpark)
    • No se necesita instalación
# 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

Importación de bibliotecas necesarias

La celda de código siguiente importa la biblioteca de funciones de IA y sus dependencias.

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

Aplicación de funciones de IA

Cada una de las siguientes funciones permite invocar el punto de conexión de IA integrado en Fabric para transformar y enriquecer los datos con una sola línea de código. Puede usar funciones de inteligencia artificial para analizar DataFrames de Pandas o DataFrames de Spark.

Tip

Aprenda a personalizar la configuración de las funciones de IA.

Configuración avanzada: al usar modelos de familia gpt-5, puede configurar opciones avanzadas como reasoning_effort y verbosity. Consulte las páginas de configuración de Pandas y PySpark para obtener más información sobre cómo establecer estas opciones.

Detección de opiniones con ai.analyze_sentiment

La ai.analyze_sentiment función invoca a la inteligencia artificial para identificar si el estado emocional expresado por texto de entrada es positivo, negativo, mixto o neutro. Si la inteligencia artificial no puede realizar esta determinación, la salida se deja en blanco. Para obtener instrucciones más detalladas sobre el uso de ai.analyze_sentiment con pandas, consulte este artículo. Para usar ai.analyze_sentiment con PySpark, consulte este artículo.

Parámetros opcionales

La ai.analyze_sentiment función ahora admite parámetros opcionales adicionales que permiten personalizar el comportamiento del análisis de sentimiento. Estos parámetros proporcionan más control sobre cómo se detecta y notifica la opinión. Para más información sobre los parámetros disponibles, sus descripciones y valores predeterminados, consulte la documentación específica de la función para pandas y 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)

Captura de pantalla de un DataFrame con las columnas

Clasificar texto con ai.classify

La ai.classify función invoca la inteligencia artificial para clasificar el texto de entrada según las etiquetas personalizadas que elija. Para obtener más información sobre el uso de ai.classify con pandas, vaya a este artículo. Para usar ai.classify con PySpark, consulte este artículo.

# 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)

Captura de pantalla de una trama de datos con columnas

Generación de incrustaciones de vectores con ai.embed

La función ai.embed invoca la IA para generar embeddings vectoriales del texto de entrada. Las inserciones vectoriales son representaciones numéricas de texto que capturan significado semántico, lo que hace que sean útiles para la búsqueda de similitud, los flujos de trabajo de recuperación y otras tareas de aprendizaje automático. La dimensionalidad de los vectores de inserción depende del modelo seleccionado. Para obtener instrucciones más detalladas sobre el uso de ai.embed con pandas, consulte este artículo. Para usar ai.embed con PySpark, consulte este artículo.

# 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)

Captura de pantalla de una trama de datos con columnas

Extracción de entidades con ai.extract

La ai.extract función invoca la inteligencia artificial para examinar el texto de entrada y extraer tipos específicos de información designados por etiquetas que elija (por ejemplo, ubicaciones o nombres). Para obtener instrucciones más detalladas sobre el uso de ai.extract con pandas, consulte este artículo. Para usar ai.extract con PySpark, consulte este artículo.

Etiquetas estructuradas

La ai.extract función admite definiciones de etiquetas estructuradas mediante el esquema ExtractLabel. Puede proporcionar etiquetas con definiciones estructuradas que incluyan no solo el nombre de la etiqueta, sino también la información de tipos y los atributos. Este enfoque estructurado mejora la coherencia de extracción y permite que la función devuelva columnas de salida estructuradas correspondientes. Por ejemplo, puede especificar etiquetas con metadatos adicionales para guiar el proceso de extracción de forma más precisa. Consulte la documentación detallada de Pandas y PySpark para obtener ejemplos de uso de etiquetas estructuradas.

# 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)

Captura de pantalla que muestra una nueva trama de datos con las columnas

Corrección de la gramática con ai.fix_grammar

La función ai.fix_grammar invoca a la IA para corregir errores de ortografía, gramática y puntuación del texto de entrada. Para obtener instrucciones más detalladas sobre el uso de ai.fix_grammar con pandas, consulte este artículo. Para usar ai.fix_grammar con PySpark, consulte este artículo.

# 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)

Captura de pantalla que muestra un marco de datos con una columna

Responder a las solicitudes de usuario personalizadas con ai.generate_response

La ai.generate_response función invoca la inteligencia artificial para generar texto personalizado en función de sus propias instrucciones. Para obtener instrucciones más detalladas sobre el uso de ai.generate_response con pandas, consulte este artículo. Para usar ai.generate_response con PySpark, consulte este artículo.

Parámetros opcionales

La ai.generate_response función ahora admite un response_format parámetro que permite solicitar una salida JSON estructurada. Puede especificar response_format='json' que reciba respuestas en formato JSON. Además, puede proporcionar un esquema JSON para aplicar una estructura de salida específica, lo que garantiza que la respuesta generada se ajusta a la forma de datos esperada. Esto es especialmente útil cuando se necesita una salida predecible y legible por máquina de la función de IA. Para obtener ejemplos detallados y patrones de uso, consulte la documentación de Pandas y 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)

Captura de pantalla que muestra una trama de datos con columnas

Calcular la similitud con ai.similarity

La ai.similarity función compara cada valor de texto de entrada con un texto de referencia común o con el valor correspondiente en otra columna (modo en pares). Los valores de puntuación de similitud de salida son relativos y pueden oscilar entre -1 (opuestos) y 1 (idénticos). Una puntuación de 0 indica que los valores no están relacionados en el significado. Para obtener instrucciones más detalladas sobre el uso de ai.similarity con pandas, consulte este artículo. Para usar ai.similarity con PySpark, consulte este artículo.

# 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)

Captura de pantalla de un marco de datos con columnas

Resumir texto con ai.summarize

ai.summarize La función invoca IA para generar resúmenes de texto de entrada (ya sea de los valores de una sola columna de un DataFrame o de los valores de fila en todas las columnas). Para obtener instrucciones más detalladas sobre el uso de ai.summarize con pandas, consulte este artículo. Para usar ai.summarize con PySpark, consulte este artículo.

Personalización de resúmenes con instrucciones

La ai.summarize función ahora admite un instructions parámetro que permite dirigir el tono, la longitud y el foco de los resúmenes generados. Puede proporcionar instrucciones personalizadas para guiar cómo se debe crear el resumen, como especificar un estilo determinado, una audiencia de destino o un nivel de detalle. Cuando no se proporcionan instrucciones, la función usa el comportamiento de resumen predeterminado. Para obtener ejemplos de uso del instructions parámetro , consulte la documentación detallada de Pandas y 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)

Captura de pantalla que muestra una trama de datos. La columna

Traducción de texto con ai.translate

La función ai.translate invoca IA para traducir texto de entrada a un nuevo idioma que elija. Para obtener instrucciones más detalladas sobre el uso de ai.translate con pandas, consulte este artículo. Para usar ai.translate con PySpark, consulte este artículo.

# 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)

Captura de pantalla de una trama de datos con columnas

Visualización de estadísticas de uso con ai.stats

Las funciones de FABRIC AI proporcionan una manera integrada de inspeccionar las estadísticas de uso y ejecución de cualquier serie o dataframe generada por IA. Puede acceder a estas métricas llamando al resultado ai.stats devuelto por una función de IA.

ai.stats devuelve un DataFrame con las columnas siguientes:

  • num_successful: número de filas procesadas correctamente por la función de IA.
  • num_exceptions: número de filas que encontraron una excepción durante la ejecución. Estas filas se representan como instancias de aifunc.ExceptionResult.
  • num_unevaluated: número de filas que no se procesaron porque una excepción anterior hizo imposible continuar la evaluación. Estas filas son instancias de aifunc.NotEvaluatedResult.
  • num_harmful: número de filas bloqueadas por el filtro de contenido de Azure OpenAI. Estas filas son instancias de aifunc.FilterResult.
  • prompt_tokens: número total de tokens de entrada usados para la llamada a la función de IA.
  • completion_tokens: número total de tokens de salida generados por el modelo.

Tip

Puede llamar a ai.stats en cualquier serie o dataframe devuelto por una función de IA. Esto puede ayudarle a realizar un seguimiento del uso, comprender los patrones de error y supervisar el consumo de tokens.