Partilhar via


Enriquecer dados usando Funções de IA

Importante

Este recurso está no Public Preview.

As Funções de IA são funções integradas que pode usar para aplicar LLMs ou técnicas de investigação de última geração em dados armazenados no Azure Databricks para transformação e enriquecimento de dados. 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 inteligência de dados aos seus dados proprietários, enquanto engenheiros de dados, cientistas de dados e engenheiros de aprendizagem automática podem usá-los para construir pipelines em lote de nível de produção.

Tarefa específica e de propósito geral

As Funções de IA têm funções específicas para tarefas e de uso geral:

  • Funções de IA específicas para tarefa — Funções construídas para um propósito otimizadas para uma tarefa específica, como análise de documentos, extração de entidades, classificação e análise de sentimento. Estas funções são alimentadas por sistemas geridos pelo Azure Databricks e com base em investigação. Algumas funções incluem experiências de interface. Consulte Funções de IA específicas de tarefas para funções e modelos suportados.
  • ai_query — A função de propósito geral para a flexibilidade da tarefa e do modelo. Fornece um prompt e escolhe qualquer API de Foundation Model suportada. Consultar Usar ai_query.

Árvore de decisão para funções de IA e ai_query específicas para tarefas

Funções de IA específicas da tarefa

Funções específicas de tarefa são definidas para uma determinada tarefa, permitindo automatizar transformações rotineiras, como extração, tradução e classificação de entidades. A Databricks recomenda estas funções para começar porque invocam técnicas de investigação de ponta mantidas pela Databricks e não requerem qualquer 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_parse_document Analise conteúdos estruturados (texto, tabelas, descrições de figuras) e layout a partir de documentos não estruturados utilizando técnicas de investigação de última geração.
ai_extract Extrai campos estruturados de documentos ou texto usando um esquema que definires.
ai_classify Classifique o texto de entrada de acordo com os rótulos que fornecer, utilizando técnicas de investigação de última geraçã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_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_prep_search Transformar a saída de documentos analisados em segmentos preparados para pesquisa otimizados para pesquisa vetorial e pipelines de RAG.
ai_query Uma função de IA de propósito geral para tarefas que vão além do que as funções específicas de cada tarefa oferecem. Forneça um prompt personalizado e escolha qualquer modelo de API de Foundation Model suportado.
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.

Utilizar Funções de IA em fluxos de trabalho de produção

Para inferências em lotes de larga escala, pode integrar Funções de IA específicas para tarefas ou a função de uso geral ai_query nos seus processos de produção, como Lakeflow Spark Declarative Pipelines, fluxos de trabalho do Databricks e Structured Streaming. Isto permite o processamento em escala em ambiente de produção.

Boas práticas para funções de IA em produção:

Deixe a AI Functions tratar da sua carga de trabalho em grande escala: As Funções de IA gerem automaticamente paralelização, tentativas e escalabilidade. É aconselhável submeter o seu conjunto de dados completo numa única consulta, em vez de o dividir manualmente em pequenos lotes. O desempenho pode não escalar linearmente de cargas de trabalho muito pequenas para cargas de grande escala.

Utilize modelos de fundação alojados em Databricks: Ao usar a função de IA ai_query, utilize modelos de fundação alojados em Databricks (prefixados com databricks-), em vez do débito provisionado. Estes endpoints sem necessidade de aprovisionamento são totalmente geridos e funcionam melhor para processamento em lote.

Consulte Implantar pipelines de inferência em lote para obter exemplos e detalhes.

Monitorizar 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.

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

Para ai_parse_document, ai_extract e ai_classify, os 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";