AI_EXTRACT (Transact-SQL)

Aplica-se a:Endpoint de análise SQL no Microsoft Fabric e Warehouse no Microsoft Fabric

A AI_EXTRACT função extrai valores do texto de entrada usando as classes que forneces e devolve o resultado como um objeto JSON.

Note

  • AI_EXTRACT está em versão de prévia.
  • AI_EXTRACTestá disponível apenas no endpoint de análise SQL e no Warehouse no Microsoft Fabric.

Syntax

Transact-SQL convenções de sintaxe

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

Arguments

enviar SMS

Uma expressão de um tipo de carácter, por exemplo nvarchar, varchar, nchar ou char.

Turma 1, Turma 2, ... n

Um ou mais nomes de propriedades para extrair do texto.

ERRO

A ON ERROR cláusula controla como uma função de IA lida com erros de processamento.

  • NULL ON ERROR retorna NULL quando a função não consegue processar um valor. Este é o comportamento padrão e não precisa de ser especificado explicitamente.
  • ERROR ON ERROR faz com que toda a consulta falhe se ocorrer um erro durante o processamento de qualquer valor de entrada.
  • DEFAULT <value> ON ERROR devolve o valor padrão especificado em vez de NULL quando ocorre um erro.

Os erros podem ser causados por verificações de segurança da IA responsável , limites de tamanho de entrada, problemas de serviço transitórios ou outras falhas de processamento.

Tipos de devolução

Retornos nvarchar(max) que contêm texto JSON.

Remarks

As funções de IA retornam NULL se o modelo de IA não conseguir processar o texto. Razões comuns incluem:

  • As regras de IA responsável bloqueiam conteúdos inadequados no texto de entrada.
  • O texto de entrada ultrapassa os limites de tokens. O modelo atual suporta até 15 KB de texto.

Exemplos

A. Extrair propriedades de uma frase

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

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

B. A análise sintética extraiu o JSON em colunas

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