Partilhar via


Aplicar IA em dados usando as funções de IA do Azure Databricks

Importante

Este recurso está no Public Preview.

Este artigo descreve as Funções AI do Azure Databricks e as funções suportadas.

O que são funções de IA?

As funções de IA são funções integradas que você pode usar para aplicar IA, como tradução de texto ou análise de sentimento, em seus dados armazenados no Databricks. Eles podem ser executados de qualquer lugar no Databricks, incluindo Databricks SQL, notebooks, Lakeflow Spark Declarative Pipelines e Workflows.

As funções de IA são simples de usar, rápidas e escaláveis. Os analistas podem usá-los para aplicar a inteligência de dados aos seus dados proprietários, enquanto os cientistas de dados e engenheiros de aprendizagem automática podem usá-los para construir pipelines de batch de produção.

As funções de IA fornecem funções específicas da tarefa e de uso geral.

  • As funções específicas da tarefa fornecem recursos de IA de alto nível para tarefas como resumir texto e tradução. Essas funções específicas de tarefas são alimentadas por modelos de IA generativa de última geração que são hospedados e gerenciados pelo Databricks. Consulte Funções de IA específicas de tarefas para funções e modelos suportados.
  • ai_query é uma função de uso geral que permite aplicar qualquer tipo de modelo de IA em seus dados. Ver Função de uso geral: ai_query.

Funções de IA específicas da tarefa

As funções específicas da tarefa são definidas para uma determinada tarefa, de modo que se possa automatizar ações de rotina, como resumos simples e traduções rápidas. O Databricks recomenda essas funções para começar porque invocam modelos de IA generativos de última geração mantidos pelo Databricks e não exigem nenhuma personalização.

Consulte Analisar avaliações de clientes usando funções de IA para obter um exemplo.

A tabela a seguir lista as funções suportadas e a tarefa que elas executam.

Função Descrição
ai_analyze_sentiment Execute a análise de sentimento no texto de entrada usando um modelo de IA generativa de última geração.
ai_classify Classifique o texto de entrada de acordo com os rótulos fornecidos usando um modelo de IA generativa de última geração.
ai_extract Extraia entidades especificadas por rótulos do texto usando um modelo de IA generativa de última geração.
ai_fix_grammar Corrija erros gramaticais no texto usando um modelo de IA generativa de última geração.
ai_gen Responda ao prompt fornecido pelo usuário usando um modelo de IA generativa de última geração.
ai_mask Mascare entidades especificadas em texto usando um modelo de IA generativa de última geração.
ai_parse_document Extraia conteúdo estruturado de documentos não estruturados usando um modelo de IA generativa de última geração.
ai_similarity Compare duas cadeias de caracteres e calcule a pontuação de semelhança semântica usando um modelo de IA generativa de última geração.
ai_summarize Gere um resumo de texto usando SQL e modelo de IA generativa de última geração.
ai_translate Traduza texto para um idioma de destino especificado usando um modelo de IA generativa de última geração.
ai_forecast Dados de previsão até um horizonte especificado. Esta função com valor de tabela foi projetada para extrapolar dados de séries temporais para o futuro.
vector_search Pesquise e consulte um índice Mosaic AI Vetor Search usando um modelo de IA generativa de última geração.

Função de uso geral: ai_query

A função ai_query() permite aplicar qualquer modelo de IA a dados para tarefas de IA generativa e ML clássicas, incluindo extração de informações, resumo de conteúdo, identificação de fraudes e previsão de receita. Para obter detalhes e parâmetros de sintaxe, consulte ai_query função.

A tabela a seguir resume os tipos de modelo suportados, os modelos associados e o modelo que atende aos requisitos de configuração de ponto de extremidade para cada um.

