Importar assistentes de dados no portal do Azure
O Azure AI Search tem dois assistentes de importação que automatizam a indexação e a criação de objetos para que você possa começar a consultar imediatamente. Se você é novo no Azure AI Search, esses assistentes são um dos recursos mais poderosos à sua disposição. Com o mínimo de esforço, você pode criar um pipeline de indexação ou enriquecimento que exercite a maior parte da funcionalidade do Azure AI Search.
O assistente de importação de dados suporta fluxos de trabalho não vetoriais. Você pode extrair texto e números de documentos brutos. Você também pode configurar IA aplicada e habilidades internas que inferem estrutura e geram conteúdo pesquisável de texto a partir de arquivos de imagem e dados não estruturados.
O assistente de importação e vetorização de dados adiciona fragmentação e vetorização. Você deve especificar uma implantação existente de um modelo de incorporação, mas o assistente faz a conexão, formula a solicitação e manipula a resposta. Gera conteúdo vetorial a partir de conteúdo de texto ou imagem.
Se você estiver usando o assistente para testes de prova de conceito, este artigo explica o funcionamento interno dos assistentes para que você possa usá-los de forma mais eficaz.
Este artigo não é um passo a passo. Para obter ajuda com o uso do assistente com dados de exemplo, consulte:
- Guia de início rápido: criar um índice de pesquisa
- Guia de início rápido: criar um conjunto de habilidades de tradução de texto e entidade
- Guia de início rápido: criar um índice vetorial
- Guia de início rápido: pesquisa de imagens (vetores)
Fontes de dados e cenários suportados
Os assistentes suportam a maioria das fontes de dados suportadas pelos indexadores.
Dados | Assistente de importação de dados | Assistente de importação e vetorização de dados |
---|---|---|
ADLS Gen2 | ✅ | ✅ |
Armazenamento de Blobs do Azure | ✅ | ✅ |
Armazenamento de Ficheiros do Azure | ❌ | ❌ |
Armazenamento de Tabelas do Azure | ✅ | ✅ |
Banco de dados SQL do Azure e instância gerenciada | ✅ | ✅ |
Cosmos DB para NoSQL | ✅ | ✅ |
Cosmos DB para MongoDB | ✅ | ✅ |
Cosmos DB para Apache Gremlin | ✅ | ✅ |
MySQL | ❌ | ❌ |
OneLago | ✅ | ✅ |
SharePoint Online | ❌ | ❌ |
SQL Server em máquinas virtuais | ✅ | ✅ |
Dados de exemplo
A Microsoft hospeda dados de exemplo para que você possa omitir uma etapa de configuração da fonte de dados em um fluxo de trabalho do assistente.
Dados de exemplo | Assistente de importação de dados | Assistente de importação e vetorização de dados |
---|---|---|
hotéis | ✅ | ❌ |
imobiliário | ✅ | ❌ |
Competências
Esta seção lista as habilidades que podem aparecer em um conjunto de habilidades gerado por um assistente. Os assistentes geram um conjunto de habilidades e mapeamentos de campo de saída com base nas opções selecionadas. Depois que o conjunto de habilidades é criado, você pode modificar sua definição JSON para adicionar mais habilidades.
Aqui estão alguns pontos para ter em mente sobre as habilidades na lista a seguir:
- As opções de OCR e análise de imagem estão disponíveis para blobs no Armazenamento do Azure e arquivos no OneLake, assumindo o modo de análise padrão. As imagens são um tipo de conteúdo de imagem (como PNG ou JPG) ou uma imagem incorporada em um arquivo de aplicativo (como PDF).
- Shaper é adicionado se você configurar um armazenamento de conhecimento.
- A Divisão de Texto e a Mesclagem de Texto são adicionadas para fragmentação de dados se você escolher um modelo de incorporação. Eles são adicionados para outras habilidades não incorporadas se a granularidade do campo de origem estiver definida como páginas ou frases.
Competências | Assistente de importação de dados | Assistente de importação e vetorização de dados |
---|---|---|
Visão AI multimodal | ❌ | ✅ |
Incorporação do Azure OpenAI | ❌ | ✅ |
Azure Machine Learning (catálogo de modelos do Azure AI Foundry) | ❌ | ✅ |
Layout do documento | ❌ | ✅ |
Reconhecimento da entidade | ✅ | ❌ |
Análise de imagem (aplica-se a blobs, análise padrão, indexação de arquivos inteiros | ✅ | ❌ |
Extração de palavras-chave | ✅ | ❌ |
Deteção de idioma | ✅ | ❌ |
Tradução de texto | ✅ | ❌ |
OCR (aplica-se a blobs, análise padrão, indexação de arquivos inteiros) | ✅ | ✅ |
Deteção de PII | ✅ | ❌ |
Análise de sentimento | ✅ | ❌ |
Shaper (aplica-se ao armazenamento de conhecimento) | ✅ | ❌ |
Divisão de texto | ✅ | ✅ |
Mesclagem de texto | ✅ | ✅ |
Arquivo de dados de conhecimento
Você pode gerar um armazenamento de conhecimento para armazenamento secundário de conteúdo enriquecido (gerado por habilidades). Você pode querer um armazenamento de conhecimento para fluxos de trabalho de recuperação de informações que não exigem um mecanismo de pesquisa.
Arquivo de dados de conhecimento | Assistente de importação de dados | Assistente de importação e vetorização de dados |
---|---|---|
storage | ✅ | ❌ |
O que os assistentes criam
Os assistentes de importação criam os objetos descritos na tabela a seguir. Depois que os objetos forem criados, você poderá revisar suas definições JSON no portal do Azure ou chamá-los a partir do código.
Para exibir esses objetos após a execução do assistente:
Entre no portal do Azure e encontre seu serviço de pesquisa.
Selecione Gerenciamento de pesquisa no menu para encontrar páginas para índices, indexadores, fontes de dados e conjuntos de habilidades.
Objeto | Description |
---|---|
Indexador | Um objeto de configuração que especifica uma fonte de dados, índice de destino, um conjunto de habilidades opcional, agendamento opcional e definições de configuração opcionais para entrega de erros e codificação base-64. |
Origem de Dados | Persiste as informações de conexão com uma fonte de dados com suporte no Azure. Um objeto de fonte de dados é usado exclusivamente com indexadores. |
Índice | Estrutura de dados física usada para pesquisa de texto completo e outras consultas. |
Conjunto de competências | Opcional. Um conjunto completo de instruções para manipular, transformar e moldar conteúdo, incluindo a análise e extração de informações de arquivos de imagem. Os conjuntos de habilidades também são usados para vetorização integrada. A menos que o volume de trabalho esteja abaixo do limite de 20 transações por indexador por dia, o conjunto de habilidades deve incluir uma referência a um recurso multisserviço de IA do Azure que fornece enriquecimento. Para vetorização integrada, você pode usar o Azure AI Vision ou um modelo de incorporação no catálogo de modelos do Azure AI Foundry. |
Loja de conhecimento | Opcional. Disponível apenas no assistente Importar dados . Armazena a saída enriquecida do conjunto de habilidades em tabelas e blobs no Armazenamento do Azure para análise independente ou processamento downstream em cenários sem pesquisa. |
Benefícios
Antes de escrever qualquer código, você pode usar os assistentes para prototipagem e testes de prova de conceito. Os assistentes se conectam a fontes de dados externas, amostram os dados para criar um índice inicial e, em seguida, importam e, opcionalmente, vetorizam os dados como documentos JSON em um índice no Azure AI Search.
Se você estiver avaliando conjuntos de habilidades, o assistente manipula mapeamentos de campo de saída e adiciona funções auxiliares para criar objetos utilizáveis. A divisão de texto será adicionada se você especificar um modo de análise. A mesclagem de texto é adicionada se você escolher a análise de imagem para que o assistente possa reunir descrições de texto com conteúdo de imagem. As habilidades de modelador são adicionadas para suportar projeções válidas se você escolher a opção de armazenamento de conhecimento. Todas as tarefas acima vêm com uma curva de aprendizado. Se você é novo no enriquecimento, a capacidade de ter essas etapas tratadas para você permite que você meça o valor de uma habilidade sem ter que investir muito tempo e esforço.
A amostragem é o processo pelo qual um esquema de índice é inferido e tem algumas limitações. Quando a fonte de dados é criada, o assistente seleciona uma amostra aleatória de documentos para decidir quais colunas fazem parte da fonte de dados. Nem todos os arquivos são lidos, pois isso pode levar horas para fontes de dados muito grandes. Dada uma seleção de documentos, os metadados de origem, como nome ou tipo de campo, são usados para criar uma coleção de campos em um esquema de índice. Dependendo da complexidade dos dados de origem, talvez seja necessário editar o esquema inicial para precisão ou estendê-lo para integridade. Você pode fazer suas alterações embutidas na página de definição de índice.
No geral, as vantagens de usar o assistente são claras: desde que os requisitos sejam atendidos, você pode criar um índice consultável em poucos minutos. Algumas das complexidades da indexação, como a serialização de dados como documentos JSON, são tratadas pelos assistentes.
Limitações
Os assistentes de importação não estão isentos de limitações. As restrições são resumidas da seguinte forma:
Os assistentes não suportam iteração ou reutilização. Cada passagem pelo assistente cria um novo índice, conjunto de habilidades e configuração de indexador. Somente as fontes de dados podem ser mantidas e reutilizadas no assistente. Para editar ou refinar outros objetos, exclua os objetos e comece de novo ou use as APIs REST ou o SDK do .NET para modificar as estruturas.
O conteúdo de origem deve residir em uma fonte de dados suportada.
A amostragem é feita sobre um subconjunto de dados de origem. Para fontes de dados grandes, é possível que o assistente perca campos. Talvez seja necessário estender o esquema ou corrigir os tipos de dados inferidos, se a amostragem for insuficiente.
O enriquecimento de IA, conforme exposto no portal do Azure, é limitado a um subconjunto de habilidades internas.
Um armazenamento de conhecimento, que pode ser criado pelo assistente Importar dados , é limitado a algumas projeções padrão e usa uma convenção de nomenclatura padrão. Se quiser personalizar nomes ou projeções, você precisará criar o armazenamento de conhecimento por meio da API REST ou dos SDKs.
Ligações seguras
Os assistentes de importação fazem conexões de saída usando o controlador do portal do Azure e pontos de extremidade públicos. Não pode utilizar os assistentes se os recursos do Azure forem acedidos através de uma ligação privada ou através de uma ligação privada partilhada.
Você pode usar os assistentes em conexões públicas restritas, mas nem todas as funcionalidades estão disponíveis.
Em um serviço de pesquisa, a importação dos dados de exemplo internos requer um ponto de extremidade público e nenhuma regra de firewall.
Os dados de exemplo são hospedados pela Microsoft em recursos específicos do Azure. o controlador do portal do Azure se conecta a esses recursos por meio de um ponto de extremidade público. Se você colocar seu serviço de pesquisa atrás de um firewall, receberá este erro ao tentar recuperar os dados de exemplo internos:
Import configuration failed, error creating Data Source
, seguido por"An error has occured."
.Em fontes de dados do Azure com suporte protegidas por firewalls, você pode recuperar dados se tiver as regras de firewall corretas em vigor.
O recurso do Azure deve admitir solicitações de rede do endereço IP do dispositivo usado na conexão. Você também deve listar o Azure AI Search como um serviço confiável na configuração de rede do recurso. Por exemplo, no Armazenamento do Azure, você pode listar
Microsoft.Search/searchServices
como um serviço confiável.Em conexões com uma conta multisserviço do Azure AI que você fornece, ou em conexões com modelos de incorporação implantados no portal do Azure AI Foundry ou no Azure OpenAI, o acesso público à Internet deve ser habilitado, a menos que seu serviço de pesquisa atenda aos requisitos de data de criação, camada e região para conexões privadas. Para obter mais informações sobre esses requisitos, consulte Fazer conexões de saída por meio de um link privado compartilhado.
As conexões com o multisserviço Azure AI são para fins de cobrança. O faturamento ocorre quando as chamadas de API excedem a contagem de transações livres (20 por execução do indexador) para habilidades internas chamadas pelo assistente Importar dados ou vetorização integrada no assistente Importar e vetorizar dados .
Se o Azure AI Search não puder se conectar:
No assistente Importar e vetorizar dados, o erro é
"Access denied due to Virtual Network/Firewall rules."
No assistente Importar dados, não há erro, mas o conjunto de habilidades não será criado.
Se as configurações de firewall impedirem que os fluxos de trabalho do assistente sejam bem-sucedidos, considere abordagens programáticas ou com script.
Fluxo de Trabalho
O assistente está organizado em quatro etapas principais:
Conecte-se a uma fonte de dados do Azure com suporte.
Crie um esquema de índice, inferido pela amostragem de dados de origem.
Opcionalmente, adiciona habilidades para extrair ou gerar conteúdo e estrutura. As entradas para a criação de um repositório de conhecimento são coletadas nesta etapa.
Execute o assistente para criar objetos, opcionalmente vetorizar dados, carregar dados em um índice, definir uma programação e outras opções de configuração.
O fluxo de trabalho é um pipeline, então é uma maneira. Você não pode usar o assistente para editar nenhum dos objetos que foram criados, mas pode usar outras ferramentas do portal, como o designer de índice ou indexador ou os editores JSON, para atualizações permitidas.
Iniciando os assistentes
Veja como iniciar os assistentes.
No portal do Azure, abra a página do serviço de pesquisa no painel ou localize seu serviço na lista de serviços.
Na página Visão geral do serviço na parte superior, selecione Importar dados ou Importar e vetorizar dados.
Os assistentes abrem totalmente expandidos na janela do navegador para que você tenha mais espaço para trabalhar.
Se você selecionou Importar dados, poderá selecionar a opção Exemplos para indexar um conjunto de dados hospedado pela Microsoft a partir de uma fonte de dados com suporte.
Siga as etapas restantes no assistente para criar o índice e o indexador.
Você também pode iniciar a Importação de dados de outros serviços do Azure, incluindo o Azure Cosmos DB, o Banco de Dados SQL do Azure, a Instância Gerenciada do SQL e o Armazenamento de Blobs do Azure. Procure Adicionar Pesquisa do Azure AI no painel de navegação esquerdo na página de visão geral do serviço.
Configuração da fonte de dados no assistente
Os assistentes se conectam a uma fonte de dados externa com suporte usando a lógica interna fornecida pelos indexadores do Azure AI Search, que são equipados para obter amostras da fonte, ler metadados, quebrar documentos para ler conteúdo e estrutura e serializar conteúdo como JSON para importação subsequente para o Azure AI Search.
Você pode colar em uma conexão com uma fonte de dados suportada em uma assinatura ou região diferente, mas o seletor Escolha uma conexão existente tem como escopo a assinatura ativa.
Nem todas as fontes de dados de visualização têm a garantia de estar disponíveis no assistente. Como cada fonte de dados tem o potencial de introduzir outras alterações a jusante, uma fonte de dados de visualização só será adicionada à lista de fontes de dados se oferecer suporte total a todas as experiências no assistente, como definição de conjunto de habilidades e inferência de esquema de índice.
Você só pode importar de uma única tabela, exibição de banco de dados ou estrutura de dados equivalente, no entanto, a estrutura pode incluir subestruturas hierárquicas ou aninhadas. Para obter mais informações, consulte Como modelar tipos complexos.
Configuração do conjunto de habilidades no assistente
A configuração do conjunto de habilidades ocorre após a definição da fonte de dados porque o tipo de fonte de dados informa a disponibilidade de determinadas habilidades internas. Em particular, se você estiver indexando arquivos do armazenamento de Blob, sua escolha de modo de análise desses arquivos determinará se a análise de sentimento está disponível.
O assistente adiciona as habilidades que você escolher. Ele também acrescenta outras habilidades que são necessárias para alcançar um resultado bem-sucedido. Por exemplo, se você especificar um repositório de conhecimento, o assistente adicionará uma habilidade Shaper para dar suporte a projeções (ou estruturas de dados físicas).
Os conjuntos de habilidades são opcionais e há um botão na parte inferior da página para pular à frente se você não quiser enriquecimento de IA.
Configuração do esquema de índice no assistente
Os assistentes amostram sua fonte de dados para detetar os campos e o tipo de campo. Dependendo da fonte de dados, ele também pode oferecer campos para indexação de metadados.
Como a amostragem é um exercício impreciso, analise o índice para as seguintes considerações:
A lista de campos é precisa? Se a fonte de dados contiver campos que não foram selecionados na amostragem, você poderá adicionar manualmente quaisquer novos campos perdidos e remover os que não agreguem valor a uma experiência de pesquisa ou que não sejam usados em uma expressão de filtro ou perfil de pontuação.
O tipo de dados é apropriado para os dados recebidos? O Azure AI Search dá suporte aos tipos de dados de modelo de dados de entidade (EDM). Para dados SQL do Azure, há um gráfico de mapeamento que estabelece valores equivalentes. Para obter mais informações, consulte Mapeamentos e transformações de campo.
Você tem um campo que pode servir como chave? Este campo deve ser Edm.string e deve identificar exclusivamente um documento. Para dados relacionais, eles podem ser mapeados para uma chave primária. Para blobs, pode ser o
metadata-storage-path
. Se os valores de campo incluírem espaços ou traços, você deverá definir a opção Chave de codificação Base-64 na etapa Criar um indexador, em Opções avançadas, para suprimir a verificação de validação desses caracteres.Defina atributos para determinar como esse campo é usado em um índice.
Dedique seu tempo a esta etapa porque os atributos determinam a expressão física dos campos no índice. Se você quiser alterar atributos mais tarde, mesmo programaticamente, quase sempre precisará descartar e reconstruir o índice. Os principais atributos, como Searchable e Retrievable, têm um efeito insignificante no armazenamento. A ativação de filtros e o uso de sugestões aumentam os requisitos de armazenamento.
Pesquisável permite a pesquisa de texto completo. Todos os campos usados em consultas de forma livre ou em expressões de consulta devem ter esse atributo. Índices invertidos são criados para cada campo marcado como pesquisável.
Recuperável retorna o campo nos resultados da pesquisa. Cada campo que fornece conteúdo para os resultados da pesquisa deve ter esse atributo. A definição deste campo não afeta significativamente o tamanho do índice.
Filtrável permite que o campo seja referenciado em expressões de filtro. Cada campo usado em uma expressão $filter deve ter esse atributo. As expressões de filtro são para correspondências exatas. Como as cadeias de texto permanecem intactas, é necessário mais armazenamento para acomodar o conteúdo literal.
Facetable habilita o campo para navegação facetada. Apenas os campos também marcados como Filtráveis podem ser marcados como Facetable.
Classificável permite que o campo seja usado em uma classificação. Cada campo usado em uma expressão $Orderby deve ter esse atributo.
Precisa de análise lexical? Para campos Edm.string que são pesquisáveis, você pode definir um Analyzer se quiser indexação e consulta com idioma aprimorado.
O padrão é Standard Lucene , mas você pode escolher o inglês da Microsoft se quiser usar o analisador da Microsoft para processamento lexical avançado, como resolver substantivos e formas verbais irregulares. Somente analisadores de idiomas podem ser especificados no portal do Azure. Se você usar um analisador personalizado ou um analisador não linguístico como Palavra-chave, Padrão e assim por diante, deverá criá-lo programaticamente. Para obter mais informações sobre analisadores, consulte Adicionar analisadores de idioma.
Você precisa da funcionalidade typeahead na forma de preenchimento automático ou resultados sugeridos? Marque a caixa de seleção Sugestionar para habilitar sugestões de consulta de digitação antecipada e preenchimento automático nos campos selecionados. Os sugestionadores aumentam o número de termos tokenizados em seu índice e, portanto, consomem mais armazenamento.
Configuração do indexador no assistente
A última página do assistente coleta entradas do usuário para a configuração do indexador. Você pode especificar uma agenda e definir outras opções que variarão de acordo com o tipo de fonte de dados.
Internamente, o assistente também configura as seguintes definições, que não são visíveis no indexador até que ele seja criado:
- Mapeamentos de campo entre a fonte de dados e o índice
- Mapeamentos de campo de saída entre a saída de habilidades e um índice
Experimente os assistentes
A melhor maneira de entender os benefícios e limitações do assistente é percorrê-lo. Aqui estão alguns inícios rápidos baseados no assistente.