Compartilhar via


Transformar e enriquecer dados com funções de IA

O Microsoft Fabric AI Functions permite que todos os profissionais de negócios (de desenvolvedores a analistas) transformem e enriqueçam seus dados corporativos usando IA generativa.

As funções de IA usam LLMs (grandes modelos de linguagem) líderes do setor para resumo, classificação, geração de texto e muito mais. Com uma única linha de código, você pode:

  • ai.analyze_sentiment: detecte o estado emocional do texto de entrada.
  • ai.classify: categorize o texto de entrada de acordo com seus rótulos.
  • ai.embed: gere inserções de vetor para texto de entrada.
  • ai.extract: extraia tipos específicos de informações do texto de entrada (por exemplo, locais ou nomes).
  • ai.fix_grammar: corrija a ortografia, a gramática e a pontuação do texto de entrada.
  • ai.generate_response: Gere respostas com base em suas próprias instruções.
  • ai.similarity: Compare o significado do texto de entrada com um único valor de texto ou com o texto em outra coluna.
  • ai.summarize: obtenha resumos do texto de entrada.
  • ai.translate: traduza o texto de entrada em outro idioma.

Você pode incorporar essas funções como parte dos fluxos de trabalho de ciência de dados e engenharia de dados, seja trabalhando com pandas ou Spark. Não há nenhuma configuração detalhada e nenhum gerenciamento de infraestrutura complexo. Você não precisa de nenhuma experiência técnica específica.

Prerequisites

Note

  • Há suporte para funções de IA no Fabric Runtime 1.3 e posterior.
  • A menos que você configure um modelo diferente, as funções de IA são padrão para gpt-4.1-mini. Saiba mais sobre as taxas de cobrança e consumo.
  • Embora o modelo subjacente possa lidar com vários idiomas, a maioria das funções de IA é otimizada para uso em textos em inglês."

Modelos e provedores

As funções de IA agora dão suporte a modelos e provedores mais amplos além dos modelos padrão do Azure OpenAI. Você pode configurar funções de IA para usar:

  • Modelos do OpenAI do Azure
  • Recursos do Azure AI Foundry (incluindo modelos como Claude e LLaMA)

A seleção de modelo e provedor é configurável por meio da configuração de funções de IA. Para obter detalhes sobre como configurar e configurar diferentes modelos e provedores, consulte a documentação de configuração do Pandas e do PySpark.

Introdução às funções de IA

O AI Functions pode ser usado com pandas (runtimes do Python e do PySpark) e com o PySpark (runtime do PySpark). As etapas de instalação e importação necessárias para cada um são descritas na seção a seguir, seguidas pelos comandos correspondentes.

Desempenho e simultaneidade

As funções de IA agora são executadas com maior simultaneidade padrão de 200, permitindo um processamento paralelo mais rápido de operações de IA. Você pode ajustar as configurações de simultaneidade por carga de trabalho para otimizar o desempenho com base em seus requisitos específicos. Para obter mais informações sobre como configurar a simultaneidade e outras configurações relacionadas ao desempenho, consulte a documentação de configuração do Pandas e do PySpark.

Instalar dependências

  • Pandas (runtime do Python)
    • synapseml_internal e synapseml_core arquivos whl necessários para instalação (comandos fornecidos na célula de código a seguir)
    • openai instalação do pacote necessário (comando fornecido na célula de código a seguir)
  • Pandas (runtime do PySpark)
    • openai instalação do pacote necessário (comando fornecido na célula de código a seguir)
  • PySpark (runtime do PySpark)
    • Não é necessária instalação
# The pandas AI functions package requires OpenAI version 1.99.5 or later
%pip install -q --force-reinstall openai==1.99.5 2>/dev/null

Importar bibliotecas necessárias

A célula de código a seguir importa a biblioteca de funções de IA e suas dependências.

# Required imports
import synapse.ml.aifunc as aifunc
import pandas as pd

Aplicar funções de IA

