Pular para o conteúdo principal

Tarefas de função de AI para jobs

info

Beta

Este recurso está em Beta. Para usá-lo, um administrador do Workspace deve ativar a Tarefa de função de AI do Lakeflow na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.

Use uma tarefa de Função de AI para a execução de uma função de AI em cada arquivo em um volume do Unity Catalog ou em cada linha de uma tabela como parte de um Job. A tarefa escreve um resultado por arquivo ou linha em uma tabela do Unity Catalog que ela cria e gerencia. Cada execução processa apenas os arquivos ou linhas que foram adicionados, alterados ou excluídos desde a execução anterior. Na Jobs API e nos Declarative Automation Bundles, uma tarefa de Função de AI é um ai_function_task, e sua configuração de função determina seu tipo: ai_parse_document, ai_extract ou ai_classify.

Tipos de tarefa de Função de AI​

Cada tipo de tarefa execução uma função de AI e tem o nome dela, por exemplo, uma tarefa ai_parse_document. Na interface do usuário de Jobs, os tipos de tarefa aparecem em Inteligência de documentos . Para adicionar uma tarefa, veja a página do seu tipo de tarefa.

Processamento inteligente de documentos​

Tipo de tarefa

Nome da UI de Jobs

Entrada

Descrição

ai_parse_document

Processamento de documentos

Arquivos em um volume ou uma coluna de tabela FILE ou BINARY

Analise conteúdo estruturado (texto, tabelas, descrições de figuras) e a disposição de documentos não estruturados.

ai_extract

Extração de informações

Uma coluna de texto ou tabela VARIANT, como a coluna response de uma tarefa ai_parse_document

Extraia campos estruturados de documentos ou textos usando um esquema que você definir.

ai_classify

Classificação

Uma coluna de texto ou VARIANT tabela, como a coluna response de uma tarefa ai_parse_document

Classifique o texto de entrada de acordo com os rótulos que você fornecer.

Tipo de tarefa

Nome da UI de Jobs

Entrada

Descrição

ai_parse_document

Processamento de documentos

Arquivos em um volume ou uma coluna de tabela FILE ou BINARY

Analise conteúdo estruturado (texto, tabelas, descrições de figuras) e a disposição de documentos não estruturados.

ai_extract

Extração de informações

Uma coluna de texto ou tabela VARIANT, como a coluna response de uma tarefa ai_parse_document

Extraia campos estruturados de documentos ou textos usando um esquema que você definir.

ai_classify

Classificação

Uma coluna de texto ou VARIANT tabela, como a coluna response de uma tarefa ai_parse_document

Classifique o texto de entrada de acordo com os rótulos que você fornecer.

Por exemplo, você pode usar tarefa de Função de AI para:

  • Analise novos contratos adicionados a um volume todas as noites.
  • Extraia campos de fatura de documentos que uma tarefa ai_parse_document analisou.
  • Classifique os tickets de suporte recebidos por urgência antes que uma tarefa posterior os encaminhe.

Requisitos​

  • Se Inteligência de documentos não aparecer na lista de tarefas, um administrador do workspace deve habilitar a visualização Tarefa da Função AI do Lakeflow .

  • As funções de AI devem estar disponíveis na região do seu workspace. Veja Recursos com disponibilidade regional limitada.

  • O esquema de saída deve existir antes da execução da tarefa.

  • O execução como usuário do Job deve ter os seguintes privilégios:

    • USE CATALOG e USE SCHEMA nos catálogos e esquemas de entrada e saída.
    • SELECT na tabela de entrada, ou READ VOLUME no volume de entrada.
    • CREATE TABLE no esquema de saída, para a execução que cria a tabela de saída.
    • MODIFY na tabela de saída para execuções posteriores.
    • EXECUTE na função em system.ai, se sua organização restringir o acesso ao AI Functions. Veja Permissões de Unity Catalog para AI Functions.
  • Uma tabela de entrada deve ter change data feed habilitado. Para habilitá-lo, execução o seguinte:

    SQL
    ALTER TABLE <table-name> SET TBLPROPERTIES (delta.enableChangeDataFeed = true);
  • Se você não adicionar uma coluna de ID e a coluna de entrada não for do tipo FILE, uma tabela de entrada também deve ter o acompanhamento de linha habilitado. Para habilitá-lo, execução o seguinte:

    SQL
    ALTER TABLE <table-name> SET TBLPROPERTIES (delta.enableRowTracking = true);

Entrada​

Em Entrada , selecione um volume do Unity Catalog ou uma pasta em um volume para a execução da função em cada arquivo. Ou selecione uma tabela e a Coluna que contém o conteúdo para execução da função em cada linha. As fontes e os tipos de coluna compatíveis dependem do tipo de tarefa. Consulte Tipos de tarefa da Função de AI.

