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_code>) |
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.
Prerequisites
- Para usar AI Functions con el punto de conexión de IA integrado en Fabric, el administrador necesita habilitar la opción de inquilino para Copilot y otras funciones impulsadas por Azure OpenAI.
- En función de su ubicación, es posible que tenga que habilitar una configuración de arrendatario para el procesamiento geográfico cruzado. Obtenga más información sobre las regiones disponibles para el servicio Azure OpenAI.
- Necesita una capacidad de pago de Fabric (F2 o superior, o cualquier edición P).
- Solo puede usar funciones de IA en regiones admitidas.
Compruebe los requisitos previos de las funciones de IA para conocer los requisitos previos adicionales.
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
Para obtener más información, vea AI_ANALYZE_SENTIMENT (Transact-SQL).
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
Para obtener más información, vea AI_CLASSIFY (Transact-SQL).
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"}
Para obtener más información, vea AI_EXTRACT (Transact-SQL).
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".
Para obtener más información, vea AI_GENERATE_RESPONSE (Transact-SQL).
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".
Para obtener más información, vea AI_SUMMARIZE (Transact-SQL).
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.'
Para obtener más información, vea AI_TRANSLATE (Transact-SQL).
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".
Para obtener más información, vea AI_FIX_GRAMMAR (Transact-SQL).
Remarks
Las funciones de IA pueden devolver errores o experimentar un rendimiento más lento de lo esperado por varias razones:
- Asegúrese de cumplir todos los requisitos previos necesarios antes de usar las funciones de IA. Si falta un requisito previo, la función devuelve un error.
- Si el texto de entrada no se puede procesar, por ejemplo, porque supera los límites de token, contiene contenido restringido o ofensivo, o infringe las directivas de servicio, la función devuelve
NULL. Compruebe siempre si el valor devuelto esNULLy controla este caso correctamente en las consultas, aplicaciones o canalizaciones de procesamiento de datos. - El rendimiento depende del tamaño de entrada, la complejidad de entrada y la carga general del servicio. Normalmente, los valores de texto individuales se procesan en unos segundos, mientras que los lotes más grandes pueden lograr un rendimiento de aproximadamente 10 a 30 valores de texto por segundo. Si experimenta de forma coherente un rendimiento más lento de lo esperado, puede haber un problema de servicio o configuración que afecte al rendimiento del procesamiento.
Si te encuentras con un problema con funciones de IA en Fabric Data Warehouse o en un endpoint de analítica SQL:
- Crear un ticket de soporte a través del soporte de Microsoft, o
- Comparte comentarios, haz preguntas o comenta problemas con la comunidad en las funciones de IA en Microsoft Fabric Data Warehouse subreddit.
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.