Compartir a través de


Uso de funciones de IA (versión preliminar)

Aplicable a:✅ Punto final de análisis SQL y Almacén en Microsoft Fabric

Importante

Esta característica se encuentra en versión preliminar.

Data Warehouse de Fabric y el endpoint de análisis de SQL proporcionan funciones de inteligencia artificial integradas que puede usar para analizar, clasificar, resumir y transformar texto directamente en las consultas SQL. Con estas funciones, puede realizar un procesamiento de texto avanzado sin salir del entorno de datos. En este tutorial, aprenderá a usar funciones de inteligencia artificial para transformar texto.

Function propósito Ejemplo de sintaxis
ai_analyze_sentiment Detección de sentimiento del texto de entrada ai_analyze_sentiment(<text>)
ai_classify Clasificación de texto basado en etiquetas proporcionadas ai_classify(<text>, <class1>, <class2>, ...)
ai_extract Extracción de entidades como propiedades JSON ai_extract(<text>, <class1>, <class2>, ...)
ai_summarize Resumen de texto ai_summarize(<text>)
ai_generate_response Generar respuesta basada en la solicitud ai_generate_response(<prompt>, <data>)
ai_translate Traducción del texto de entrada al idioma de destino especificado ai_translate(<text>, <lang>)
ai_fix_grammar Corrección de la gramática en el texto ai_fix_grammar(<text>)

Estas funciones llaman a api de IA externas para procesar texto, lo que puede afectar al rendimiento de las consultas. Para optimizar la eficacia, evite aplicar transformaciones de texto repetitivas dentro de SELECT las consultas del mismo conjunto de datos. En su lugar, precompute y materialice los resultados de las funciones de IA como columnas independientes o en tablas de ensayo.

Advertencia

Las funciones devuelven NULL si el modelo de IA no puede procesar el texto. Los motivos comunes incluyen los siguientes:

  • Las reglas de IA responsables bloquean el contenido inapropiado en el texto de entrada.
  • El texto de entrada supera los límites del token. El modelo actual admite hasta 15 KB de texto.

La velocidad de procesamiento típica de las funciones de IA es de 20 a 100 filas por segundo. Si experimenta un rendimiento más lento, notifique la consulta problemática como un problema.

Compruebe los requisitos previos de las funciones de IA para habilitar las funciones de IA en el área de trabajo. Las funciones de IA para el servicio Azure OpenAI están disponibles en algunas regiones.

Análisis de opiniones

La ai_analyze_sentiment(text) función analiza la opinión de la entrada text y devuelve uno de los siguientes valores: positive, negative, mixedo neutral.

Example:

SELECT ai_analyze_sentiment('This hotel was great!') AS sentiment;

Resultado esperado:positive

Clasificación de texto

La ai_classify(text, class1, class2, ...) función clasifica la entrada text en una de las categorías proporcionadas.

Example:

SELECT ai_classify('Room was dirty', 'service','dirt','food') AS classification;

Resultado esperado:dirt

Extracción de entidades del texto

La ai_extract(text, class1, class2, ...) función extrae entidades de la entrada text en función de las clases especificadas.

Example:

SELECT ai_extract('Check-in was late and room dirty', 'sentiment','problem') AS extraction;

Resultado esperado:{"sentiment":"Negative","problem":"Dirty room"}

Generar respuesta

La ai_generate_response(prompt, data) función genera una respuesta basada en un determinado prompt y opcional data.

Example:

SELECT ai_generate_response('Reply in 20 words:', 'The room was noisy.') AS response;

Resultado esperado: "Lamentamos sinceramente las molestias causadas por el ruido y nos comprometemos a mejorar nuestras medidas insonorizadas".

Resumen de texto

La ai_summarize(text) función resume la entrada text en una versión concisa.

Example:

SELECT ai_summarize('The hotel was clean and staff were friendly.') AS summary;

Resultado esperado: "Hotel limpio, personal amable".

Traducir texto

La ai_translate(text, lang_code) función traduce text al idioma especificado usando lang_code.

Los códigos de idioma admitidos son de (alemán), en (inglés), (francés), frit (italiano), es (español), el (griego), pl (polaco), sv (sueco), fi (finlandés) y cs (checo).

Example:

SELECT ai_translate('The hotel was great','de') AS translation_de;

Resultado esperado: 'Das Hotel war großartig.'

Corrección de gramática

La ai_fix_grammar(text) función corrige la gramática de la entrada text.

Example:

SELECT ai_fix_grammar('Th room are clean and staff were nice') AS fixed_text;

Resultado esperado: "Las habitaciones están limpias, y el personal era agradable".

Ejemplos

A. Importación de datos y transformación de columnas de texto mediante funciones de IA

En este ejemplo se cargan datos de un archivo de Lakehouse en la tabla hotel_reviews del almacenamiento. Selecciona de un archivo de la /Files sección y, a continuación, aplica las funciones de IA para enriquecer los datos:

CREATE TABLE HotelDW.dbo.hotel_reviews
AS
SELECT
    city, latitude, longitude, name, reviews_rating, reviews_text,
    ai_summarize(reviews_text) AS reviews_summary,
    ai_classify( reviews_text, 'service', 'dirt', 'food', 'air conditioning', 'other') AS reviews_classification,
    ai_analyze_sentiment(reviews_text) AS reviews_sentiment,
    ai_translate(reviews_text, 'de') AS reviews_text_de,
    ai_translate(reviews_text, 'es') AS reviews_text_es,
    ai_translate(reviews_text, 'fr') AS reviews_text_fr,
    ai_translate(reviews_text, 'it') AS reviews_text_it
FROM OPENROWSET( BULK '/Files/csv/hotel_reviews_demo.csv', DATA_SOURCE = 'TextLakehouse', HEADER_ROW = TRUE);

B. Actualización de la columna de texto mediante la función AI

En el ejemplo siguiente se corrigen los errores gramaticales de la reviews_text columna:

UPDATE HotelDW.dbo.hotel_reviews
SET reviews_text = ISNULL(ai_fix_grammar(reviews_text), reviews_text);

Las funciones de IA pueden devolver NULL si se produce un error, por lo que evite sobrescribir los valores existentes con NULL.

Use el ISNULL(<ai function>, <original value>) patrón para conservar el texto original cuando las funciones de IA no puedan devolver resultados.

C. Extracción de valores de texto

En este ejemplo, la ai_extract función analiza el texto de revisión y devuelve un objeto JSON que contiene las propiedades sentiment, time_reportedy problem. A continuación, la OPENJSON función analiza este JSON y asigna estas propiedades a columnas independientes para facilitar la consulta y el análisis.

Este script de ejemplo inserta los valores extraídos como columnas independientes en la tabla de destino.

INSERT INTO gold.hotel_reviews
SELECT sentiment, time_reported, problem
FROM hotel_reviews
CROSS APPLY 
OPENJSON(
    ai_extract(reviews_text, 'sentiment', 'time_reported', 'problem')
) WITH ( sentiment VARCHAR(1000), time_reported VARCHAR(100), problem VARCHAR(1000) );

La ai_extract función aplica reglas contextuales aproximadas para identificar y extraer temas del texto sin necesidad de análisis manual ni expresiones regulares complejas. Este enfoque simplifica el análisis de texto mediante la comprensión semántica impulsada por IA en lugar de la coincidencia rígida de patrones, haciéndola más sólida y adaptable a las variaciones del lenguaje natural.