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.
Importante
Esse recurso está em uma versão prévia.
Este artigo descreve o Azure Databricks AI Functions e as funções com suporte.
O que são funções de IA?
As funções de IA são funções internas 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 em qualquer lugar no Databricks, incluindo Databricks SQL, notebooks, Pipelines Declarativos do Lakeflow Spark e Fluxos de Trabalho.
As funções de IA são simples de usar, rápidas e escalonáveis. Os analistas podem usá-los para aplicar data intelligence aos seus dados proprietários, enquanto cientistas de dados e engenheiros de machine learning podem usá-los para criar pipelines de lote de produção.
As funções de IA fornecem funções específicas de 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 tarefa são alimentadas por modelos de IA generativos de última geração que são hospedados e gerenciados pelo Databricks. Consulte funções de IA específicas da tarefa para funções e modelos com suporte.
-
ai_queryé uma função de uso geral que permite aplicar qualquer tipo de modelo de IA em seus dados. Consulte Função de uso geral:ai_query.
Funções de IA específicas da tarefa
As funções específicas da tarefa têm o escopo de uma determinada tarefa para que você possa automatizar ações rotineiras, como resumos simples e traduções rápidas. O Databricks recomenda essas funções para começar porque elas invocam um modelo de IA gerativo de última geração mantido pelo Databricks e não exigem nenhuma personalização.
Consulte Analisar análises de clientes usando o AI Functions para obter um exemplo.
A tabela a seguir lista as funções com suporte 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 gerativo de última geração. |
| ai_classify | Classifique o texto de entrada de acordo com os rótulos fornecidos usando um modelo de IA gerativo de última geração. |
| ai_extract | Extraia entidades especificadas por rótulos de texto usando um modelo de IA gerativo de última geração. |
| ai_corrigir_gramática | Corrigir erros gramaticais no texto usando um modelo de IA gerativo de última geração. |
| ai_gen | Responda ao prompt fornecido pelo usuário usando um modelo de IA gerativo de última geração. |
| ai_mask | Mascarar entidades especificadas em texto usando um modelo de IA generativo de última geração. |
| ai_parse_document | Extraia conteúdo estruturado de documentos não estruturados usando um modelo de IA gerativo de última geração. |
| ai_similarity | Compare duas cadeias de caracteres e compute a pontuação de similaridade semântica usando um modelo de IA de última geração. |
| ai_summarize | Gere um resumo do texto usando o SQL e o modelo de IA de última geração. |
| ai_translate | Traduza o texto para um idioma de destino especificado usando um modelo de IA gerativo de última geração. |
| ai_forecast | Previsão de dados até um horizonte especificado. Essa função com valor de tabela foi projetada para extrapolar dados de série temporal no futuro. |
| vector_search | Pesquise e consulte um índice Mosaic AI Vector Search usando um modelo de IA gerador avançado. |
Função de finalidade geral: ai_query
A ai_query() função permite aplicar qualquer modelo de IA a dados para tarefas de IA 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 a função.
A tabela a seguir resume os tipos de modelo com suporte, os modelos associados e os requisitos de configuração de ponto de extremidade para cada um deles.
| Tipo | Descrição | Modelos com suporte | Requisitos |
|---|---|---|---|
| Modelos pré-implantados | Esses modelos de base são hospedados pelo Databricks e oferecem pontos de extremidade pré-configurados que você pode consultar usando ai_query. Consulte os modelos fundamentais suportados no Mosaic AI Model Serving para saber quais modelos são suportados para cada recurso de Serviço de Modelo e sua disponibilidade regional. |
Esses modelos são compatíveis e otimizados para começar a usar fluxos de trabalho de inferência e produção em lotes:
Outros modelos hospedados pelo Databricks estão disponíveis para uso com o AI Functions, mas não são recomendados para fluxos de trabalho de produção de inferência em lotes em escala. Esses outros modelos são disponibilizados para inferência em tempo real usando APIs do Foundation Model pagas por 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. O uso desses modelos está sujeito às licenças e termos do desenvolvedor de modelo aplicável e à disponibilidade de região do AI Functions. |
| Traga seu próprio modelo | Você pode trazer seus próprios modelos e consultá-los usando o AI Functions. O AI Functions oferece flexibilidade para que você possa consultar modelos para cenários de inferência em tempo real ou inferência em lote. |
|
|
Usar ai_query com modelos base
O exemplo a seguir demonstra como usar ai_query um modelo de fundação hospedado pelo Databricks.
- Consulte
ai_querya função para obter detalhes e parâmetros de sintaxe. - Consulte entradas multimodais para obter exemplos de consultas de entradas multimodais.
- Consulte exemplos de cenários avançados para obter diretrizes sobre como configurar parâmetros para casos de uso avançado, como:
-
Manipular erros usando
failOnError - Saídas estruturadas no Azure Databricks para especificar a saída estruturada para suas respostas de consulta.
-
Manipular erros usando
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;
Notebook de exemplo: inferência em lote e extração de dados estruturados
O notebook 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 automatizadas. Este notebook também mostra como aproveitar a Avaliação do Agente de IA do Mosaico para avaliar a precisão usando dados de verdade básica.
Inferência em lote e extração de dados estruturados no notebook
Usar ai_query com modelos ML tradicionais
ai_query dá suporte a modelos ML tradicionais, incluindo os totalmente personalizados. Esses modelos precisam ser implantados em pontos de extremidade do Serviço de Modelo. Para obter detalhes e parâmetros de sintaxe, confira a função 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
Notebook de exemplo: 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 de aprendizado de máquina tradicional usando BERT.
Inferência em lote usando BERT para notebook de reconhecimento de entidade nomeada
Usar funções de IA em fluxos de trabalho do Python existentes
As funções de IA podem ser facilmente integradas em fluxos de trabalho do Python existentes.
O seguinte grava a saída de 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 código grava o texto resumido em uma 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 lotes em larga escala, você pode integrar funções de IA específicas à tarefa ou a função de uso geral ai_query em seus fluxos de trabalho de produção, como Lakeflow Spark Declarative Pipelines, workflows do Databricks e Structured Streaming. Isso possibilita o processamento em escala de nível industrial. Consulte Implantar pipelines de inferência em lote para obter exemplos e detalhes.
Monitorar o progresso do AI Functions
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 ou superior, na janela de consulta do editor de SQL em seu espaço de trabalho:
- Selecione o link Executando--- na parte inferior da janela Resultados brutos. A janela de desempenho aparece à direita.
- Clique em Ver o perfil de consulta para exibir detalhes de desempenho.
- Clique em Consulta de IA para ver as métricas dessa consulta específica, incluindo o número de inferências concluídas e com falha e o tempo total que a solicitação levou para ser concluída.
Visualizar custos para cargas de trabalho de funções de IA
Os custos da Função de IA são registrados como parte do MODEL_SERVING produto no BATCH_INFERENCE tipo de oferta. Confira Exibir os custos das cargas de trabalho de inferência em lotes para obter uma consulta de exemplo.
Observação
Os ai_parse_document custos são registrados como parte do AI_FUNCTIONS produto. Veja custos de ai_parse_document execuções para uma consulta de exemplo.
Exibir custos para cargas de trabalho de inferência em lotes
Os exemplos a seguir mostram como filtrar cargas de trabalho de inferência em lote com base em trabalho, computação, armazéns SQL e pipelines declarativos do Lakeflow Spark.
Consulte Monitorar custos de serviço de modelo para exemplos gerais de como visualizar os custos das suas cargas de trabalho de inferência em lote que usam Funções de IA.
Jobs
A consulta a seguir mostra quais tarefas estão sendo usadas para inferência em lote usando a tabela de sistemas system.workflow.jobs. Consulte Monitorar custos de trabalho e o desempenho de trabalhos usando 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, é mostrado quais clusters estão sendo usados para inferência em lote utilizando a tabela de sistemas system.compute.clusters.
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";
Pipelines Declarativos do Lakeflow Spark
A seguir, são mostradas as Pipelines Declarativas do Lakeflow Spark que estão sendo usadas 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";
SQL Warehouse
A seguir, mostra quais sql warehouses estão sendo usados para inferência em lote usando a tabela de system.compute.warehouses sistemas.
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";
Exibir custos para ai_parse_document execuções
O exemplo a seguir mostra como consultar tabelas do sistema de cobrança para exibir os custos das 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";