Cada uma das funções a seguir permite invocar o ponto de extremidade de IA interno no Fabric para transformar e enriquecer dados com uma única linha de código. Você pode usar funções de IA para analisar DataFrames do Pandas ou DataFrames do Spark.

Tip

Saiba como personalizar a configuração das funções de IA.

Configuração avançada: ao usar modelos de família gpt-5, você pode configurar opções avançadas como reasoning_effort e verbosity. Consulte as páginas de configuração do Pandas e do PySpark para obter detalhes sobre como definir essas opções.

Detectar sentimento com ai.analyze_sentiment

A ai.analyze_sentiment função invoca a IA para identificar se o estado emocional expresso pelo texto de entrada é positivo, negativo, misto ou neutro. Se a IA não conseguir fazer essa determinação, a saída será deixada em branco. Para obter instruções mais detalhadas sobre o uso de ai.analyze_sentiment com pandas, consulte este artigo. Para ai.analyze_sentiment com o PySpark, consulte este artigo.

Parâmetros opcionais

A ai.analyze_sentiment função agora dá suporte a parâmetros opcionais adicionais que permitem personalizar o comportamento de análise de sentimento. Esses parâmetros fornecem mais controle sobre como o sentimento é detectado e relatado. Para obter detalhes sobre parâmetros disponíveis, suas descrições e valores padrão, consulte a documentação específica da função para pandas e PySpark.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "The cleaning spray permanently stained my beautiful kitchen counter. Never again!",
        "I used this sunscreen on my vacation to Florida, and I didn't get burned at all. Would recommend.",
        "I'm torn about this speaker system. The sound was high quality, though it didn't connect to my roommate's phone.",
        "The umbrella is OK, I guess."
    ], columns=["reviews"])

df["sentiment"] = df["reviews"].ai.analyze_sentiment()
display(df)

Captura de tela de um quadro de dados com colunas

Categorizar texto com ai.classify

A ai.classify função invoca a IA para categorizar o texto de entrada de acordo com os rótulos personalizados escolhidos. Para obter mais informações sobre o uso de ai.classify com pandas, acesse este artigo. Para ai.classify com o PySpark, consulte este artigo.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "This duvet, lovingly hand-crafted from all-natural fabric, is perfect for a good night's sleep.",
        "Tired of friends judging your baking? With these handy-dandy measuring cups, you'll create culinary delights.",
        "Enjoy this *BRAND NEW CAR!* A compact SUV perfect for the professional commuter!"
    ], columns=["descriptions"])

df["category"] = df['descriptions'].ai.classify("kitchen", "bedroom", "garage", "other")
display(df)

Captura de tela de um quadro de dados com colunas

Gerar inserções de vetor com ai.inbed

A ai.embed função invoca a IA para gerar inserções de vetor para texto de entrada. As inserções de vetor são representações numéricas de texto que capturam significado semântico, tornando-as úteis para pesquisa de similaridade, fluxos de trabalho de recuperação e outras tarefas de machine learning. A dimensionalidade dos vetores de inserção depende do modelo selecionado. Para obter instruções mais detalhadas sobre o uso de ai.embed com pandas, consulte este artigo. Para ai.embed com o PySpark, consulte este artigo.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "This duvet, lovingly hand-crafted from all-natural fabric, is perfect for a good night's sleep.",
        "Tired of friends judging your baking? With these handy-dandy measuring cups, you'll create culinary delights.",
        "Enjoy this *BRAND NEW CAR!* A compact SUV perfect for the professional commuter!"
    ], columns=["descriptions"])
    
df["embed"] = df["descriptions"].ai.embed()
display(df)

Captura de tela de um quadro de dados com as colunas 'descriptions' e 'inserção'. A coluna 'inserção' contém vetores de inserção para as descrições.

Extrair entidades com ai.extract