Para entradas de documentos, a Databricks recomenda o seguinte:

  • Armazene documentos em uma tabela como uma coluna FILE (Beta) em vez de uma coluna BINARY.
  • Para uma entrada de volume, ative eventos de arquivo para o local externo do volume. Os eventos de arquivo não são necessários, mas a tarefa encontra arquivos novos e alterados mais rapidamente com eles.

Coluna de ID​

Para uma entrada de tabela, você pode adicionar uma coluna de ID , como uma key primária. Para adicioná-la, clique em Adicionar ao lado de Coluna de ID . A tarefa usa a coluna de ID para corresponder resultados às linhas de origem entre as execuções e a copia para a tabela de saída. Sem uma coluna de ID, a tarefa identifica linhas pelo seu ID de acompanhamento de linha. Para uma coluna FILE, a tarefa identifica as linhas pelo URI do arquivo; portanto, o acompanhamento de linha não é necessário, e as linhas que fazem referência ao mesmo arquivo compartilham um resultado.

Saída​

Em Saída , selecione o Local : o catalog e o schema do Unity Catalog para a tabela de saída. Se você não inserir um Nome da tabela , a tarefa gera um que começa com parsed, extracted ou classified e permanece igual entre as execuções.

A tarefa cria e gerencia sua tabela de saída. Uma execução falha se uma tabela com esse nome já existir e a tarefa não a tiver criado.

Use a saída em uma tarefa posterior​

Uma tarefa posterior pode ler uma tabela de saída de uma tarefa de AI Function com a referência de valor dinâmico {{tasks.<task_name>.output.table_name}}.

Quando você adiciona uma tarefa de AI Function depois de outra tarefa de AI Function, sua entrada default para a tabela de saída e a coluna response da tarefa anterior. Por exemplo, uma tarefa ai_parse_document seguida por uma tarefa ai_extract extrai campos dos documentos analisados. Veja Usar com outras funções de AI.

Definir tarefas de função de AI em código​

Você pode definir tarefas de Função de AI em Declarative Automation Bundles, na CLI do Databricks ou na Jobs API. Adicione um ai_function_task à tarefa, com uma entrada (volume ou delta_table), o local output e uma função (ai_parse_document, ai_extract ou ai_classify). Se você omitir output.table, a tarefa gerará o nome da tabela. Para obter um exemplo, consulte a página para cada tipo de tarefa.

Como funcionam as tarefas de função de AI​

Processamento incremental​

Em cada execução, a tarefa processa arquivos e linhas que são novos ou alterados desde a execução anterior e exclui os resultados de arquivos e linhas que foram excluídos. As alterações nas configurações da tarefa, como os campos a extrair, os rótulos ou as instruções, aplicam-se apenas às entradas processadas após a alteração. Para aplicá-las a todas as entradas, insira um novo Nome da tabela . Se você alterar a tabela de entrada ou saída da tarefa, a próxima execução processará todas as entradas novamente, o que aumenta o custo. Veja view custos de workloads de Funções AI.

Tabela de saída​

A tabela de saída é uma tabela de transmissão que uma tarefa posterior pode ler incrementalmente. Ele contém as seguintes colunas:

  • Coluna de ID ou id : Identifica a entrada, como o caminho de um arquivo em um volume.
  • response : O resultado completo da função como um VARIANT, no formato que a função retorna. Valores opcionais, como pontuações de confiança, fundamentos e citações, são parte deste resultado. A tarefa não adiciona uma coluna para cada valor. Para obter um valor como coluna, selecione-o em response em uma query.
  • error : O erro para essa entrada, ou NULL quando a solicitação é bem-sucedida.

Para combinar resultados com dados de origem, faça um join na coluna ID.

Monitorar uma execução​

Enquanto a tarefa está em execução, o gráfico de tarefas mostra a porcentagem de entradas processadas. A saída da execução mostra o número de entradas de Linhas , Bem-sucedidas e Falhadas , e o tempo estimado restante ( ETA ). Após a execução, Dados de Amostra mostra as linhas da tabela de saída.

Limitações​

  • Uma tarefa pode ter apenas uma execução ativa. Se você começar uma execução enquanto outra execução da mesma tarefa estiver em andamento, a nova execução falhará.
  • As execuções de tarefas de AI Function em um workspace compartilham a capacidade de AI Functions do workspace, portanto, as execuções demoram mais quando muitas são executadas de uma vez. Para obter o melhor desempenho, mantenha cerca de 20 ou menos execuções ativas por vez.

Outros recursos​