Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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.
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. |
|
|
Utilize ai_query com modelos base
O exemplo a seguir demonstra como usar ai_query usando um modelo de base hospedado pelo Databricks.
- Consulte
ai_querya função para obter detalhes e parâmetros de sintaxe. - Consulte Entradas multimodais para obter exemplos de consulta de entrada multimodal.
- Consulte Exemplos de cenários avançados para obter orientação sobre como configurar parâmetros para casos de uso avançados, como:
-
Manipular erros usando
failOnError - Saídas estruturadas no Azure Databricks para saber como 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;
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
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
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:
- Selecione o link, Em execução--- na parte inferior da janela Resultados brutos . A janela de desempenho aparece à direita.
- Clique em Ver perfil de consulta para ver os detalhes de desempenho.
- 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
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";