Partilhar via


Importar assistentes no Azure AI Search

O Azure AI Search tem dois assistentes de importação que automatizam a indexação e as definições de objeto 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 Importar dados suporta fluxos de trabalho não vetoriais. Você pode extrair texto alfanumérico 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 Importar e vetorizar dados oferece suporte à 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 internos, consulte:

Iniciando 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.

Captura de ecrã das opções do assistente de importação na barra de ações.

Os assistentes abrem totalmente expandidos na janela do navegador para que você tenha mais espaço para trabalhar.

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.

Objetos criados pelo assistente

O assistente produz os objetos na tabela a seguir. Depois que os objetos são criados, você pode revisar suas definições JSON no portal ou chamá-los a partir do código.

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 Studio.
Loja de conhecimento Opcional. Armazena a saída de 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. Habilidades de modelador 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 pelo assistente.

Limitações

O assistente não está isento de limitações. As restrições são resumidas da seguinte forma:

  • O assistente não suporta 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 da IA, conforme exposto no portal, é limitado a um subconjunto de habilidades integradas.

  • Um repositório de conhecimento, que pode ser criado pelo assistente, é 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 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 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 Azure AI Studio ou no Azure OpenAI, o acesso público à Internet deve ser habilitado. Esses recursos do Azure são chamados quando você usa habilidades internas no assistente Importar dados ou vetorização integrada no assistente Importar e vetorizar dados .

    • 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:

  1. Conecte-se a uma fonte de dados do Azure com suporte.

  2. Crie um esquema de índice, inferido pela amostragem de dados de origem.

  3. Opcionalmente, adicione IA aplicada 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.

  4. 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.

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.

Captura de ecrã do separador Ligar aos seus dados.

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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 Pesquisável e Recuperável, têm um impacto 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.

  5. 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. Apenas analisadores de linguagem podem ser especificados no portal. 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.

  6. 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:

Próximos passos

A melhor maneira de entender os benefícios e limitações do assistente é percorrê-lo. Aqui está um guia de início rápido que explica cada etapa.