A ai.extract função invoca a IA para verificar o texto de entrada e extrair tipos específicos de informações que são designadas por rótulos escolhidos (por exemplo, locais ou nomes). Para obter instruções mais detalhadas sobre o uso de ai.extract com pandas, consulte este artigo. Para ai.extract com o PySpark, consulte este artigo.

Rótulos estruturados

A ai.extract função dá suporte a definições de rótulo estruturadas por meio do esquema ExtractLabel. Você pode fornecer rótulos com definições estruturadas que incluem não apenas o nome do rótulo, mas também informações de tipo e atributos. Essa abordagem estruturada melhora a consistência de extração e permite que a função retorne colunas de saída estruturadas correspondentemente. Por exemplo, você pode especificar rótulos com metadados adicionais para orientar o processo de extração com mais precisão. Consulte a documentação detalhada para pandas e PySpark para obter exemplos de uso de rótulos estruturados.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "MJ Lee lives in Tucson, AZ, and works as a software engineer for Microsoft.",
        "Kris Turner, a nurse at NYU Langone, is a resident of Jersey City, New Jersey."
    ], columns=["descriptions"])

df_entities = df["descriptions"].ai.extract("name", "profession", "city")
display(df_entities)

Captura de tela mostrando um novo quadro de dados com as colunas 'name', 'profession' e 'city', contendo os dados extraídos do quadro de dados original.

Corrigir gramática com ai.fix_grammar

A ai.fix_grammar função invoca a IA para corrigir a ortografia, a gramática e a pontuação do texto de entrada. Para obter instruções mais detalhadas sobre o uso de ai.fix_grammar com pandas, consulte este artigo. Para ai.fix_grammar com o PySpark, consulte este artigo.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "There are an error here.",
        "She and me go weigh back. We used to hang out every weeks.",
        "The big picture are right, but you're details is all wrong."
    ], columns=["text"])

df["corrections"] = df["text"].ai.fix_grammar()
display(df)

Captura de tela mostrando um quadro de dados com uma coluna 'text' e uma coluna 'correções', que tem o texto da coluna de texto com gramática corrigida.

Responder prompts de usuário personalizados com ai.generate_response

A ai.generate_response função invoca a IA para gerar texto personalizado com base em suas próprias instruções. Para obter instruções mais detalhadas sobre o uso de ai.generate_response com pandas, consulte este artigo. Para ai.generate_response com o PySpark, consulte este artigo.

Parâmetros opcionais

A ai.generate_response função agora dá suporte a um response_format parâmetro que permite que você solicite uma saída JSON estruturada. Você pode especificar response_format='json' para receber respostas no formato JSON. Além disso, você pode fornecer um esquema JSON para impor uma estrutura de saída específica, garantindo que a resposta gerada esteja em conformidade com a forma de dados esperada. Isso é particularmente útil quando você precisa de uma saída previsível e legível por computador da função de IA. Para obter exemplos detalhados e padrões de uso, consulte a documentação para pandas e PySpark.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        ("Scarves"),
        ("Snow pants"),
        ("Ski goggles")
    ], columns=["product"])

df["response"] = df.ai.generate_response("Write a short, punchy email subject line for a winter sale.")
display(df)

Captura de tela mostrando um quadro de dados com as colunas 'product' e 'response'. A coluna 'response' contém uma linha de assunto forte para o produto.

Calcular similaridade com ai.similaridade

A ai.similarity função compara cada valor de texto de entrada com um texto de referência comum ou com o valor correspondente em outra coluna (modo par). Os valores de pontuação de similaridade de saída são relativos e podem variar de -1 (opostos) a 1 (idênticos). Uma pontuação indica 0 que os valores não estão relacionados em significado. Para obter instruções mais detalhadas sobre o uso de ai.similarity com pandas, consulte este artigo. Para ai.similarity com o PySpark, consulte este artigo.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([ 
        ("Bill Gates", "Technology"), 
        ("Satya Nadella", "Healthcare"), 
        ("Joan of Arc", "Agriculture") 
    ], columns=["names", "industries"])
    