Tipo Descrição Modelos suportados Requerimentos
Modelos pré-implantados Esses modelos de fundação são hospedados pelo Databricks e oferecem pontos de extremidade pré-configurados que pode consultar usando ai_query. Consulte Modelos base suportados no Mosaic AI Model Serving para saber quais modelos são suportados por cada recurso de serviço de modelo e a sua disponibilidade em cada região. Esses modelos são apoiados e otimizados para o início de fluxos de trabalho de inferência em lote e produção.
  • databricks-claude-haiku-4-5
  • databricks-claude-sonnet-4
  • databricks-gpt-oss-20b
  • databricks-gpt-oss-120b
  • databricks-gemma-3-12b
  • databricks-llama-4-maverick
  • databricks-meta-llama-3-3-70b-instruct
  • databricks-meta-llama-3-1-8b-instruct
  • databricks-gte-large-en

Outros modelos hospedados no Databricks estão disponíveis para uso com funções de IA, mas não são recomendados para fluxos de trabalho de produção de inferência em lote em escala. Esses outros modelos são disponibilizados para inferência em tempo real usando APIs do Foundation Model pay-per-token.
O Databricks Runtime 15.4 LTS ou superior é necessário para usar essa funcionalidade. Não requer provisionamento ou configuração de ponto final. Seu uso desses modelos está sujeito às licenças e termos de desenvolvedor de modelo aplicáveis e à disponibilidade da região AI Functions.
Traga o seu próprio modelo Você pode trazer seus próprios modelos e consultá-los usando funções de IA. O AI Functions oferece flexibilidade para que você possa consultar modelos para inferência em tempo real ou cenários de inferência em lote.
  • Modelos fundamentais afinados implantados no Mosaic AI Model Serving
  • Modelos de fundação hospedados fora do Databricks. Estes modelos são disponibilizados utilizando modelos externos. Consulte Modelos básicos do Access hospedados fora do Databricks para obter uma lista de modelos externos suportados.
  • Modelos personalizados tradicionais de aprendizagem automática (ML) e aprendizagem profunda (DL)

Utilize ai_query com modelos base

O exemplo a seguir demonstra como usar ai_query usando um modelo de base hospedado pelo Databricks.


SELECT text, ai_query(
    "databricks-meta-llama-3-3-70b-instruct",
    "Summarize the given text comprehensively, covering key points and main ideas concisely while retaining relevant details and examples. Ensure clarity and accuracy without unnecessary repetition or omissions: " || text
) AS summary
FROM uc_catalog.schema.table;

Exemplo de bloco de anotações: inferência em lote e extração de dados estruturados

O bloco de anotações de exemplo a seguir demonstra como executar a extração básica de dados estruturados usando ai_query para transformar dados brutos e não estruturados em informações organizadas e utilizáveis por meio de técnicas de extração automatizada. Este caderno também mostra como aproveitar o Mosaic AI Agent Evaluation para avaliar a precisão usando dados de verdade do solo.

Notebook técnico de inferência em lote e extração de dados estruturados

Obter bloco de notas

Uso ai_query com modelos tradicionais de ML

ai_query suporta modelos tradicionais de ML, incluindo modelos totalmente personalizados. Esses modelos devem ser implantados em endpoints de serviço de modelo. Para obter detalhes e parâmetros de sintaxe, consulte a função ai_query.

SELECT text, ai_query(
  endpoint => "spam-classification",
  request => named_struct(
    "timestamp", timestamp,
    "sender", from_number,
    "text", text),
  returnType => "BOOLEAN") AS is_spam
FROM catalog.schema.inbox_messages
LIMIT 10

Exemplo de bloco de anotações: inferência em lote usando BERT para reconhecimento de entidade nomeada

O notebook a seguir mostra um exemplo de inferência em lote de um modelo tradicional de ML usando BERT.

Inferência em lote usando BERT para reconhecimento de entidades nomeadas em notebook

Obter bloco de notas

Usar funções de IA em fluxos de trabalho Python existentes

As funções de IA podem ser facilmente integradas em fluxos de trabalho Python existentes.

O seguinte grava a saída do ai_query em uma tabela de saída:


df_out = df.selectExpr(
  "ai_query('databricks-meta-llama-3-3-70b-instruct', CONCAT('Please provide a summary of the following text: ', text), modelParameters => named_struct('max_tokens', 100, 'temperature', 0.7)) as summary"
)
df_out.write.mode("overwrite").saveAsTable('output_table')

