Enriquecer dados usando Funções de IA

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. Podem ser executados a partir do Databricks SQL, de notebooks, de pipelines do Lakeflow e de 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.

Quando chama uma Função de IA, a sua consulta é executada nos recursos de computação a partir dos quais a submete, como um armazém de dados SQL, notebook, cluster ou pipeline. Dependendo da função, a inferência do modelo pode correr numa infraestrutura separada gerida pelo Databricks que é faturada além desse cálculo. Consulte Custos de cargas de trabalho para funções de IA.

Requirements

  • As Funções de IA não estão disponíveis nos armazéns Classic SQL.
  • É necessário o Databricks Runtime 15.4 LTS ou superior. O Databricks Runtime 18.2 ou superior é recomendado para o melhor desempenho e acesso às funcionalidades mais recentes.

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 suportadas por sistemas geridos pelo Azure Databricks e fundamentados 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

Para restringir quais as funções de IA específicas da tarefa a que a sua organização pode aceder, consulte as permissões do Catálogo Unity das Funções de IA.

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.

As seguintes funções estão agrupadas por tarefa.

Processamento inteligente de documentos:

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_prep_search (Beta) Transforme documentos analisados ou texto simples e markdown em blocos prontos para pesquisa, otimizados para pipelines de Pesquisa por IA e RAG.
ai_search (Beta) Obtenha documentos classificados e sem duplicados, bem como uma resposta fundamentada, para uma consulta em linguagem natural a partir de uma ou mais fontes de conhecimento.

Transformar texto:

Função Descrição
ai_fix_grammar Corrigir erros gramaticais no texto usando um modelo de IA de última geração.
ai_translate Traduza texto para uma língua-alvo especificada usando um modelo de IA de última geração.
ai_summarize Gera um resumo do texto usando SQL e um modelo de IA de última geração.
ai_mask Mascarar entidades especificadas no texto usando um modelo de IA de última geração.

Analisar texto:

Função Descrição
ai_analyze_sentiment Realize uma análise de sentimento no texto de entrada usando um modelo de IA de última geração.
ai_similarity Compare duas cadeias e calcule a pontuação de similaridade semântica usando um modelo de IA de última geração.

Gera conteúdo. Para prompts personalizados ou um modelo específico, veja Uso ai_query:

Função Descrição
ai_gen Responda a um prompt fornecido pelo utilizador usando um modelo de IA de última geração.

Séries temporais de previsão:

Função Descriçã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.

Analise as alterações das métricas:

Função Descrição
ai_top_drivers (Beta) Classifique os valores da dimensão que mais contribuem para uma alteração numa métrica entre um grupo de controlo e um grupo de teste.

Pesquisa com embeddings do AI Search:

Função Descrição
vector_search Pesquise e consulte um índice de pesquisa por IA usando um modelo de IA de última geração.

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

Para inferência em lote em grande escala, pode integrar funções de IA específicas de tarefa, ou a função ai_query de uso geral, nos seus fluxos de produção, como pipelines do Lakeflow, 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 recursos de computação que executam a sua consulta são sempre faturados, por exemplo, um armazém SQL ou um cluster de tarefas. Se existe ou não um custo adicional de inferência do modelo depende da função:

  • Funções específicas da tarefa (por exemplo, ai_classify, ai_summarize, ai_translate) executam inferência na infraestrutura serverless GPU gerida pelo Databricks através do Model Serving. Não provisionas esta infraestrutura, mas ela é cobrada além do teu cálculo de consultas.
  • ai_query é faturado com base no ponto final de Model Serving que especificar. Os endpoints do modelo de fundação alojados em Databricks são faturados como as funções específicas da tarefa; os endpoints de modelo personalizado e de débito provisionado executam no seu próprio computo dedicado de serviço e são faturados em conformidade.
  • ai_forecast e ai_top_drivers correm inteiramente com base no cálculo de onde as submetes, sem custo de inferência separado.
  • vector_search consulta o seu índice de AI Search através do serviço de AI Search gerido pela Databricks.

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 exemplos seguintes mostram como filtrar cargas de trabalho de inferência em lote com base em trabalhos, computação, armazéns SQL e pipelines Lakeflow.

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-se quais os pipelines do Lakeflow utilizados para inferência em lote com a tabela de sistema 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";