df["similarity"] = df["names"].ai.similarity(df["industries"])
display(df)

Captura de tela de um quadro de dados com as colunas 'names', 'industries' e 'similaridade'. A coluna

Resumir texto com ai.summarize

A função ai.summarize invoca a inteligência artificial para gerar resumos do texto de entrada (seja valores de uma única coluna de um DataFrame ou valores de linha em todas as colunas). Para obter instruções mais detalhadas sobre o uso de ai.summarize com pandas, consulte este artigo. Para ai.summarize com o PySpark, consulte este artigo.

Personalizando resumos com instruções

A ai.summarize função agora dá suporte a um instructions parâmetro que permite orientar o tom, o comprimento e o foco dos resumos gerados. Você pode fornecer instruções personalizadas para orientar como o resumo deve ser criado, como especificar um estilo específico, público-alvo ou nível de detalhes. Quando as instruções não são fornecidas, a função usa o comportamento de resumo padrão. Para obter exemplos de como usar o instructions parâmetro, consulte a documentação detalhada para pandas e PySpark.

# This code uses AI. Always review output for mistakes.

df= pd.DataFrame([
        ("Microsoft Teams", "2017",
        """
        The ultimate messaging app for your organization—a workspace for real-time 
        collaboration and communication, meetings, file and app sharing, and even the 
        occasional emoji! All in one place, all in the open, all accessible to everyone.
        """),
        ("Microsoft Fabric", "2023",
        """
        An enterprise-ready, end-to-end analytics platform that unifies data movement, 
        data processing, ingestion, transformation, and report building into a seamless, 
        user-friendly SaaS experience. Transform raw data into actionable insights.
        """)
    ], columns=["product", "release_year", "description"])

df["summaries"] = df["description"].ai.summarize()
display(df)

Captura de tela mostrando um quadro de dados. A coluna 'summaries' tem apenas um resumo da coluna 'description', na linha correspondente.

Traduzir texto com ai.translate

A ai.translate função invoca a IA para traduzir o texto de entrada para um novo idioma de sua escolha. Para obter instruções mais detalhadas sobre o uso de ai.translate com pandas, consulte este artigo. Para ai.translate com o PySpark, consulte este artigo.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "Hello! How are you doing today?", 
        "Tell me what you'd like to know, and I'll do my best to help.", 
        "The only thing we have to fear is fear itself."
    ], columns=["text"])

df["translations"] = df["text"].ai.translate("spanish")
display(df)

Captura de tela de um quadro de dados com as colunas 'text' e 'translations'. A coluna 'traduções' contém o texto traduzido para espanhol.

Exibir estatísticas de uso com ai.stats

As funções de IA do Fabric fornecem uma maneira interna de inspecionar estatísticas de uso e execução para qualquer Série ou DataFrame gerado por IA. Você pode acessar essas métricas chamando ai.stats no resultado retornado por uma função de IA.

ai.stats retorna um DataFrame com as seguintes colunas:

  • num_successful – número de linhas processadas com êxito pela função de IA.
  • num_exceptions – número de linhas que encontraram uma exceção durante a execução. Essas linhas são representadas como instâncias de aifunc.ExceptionResult.
  • num_unevaluated – número de linhas que não foram processadas porque uma exceção anterior impossibilitaria continuar a avaliação. Essas linhas são instâncias de aifunc.NotEvaluatedResult.
  • num_harmful – Número de linhas bloqueadas pelo filtro de conteúdo do Azure OpenAI. Essas linhas de tabela são instâncias de aifunc.FilterResult.
  • prompt_tokens – número total de tokens de entrada usados para a chamada de função de IA.
  • completion_tokens – número total de tokens de saída gerados pelo modelo.

Tip

Você pode chamar ai.stats em qualquer Série ou DataFrame retornado por uma função de IA. Isso pode ajudá-lo a controlar o uso, entender os padrões de erro e monitorar o consumo de token.