O seguinte comando escreve o texto resumido numa tabela:

df_summary = df.selectExpr("ai_summarize(text) as summary")
df_summary.write.mode('overwrite').saveAsTable('summarized_table')

Usar funções de IA em fluxos de trabalho de produção

Para inferência em lote em grande escala, você pode integrar funções de IA específicas de tarefas ou a função ai_query de propósito geral em seus fluxos de trabalho de produção, como Lakeflow Spark Declarative Pipelines, fluxos de trabalho Databricks e Structured Streaming. Isto permite o processamento em escala em ambiente de produção. Consulte Implantar pipelines de inferência em lote para obter exemplos e detalhes.

Monitore o progresso das funções de IA

Para entender quantas inferências foram concluídas ou falharam e solucionar problemas de desempenho, você pode monitorar o progresso das funções de IA usando o recurso de perfil de consulta.

No Databricks Runtime 16.1 ML e superior, na janela de consulta do editor SQL em seu espaço de trabalho:

  1. Selecione o link, Em execução--- na parte inferior da janela Resultados brutos . A janela de desempenho aparece à direita.
  2. Clique em Ver perfil de consulta para ver os detalhes de desempenho.
  3. Clique em AI Query para ver as métricas dessa consulta específica, incluindo o número de inferências concluídas e falhadas e o tempo total que a solicitação levou para ser concluída.

Monitore o progresso da função de IA

Veja os custos das cargas de trabalho do AI Function

Os custos da função de IA são registrados como parte do produto sob o MODEL_SERVING tipo de BATCH_INFERENCE oferta. Consulte Ver custos para cargas de trabalho de inferência por lotes para obter um exemplo de consulta.

Observação

Os ai_parse_document custos são registados como parte do AI_FUNCTIONS produto. Consulte Ver custos para execuções ai_parse_document como exemplo de consulta.

Exibir custos para cargas de trabalho de inferência em lote

Os seguintes exemplos mostram como filtrar cargas de trabalho de inferência em lote com base em funções de trabalho, recursos de computação, armazéns SQL e Lakeflow Spark Declarative Pipelines.

Consulte Custos de monitorização de modelos para obter exemplos gerais sobre como visualizar custos para as suas cargas de trabalho de inferência em lote que utilizam funções de IA.

Tarefas

A consulta a seguir mostra quais trabalhos estão a ser usados, usando a tabela de sistemas system.workflow.jobs, para a inferência em lote. Consulte Monitorar custos de trabalho e desempenho com tabelas do sistema.


SELECT *
FROM system.billing.usage u
  JOIN system.workflow.jobs x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.job_id = x.job_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Computação

A seguir, mostra quais clusters estão a ser utilizados para inferência em lote usando a tabela system.compute.clusters systems.

SELECT *
FROM system.billing.usage u
  JOIN system.compute.clusters x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.cluster_id = x.cluster_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Oleodutos declarativos Lakeflow Spark

A seguir mostra quais Lakeflow Spark Declarative Pipelines estão a ser utilizados para inferência em lote usando a tabela de sistemas system.lakeflow.pipelines.

SELECT *
FROM system.billing.usage u
  JOIN system.lakeflow.pipelines x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.dlt_pipeline_id = x.pipeline_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Armazém SQL

O seguinte mostra quais armazéns SQL são usados para inferência em lote utilizando a tabela de sistemas system.compute.warehouses.

SELECT *
FROM system.billing.usage u
  JOIN system.compute.clusters x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.cluster_id = x.cluster_id
  WHERE u.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Ver custos de ai_parse_document execução

O exemplo a seguir mostra como consultar tabelas do sistema de faturamento para exibir custos de ai_parse_document execuções.


SELECT *
FROM system.billing.usage u
WHERE u.workspace_id = <workspace_id>
  AND u.billing_origin_product = "AI_FUNCTIONS"
  AND u.product_features.ai_functions.ai_function = "AI_PARSE_DOCUMENT";