Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:✅ Endpoint de análise de SQL e Armazém de Dados no Microsoft Fabric
Importante
Esse recurso está na versão prévia.
O Fabric Data Warehouse e o endpoint de análise SQL fornecem funções internas de IA que você pode usar para analisar, classificar, resumir e transformar texto diretamente em consultas SQL. Usando essas funções, você pode executar o processamento de texto avançado sem sair do ambiente de dados. Neste tutorial, saiba como usar funções de IA para transformar texto.
| Função | Propósito | Exemplo de sintaxe |
|---|---|---|
AI_ANALYZE_SENTIMENT |
Detectar o sentimento do texto de entrada | AI_ANALYZE_SENTIMENT(<text>) |
AI_CLASSIFY |
Classificar texto com base nos rótulos fornecidos | AI_CLASSIFY(<text>, <class1>, <class2>, ...) |
AI_EXTRACT |
Extrair entidades como propriedades JSON | AI_EXTRACT(<text>, <class1>, <class2>, ...) |
AI_SUMMARIZE |
Resumir textos | AI_SUMMARIZE(<text>) |
AI_GENERATE_RESPONSE |
Gerar resposta com base no prompt | AI_GENERATE_RESPONSE(<prompt>, <data>) |
AI_TRANSLATE |
Traduzir texto de entrada para o idioma de destino especificado | AI_TRANSLATE(<text>, <lang_code>) |
AI_FIX_GRAMMAR |
Corrigir gramática no texto | AI_FIX_GRAMMAR(<text>) |
Essas funções chamam APIs de IA externas para processar texto, o que pode afetar o desempenho da consulta. Para otimizar a eficiência, evite aplicar transformações de texto repetitivas em SELECT consultas no mesmo conjunto de dados. Em vez disso, pré-computar e materializar os resultados das funções de IA como colunas separadas ou em tabelas provisórias.
Aviso
As funções retornarão NULL se o modelo de IA não puder processar o texto. Os motivos comuns incluem:
- As regras de IA responsável bloqueiam conteúdo inadequado no texto de entrada.
- O texto de entrada excede os limites de token. O modelo atual dá suporte a até 15 KB de texto.
A velocidade de processamento típica das funções de IA é de 20 a 100 linhas por segundo. Se você experimentar desempenho mais lento, relate a consulta problemática como uma questão.
Prerequisites
- Para usar funções de IA com o ponto de extremidade de IA interno no Fabric, o administrador precisa habilitar a opção de locatário para Copilot e outros recursos que são alimentados pelo Azure OpenAI.
- Dependendo da sua localização, pode ser necessário habilitar uma configuração de tenant para processamento entre geografias. Saiba mais sobre as regiões disponíveis para o Serviço OpenAI do Azure.
- Você precisa de uma capacidade paga do Fabric (F2 ou superior ou qualquer edição P).
- Você pode usar funções de IA apenas em regiões com suporte.
Verifique os pré-requisitos das funções de IA para obter pré-requisitos adicionais.
Analisar sentimento
A AI_ANALYZE_SENTIMENT(text) função analisa o sentimento da entrada text e retorna um dos seguintes valores: positive, , negative, mixedou neutral.
Exemplo:
SELECT AI_ANALYZE_SENTIMENT('This hotel was great!') AS sentiment;
Resultado esperado:positive
Para obter mais informações, consulte AI_ANALYZE_SENTIMENT (Transact-SQL).
Classificar textos
A AI_CLASSIFY(text, class1, class2, ...) função classifica a entrada text em uma das categorias fornecidas.
Exemplo:
SELECT AI_CLASSIFY('Room was dirty', 'service','dirt','food') AS classification;
Resultado esperado:dirt
Para obter mais informações, consulte AI_CLASSIFY (Transact-SQL).
Extrair entidades do texto
A AI_EXTRACT(text, class1, class2, ...) função extrai entidades da entrada text com base nas classes especificadas.
Exemplo:
SELECT AI_EXTRACT('Check-in was late and room dirty', 'sentiment','problem') AS extraction;
Resultado esperado:{"sentiment":"Negative","problem":"Dirty room"}
Para obter mais informações, consulte AI_EXTRACT (Transact-SQL).
Gerar resposta
A função AI_GENERATE_RESPONSE(prompt, data) gera uma resposta com base em um prompt fornecido e um data opcional.
Exemplo:
SELECT AI_GENERATE_RESPONSE('Reply in 20 words:', 'The room was noisy.') AS response;
Resultado esperado: "Pedimos sinceras desculpas pelo inconveniente causado pelo barulho e estamos comprometidos em melhorar nossas medidas à prova de som."
Para obter mais informações, consulte AI_GENERATE_RESPONSE (Transact-SQL).
Resumir textos
A AI_SUMMARIZE(text) função resume a entrada text em uma versão concisa.
Exemplo:
SELECT AI_SUMMARIZE('The hotel was clean and staff were friendly.') AS summary;
Resultado esperado: "Hotel limpo, pessoal amigável."
Para obter mais informações, consulte AI_SUMMARIZE (Transact-SQL).
Traduzir o texto
A função AI_TRANSLATE(text, lang_code) traduz text para o idioma especificado usando lang_code.
Os códigos de idioma com suporte são de (alemão), en (inglês), fr (francês), it (italiano), es (espanhol), el (grego), pl (polonês), sv (sueco), fi (finlandês) e cs (tcheco).
Exemplo:
SELECT AI_TRANSLATE('The hotel was great','de') AS translation_de;
Resultado esperado: "Das Hotel war großartig."
Para obter mais informações, consulte AI_TRANSLATE (Transact-SQL).
Corrigir gramática
A AI_FIX_GRAMMAR(text) função corrige a gramática na entrada text.
Exemplo:
SELECT AI_FIX_GRAMMAR('Th room are clean and staff were nice') AS fixed_text;
Resultado esperado: "Os quartos estão limpos, e os funcionários foram legais."
Para obter mais informações, consulte AI_FIX_GRAMMAR (Transact-SQL).
Tratamento de erros
As funções de IA retornam NULL quando ocorre um erro durante o processamento de texto. Erros podem ser causados por verificações de segurança da IA responsável que detectam conteúdo não permitido, entrada que ultrapassa os limites de tokens, problemas de serviço transitório ou outras falhas de processamento.
Por padrão, as funções de IA usam um modelo de execução de melhor esforço e retornam NULL para solicitações falhadas. Esse comportamento foi projetado para evitar que erros que afetam linhas individuais falhem em uma consulta inteira. Ao processar milhares de linhas por meio de um grande modelo de linguagem (LLM) externo, uma falha em um único valor não deve impedir que resultados bem-sucedidos sejam retornados para as linhas restantes. Esse comportamento também garante que as solicitações processadas com sucesso não sejam perdidas e não precisem ser repetidas.
Inspecione as linhas que retornaram NULL, determine o motivo da falha e tente novamente apenas esses valores específicos.
Você pode sobrescrever o comportamento padrão especificando uma ON ERROR cláusula em cada chamada de função:
-
NULL ON ERROR(padrão) retornaNULLquando a função não consegue processar um valor. -
ERROR ON ERRORfaz com que toda a consulta falhe se ocorrer um erro em qualquer chamada de função. -
DEFAULT <value> ON ERRORretorna o valor padrão especificado em vez deNULLquando ocorre um erro.
O exemplo a seguir demonstra as opções disponíveis para lidar com erros:
SELECT
*,
AI_FIX_GRAMMAR(review_text NULL ON ERROR) AS fixed_text,
AI_EXTRACT(review_text, 'sentiment', 'problem' ERROR ON ERROR) AS info*
AI_CLASSIFY(review_text, 'service', 'dirt', 'food' DEFAULT 'Other' ON ERROR) AS classification
FROM hotel_reviews;
Neste exemplo:
-
AI_FIX_GRAMMARretornaNULLvalores que não consegue processar. Como retornarNULLé o comportamento padrão de tratamento de erros, aNULL ON ERRORcláusula é opcional. -
AI_EXTRACTfalha toda a consulta se alguma célula encontrar um erro. -
AI_CLASSIFYretornaOtherpara as células que ele não consegue classificar.
Remarks
As funções de IA podem retornar erros ou experimentar um desempenho mais lento do que o esperado por vários motivos:
- Verifique se você atende a todos os pré-requisitos necessários antes de usar funções de IA. Se um pré-requisito estiver ausente, a função retornará um erro.
- Se o texto de entrada não puder ser processado - por exemplo, porque ele excede os limites de token, contém conteúdo restrito ou ofensivo ou viola as políticas de serviço - a função retorna
NULL. Sempre verifique se o valor retornado éNULLe manipule esse caso adequadamente em suas consultas, aplicativos ou pipelines de processamento de dados. - O desempenho depende do tamanho da entrada, da complexidade de entrada e da carga geral do serviço. Os valores de texto individuais normalmente são processados em alguns segundos, enquanto lotes maiores podem obter uma taxa de transferência de aproximadamente 10 a 30 valores de texto por segundo. Se você experimentar consistentemente um desempenho mais lento do que o esperado, pode haver um problema de serviço ou configuração que afeta a taxa de transferência de processamento.
Se você encontrar um problema com funções de IA em Fabric Data Warehouse ou em um endpoint de análise SQL:
- Crie um chamado de suporte através do suporte da Microsoft, ou
- Compartilhe feedback, faça perguntas ou discuta questões com a comunidade nas funções de IA Microsoft Fabric Data Warehouse subreddit.
Exemplos
A. Importar dados e transformar coluna de texto usando funções de IA
Este exemplo carrega dados de um arquivo Lakehouse na tabela hotel_reviews do armazém.
Ele seleciona em um arquivo na /Files seção e aplica as funções de IA para enriquecer os dados:
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. Atualizar coluna de texto usando a função de IA
reviews_text O exemplo seguinte corrige os erros de gramática na coluna:
UPDATE HotelDW.dbo.hotel_reviews
SET reviews_text = ISNULL(AI_FIX_GRAMMAR(reviews_text), reviews_text);
As funções de IA poderão retornar NULL se ocorrer um erro, portanto, evite substituir valores existentes com NULL.
Use o ISNULL(<ai function>, <original value>) padrão para preservar o texto original quando as funções de IA não puderem retornar resultados.
C. Extrair valores do texto
Neste exemplo, a AI_EXTRACT função analisa o texto de revisão e retorna um objeto JSON que contém as propriedades sentimente time_reportedproblem. A função OPENJSON então analisa esse JSON e mapeia essas propriedades em colunas separadas, facilitando a consulta e análise.
Esse script de exemplo insere os valores extraídos como colunas separadas na tabela 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) );
A AI_EXTRACT função aplica regras contextuais difusas para identificar e extrair tópicos do texto sem exigir análise manual ou expressões regulares complexas. Essa abordagem simplifica a análise de texto usando a compreensão semântica orientada por IA em vez de uma correspondência de padrões rígida, tornando-a mais robusta e adaptável às variações de linguagem natural.