AI_EXTRACT (Transact-SQL)

Se aplica a:Punto de conexión de SQL Analytics en Microsoft Fabric y Warehouse en Microsoft Fabric

La AI_EXTRACT función extrae valores del texto de entrada usando las clases que proporcionas y devuelve el resultado como objeto JSON.

Note

  • AI_EXTRACT está en versión preliminar.
  • AI_EXTRACTestá disponible solo en endpoint de analítica SQL y en Warehouse en Microsoft Fabric.

Syntax

Convenciones de sintaxis de Transact-SQL

AI_EXTRACT ( text, class1, class2 [ , ...n ] [ (NULL | ERROR | DEFAULT <value>) ON ERROR ] )

Arguments

text

Una expresión de un tipo de carácter, por ejemplo nvarchar, varchar, nchar o char.

Clase 1, Clase 2, ... n

Uno o más nombres de propiedades para extraer del texto.

POR ERROR

La ON ERROR cláusula controla cómo una función de IA gestiona los errores de procesamiento.

  • NULL ON ERROR retorna NULL cuando la función no puede procesar un valor. Este es el comportamiento por defecto y no necesita especificarse explícitamente.
  • ERROR ON ERROR hace que toda la consulta falle si ocurre un error mientras se procesa cualquier valor de entrada.
  • DEFAULT <value> ON ERROR devuelve el valor por defecto especificado en lugar de NULL cuando ocurre un error.

Los errores pueden ser causados por comprobaciones de seguridad de IA responsable , límites de tamaño de entrada, problemas de servicio transitorio u otros fallos de procesamiento.

Tipos de retorno

Retornos nvarchar(max) que contienen texto JSON.

Remarks

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

  • Las reglas de IA responsable bloquean 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.

Examples

A. Extraer propiedades de una oración

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

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

B. El análisis sintáctico extrajo JSON en columnas

SELECT sentiment, time_reported, problem
FROM dbo.hotel_reviews
CROSS APPLY OPENJSON(
    ai_extract(review_text, 'sentiment', 'time_reported', 'problem')
) WITH (
    sentiment VARCHAR(1000),
    time_reported VARCHAR(100),
    problem VARCHAR(1000)
);