Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.