Compartilhar via


Início Rápido: vetorizar texto e imagens usando o portal do Azure

Esse início rápido ajuda você a começar a usar a vetorização integrada usando o assistente de importação e vetorização de dados no portal do Azure. O assistente agrupa seu conteúdo e chama um modelo de inserção para vetorizar o conteúdo durante a indexação e para consultas.

Pré-requisitos

Fontes de dados com suporte

O assistente de Importação e vetorização de dados dá suporte a uma ampla gama de fontes de dados do Azure, mas esse início rápido fornece etapas apenas para as fontes de dados que funcionam com arquivos inteiros:

Modelos de inserção com suporte

Use um modelo de inserção em uma plataforma de IA do Azure na mesma região que a Pesquisa de IA do Azure. Instruções de implantação estão neste artigo.

Provedor Modelos com suporte
Serviço OpenAI do Azure text-embedding-ada-002
text-embedding-3-large
text-embedding-3-small
Catálogo de modelos do Azure AI Foundry Para texto:
Cohere-embed-v3-english
Cohere-embed-v3-multilingual
Para imagens:
Facebook-DinoV2-Image-Embeddings-ViT-Base
Facebook-DinoV2-Image-Embeddings-ViT-Giant
Conta de vários serviços de IA do Azure Multimodal da Visão de IA do Azure para vetorização de imagem e texto, disponível em regiões selecionadas. Dependendo de como você anexar o recurso de vários serviços, a conta de vários serviços pode precisar estar na mesma região que a Pesquisa de IA do Azure.

Se você usar o Serviço OpenAI do Azure, o ponto de extremidade precisará ter um subdomínio personalizado associado. Subdomínio personalizado é um ponto de extremidade que inclui um nome exclusivo (por exemplo, https://hereismyuniquename.cognitiveservices.azure.com). Se o serviço tiver sido criado por meio do portal do Azure, esse subdomínio será gerado automaticamente como parte da configuração do serviço. Certifique-se de que o serviço inclua um subdomínio personalizado antes de usá-lo com a integração da Pesquisa de IA do Azure.

Os recursos do Serviço OpenAI do Azure (com acesso aos modelos de incorporação) criados no portal do Azure AI Foundry não têm suporte. Somente os recursos do Serviço OpenAI do Azure criados no portal do Azure são compatíveis com a integração da habilidade de Incorporação do OpenAI do Azure.

Requisitos de ponto de extremidade público

Para fins deste início rápido, todos os recursos anteriores devem ter acesso público habilitado para que os nós do portal do Azure possam acessá-los. Caso contrário, o assistente falhará. Após a execução do assistente, é possível habilitar os firewalls e os pontos de extremidade privados nos componentes de integração para segurança. Para obter mais informações, consulte Conexões seguras nos assistentes de importação.

Se os pontos de extremidade privados já estiverem presentes e não puderem ser desabilitados, a opção alternativa será executar o respectivo fluxo de ponta a ponta por meio de um script ou um programa em uma máquina virtual. A máquina virtual deve estar na mesma rede virtual que o ponto de extremidade privado. Este é um exemplo de código Python para vetorização integrada. O mesmo repositório GitHub contém amostras em outras linguagens de programação.

Permissões

Você pode usar a autenticação de chave e cadeias de conexão com acesso total ou o Microsoft Entra ID com atribuições de função. Recomendamos atribuições de função para pesquisar conexões de serviço com outros recursos.

  1. No IA do Azure Search, habilite funções.

  2. Configure seu serviço de pesquisa para usar uma identidade gerenciada.

  3. Na plataforma de fonte de dados e no provedor de modelo de incorporação, crie atribuições de função que permitam que o serviço de pesquisa acesse dados e modelos. Preparar dados de exemplo fornece instruções para definir funções para cada fonte de dados com suporte.

Um serviço de pesquisa gratuito dá suporte a conexões baseadas em função com a Pesquisa de IA do Azure, mas não dá suporte a identidades gerenciadas em conexões de saída com o Armazenamento do Microsoft Azure ou a Visão de IA do Azure. Esse nível de suporte significa que você precisa usar a autenticação baseada em chave em conexões entre um serviço de pesquisa gratuito e outros serviços do Azure.

Para conexões mais seguras:

Observação

Se você não puder progredir pelo assistente devido à indisponibilidade de opções (por exemplo, você não pode selecionar uma fonte de dados ou um modelo de inserção), reveja as atribuições de função. Mensagens de erro indicam que não existem modelos ou implantações, quando na verdade a causa real é que o serviço de pesquisa não tem permissão para acessá-los.

Verificar o espaço

Se você estiver começando com o serviço gratuito, estará limitado a três índices, fontes de dados, conjuntos de habilidades e indexadores. Básico limita você a 15. Verifique se há espaço para itens extras antes de começar. Este guia de início rápido cria uma unidade de cada objeto.

Preparar os dados de exemplo

Essa seção encaminha você para o conteúdo que funciona nesse início rápido.

  1. Entre no portal do Azure com sua conta do Azure e acesse a conta de Armazenamento do Azure.

  2. No painel esquerdo, sob Armazenamento de Dados, selecione Contêineres.

  3. Crie um novo contêiner e carregue os documentos em PDF do plano de saúde usados neste início rápido.

  4. No painel esquerdo, em Controle de acesso, atribua a função Leitor de dados de blob de armazenamento à identidade do serviço de pesquisa. Ou obtenha uma cadeia de conexão para a conta de armazenamento na página chaves de acesso.

  5. Opcionalmente, sincronize as exclusões no seu contêiner com as exclusões no índice de pesquisa. Essas próximas etapas permitem que você configure o indexador para detecção da exclusão:

    1. Habilite a exclusão reversível na sua conta de armazenamento.

    2. Se você estiver usando a exclusão reversível nativa, nenhuma etapa adicional será necessária no Armazenamento do Microsoft Azure.

    3. Caso contrário, adicione metadados personalizados que um indexador possa examinar para determinar quais blobs estão marcados para exclusão. Dê à sua propriedade personalizada um nome descritivo. Por exemplo, você pode nomear a propriedade "IsDeleted", definida como false. Faça isso para cada blob no contêiner. Posteriormente, quando quiser excluir o blob, altere a propriedade para true. Para obter mais informações, confira Alterar e excluir a detecção ao indexar a partir do Armazenamento do Microsoft Azure

Configurar modelos de inserção

O assistente pode usar os modelos de incorporação implantados a partir do OpenAI do Azure, da Visão de IA do Azure ou do catálogo de modelos no portal do Azure AI Foundry.

O assistente dá suporte a text-embedding-ada-002, text-embedding-3-large e text-embedding-3-small. Internamente, o assistente usa a Habilidade AzureOpenAIEmbedding para se conectar ao OpenAI do Azure.

  1. Entre no portal do Azure com sua conta do Azure e acesse o recurso de OpenAI do Azure.

  2. Configure as permissões:

    1. No menu à esquerda, selecione Controle de Acesso.

    2. Selecione Adicionar e selecione Adicionar atribuição de função.

    3. Em Funções de função de trabalho, selecione Usuário de OpenAI dos Serviços Cognitivos e selecione Avançar.

    4. Em Membros selecione Identidade gerenciada e selecione Membros.

    5. Filtre por assinatura e tipo de recurso (serviços de pesquisa) e selecione a identidade gerenciada do serviço de pesquisa.

    6. Selecione Examinar + atribuir.

  3. Na página Visão geral, selecione Clique aqui para exibir pontos de extremidade ou Clique aqui para gerenciar chaves se precisar copiar um ponto de extremidade ou uma chave de API. Você poderá colar esses valores no assistente se estiver usando um recurso do OpenAI do Azure com autenticação baseada em chave.

  4. Em Gerenciamento de Recursos, selecione Implantações de modelos e selecione Gerenciar implantações para abrir o Azure AI Foundry.

  5. Copie o nome da implantação de text-embedding-ada-002 ou outro modelo de inserção com suporte. Se você não tiver um modelo de inserção, implante um agora.

Iniciar o assistente

  1. Entre no portal do Azure com sua conta do Azure e acesse o serviço de IA do Azure Search.

  2. Na página Visão geral, selecione Importar e vetorizar dados.

    Captura de tela do comando para abrir o assistente de importação e vetorização de dados.

Conectar-se aos seus dados

A próxima etapa é conectar-se a uma fonte de dados a ser usada para o índice de pesquisa.

  1. Em Conectar-se com seus dados, selecione Armazenamento de Blobs do Azure.

  2. Especifique a assinatura do Azure.

  3. Escolha a conta de armazenamento e o contêiner que fornecem os dados.

  4. Especifique se deseja suporte à detecção de exclusão. Nas execuções de indexação subsequentes, o índice de pesquisa é atualizado para remover todos os documentos de pesquisa com base em blobs excluídos suavemente no Armazenamento do Microsoft Azure.

    • Os blobs dão suporte à Exclusão reversível de blob nativa ou à Exclusão reversível usando dados personalizados.
    • Você precisa ter habilitado a exclusão reversível anteriormente no Armazenamento do Microsoft Azure e, opcionalmente, adicionado metadados personalizados que a indexação possa reconhecer como um sinalizador de exclusão. Para obter mais informações sobre essas etapas, confira Preparar amostras de dados.
    • Se você configurou seus blobs para a exclusão reversível usando dados personalizados, forneça o par de nome-valor da propriedade de metadados nessa etapa. Recomendamos "IsDeleted". Se "IsDeleted" estiver definido como true em um blob, o indexador removerá o documento de pesquisa correspondente na próxima execução do indexador.

    O assistente não verifica se há configurações válidas no Armazenamento do Microsoft Azure nem gera um erro se os requisitos não forem atendidos. Em vez disso, a detecção da exclusão não funciona e seu índice de pesquisa provavelmente irá coletar documentos órfãos ao longo do tempo.

    Captura de tela da página da fonte de dados com opções de detecção da exclusão.

  5. Especifique se deseja que seu serviço de pesquisa se conecte ao Armazenamento do Microsoft Azure usando sua identidade gerenciada.

    • Você será solicitado a escolher uma identidade gerenciada pelo sistema ou gerenciada pelo usuário.
    • A identidade deve ter uma função Leitor de dados de blob de armazenamento no Armazenamento do Microsoft Azure.
    • Não ignore esta etapa. Ocorrerá um erro de conexão durante a indexação se o assistente não puder se conectar ao Armazenamento do Microsoft Azure.
  6. Selecione Avançar.

Vetorizar seu texto

Nesta etapa, especifique o modelo de inserção para vetorização de dados divididos em partes.

O chunking é integrado e não configurável. Estas são as configurações efetivas:

"textSplitMode": "pages",
"maximumPageLength": 2000,
"pageOverlapLength": 500,
"maximumPagesToTake": 0, #unlimited
"unit": "characters"
  1. Na página Vetorizar seu texto, escolha a origem do modelo de inserção:

    • OpenAI do Azure
    • Catálogo de modelos do Azure AI Foundry
    • Um recurso multimodal existente do Azure AI Vision na mesma região que o Azure AI Search. Se não houver conta multiatendimento dos Serviços de IA do Azure na mesma região, essa opção não estará disponível.
  2. Escolha a assinatura do Azure.

  3. Faça seleções de acordo com o recurso:

    • Para o Azure OpenAI, escolha uma implantação existente de text-embedding-ada-002, text-embedding-3-large ou text-embedding-3-small.

    • Para o catálogo do Azure AI Foundry, escolha uma implantação existente de um modelo de inserção do Azure ou do Cohere.

    • Para inserções multimodal da Visão de IA, selecione a conta.

    Para saber mais, confira Configurar modelos de inserção anteriormente neste artigo.

  4. Especifique se deseja que seu serviço de pesquisa se autentique usando uma chave de API ou uma identidade gerenciada.

    • A identidade deve ter uma função de Usuário do OpenAI dos Serviços Cognitivos na conta de vários serviços de IA do Azure.
  5. Marque a caixa de seleção que dá o aceite aos efeitos do uso desses recursos sobre a cobrança.

    Captura de tela da página de texto vetorizado no assistente.

  6. Selecione Avançar.

Vetorizar e enriquecer suas imagens

Os PDFs do plano de saúde incluem um logotipo corporativo, mas, caso contrário, não há imagens. Você pode ignorar esta etapa se estiver usando os documentos de exemplo.

No entanto, se você trabalha com conteúdo que inclui imagens úteis, pode aplicar a IA de duas maneiras:

  • Use um modelo de inserção de imagem compatível por meio do catálogo ou escolha a API de inserções multimodal da Visão de IA do Azure para vetorizar imagens.

  • Use o OCR (Reconhecimento Óptico de Caracteres) para reconhecer texto em imagens. Essa opção invoca a Habilidade de OCR para ler texto de imagens.

O Azure AI Search e o recurso de IA do Azure devem estar na mesma região ou configurados para conexões de cobrança sem chave.

  1. Na página Vetorizar suas imagens, especifique o tipo de conexão que o assistente deve fazer. Para a vetorização de imagens, o assistente pode se conectar aos modelos de incorporação no portal do Azure AI Foundry ou da Visão de IA do Azure.

  2. Especifique a assinatura.

  3. Para o catálogo de modelos do Azure AI Foundry, especifique o projeto e a implantação. Para saber mais, confira Configurar modelos de inserção anteriormente neste artigo.

  4. Opcionalmente, é possível desbloquear imagens binárias (por exemplo, arquivos de documentos digitalizados) e usar o OCR para reconhecer texto.

  5. Marque a caixa de seleção que dá o aceite aos efeitos do uso desses recursos sobre a cobrança.

    Captura de tela da página de vetorização de imagens no assistente.

  6. Selecione Avançar.

Adicionar classificação semântica

Na página Configurações avançadas, opcionalmente, você pode adicionar a classificação semântica para reclassificar os resultados no final da execução da consulta. A reclassificação promove para o topo as correspondências mais semanticamente relevantes.

Mapear novos campos

Principais pontos sobre esta etapa:

  • O esquema de índice fornece campos vetoriais e não vetoriais para dados em partes.
  • Você pode adicionar campos, mas não pode excluir ou modificar os campos gerados.
  • O modo de análise de documentos cria partes (um documento de pesquisa por parte).

Na página Configurações avançadas, você pode adicionar novos campos, supondo que a fonte de dados forneça metadados ou campos que não são selecionados na primeira passagem. Por padrão, o assistente gera os seguintes campos com estes atributos:

Campo Aplicável ao Descrição
chunk_id Vetores de texto e imagem Campo de cadeia de caracteres gerado. Pesquisável, recuperável, classificável. Essa é a chave do documento para o índice.
text_parent_id Vetores de texto Campo de cadeia de caracteres gerado. Recuperável, filtrável. Identifica o documento pai do qual a parte se origina.
chunk Vetores de texto e imagem Campo de cadeia de caracteres. Versão legível por humanos da parte de dados. Pesquisável e recuperável, mas não filtrável, facetável ou classificável.
title Vetores de texto e imagem Campo de cadeia de caracteres. Título do documento legível por humanos ou título de página ou número de página. Pesquisável e recuperável, mas não filtrável, facetável ou classificável.
text_vector Vetores de texto Collection(Edm.single). Declaração vetorial da parte. Pesquisável e recuperável, mas não filtrável, facetável ou classificável.

Você não pode modificar os campos gerados ou seus atributos, mas pode adicionar novos campos se sua fonte de dados os fornecer. Por exemplo, o Armazenamento de Blobs do Azure fornece uma coleção de campos de metadados.

  1. Selecione Adicionar nova.

  2. Escolha um campo de origem da lista de campos disponíveis, forneça um nome de campo para o índice e aceite o tipo de dados padrão ou substitua conforme necessário.

    Os campos de metadados são pesquisáveis, mas não recuperáveis, filtráveis, facetáveis ou classificáveis.

  3. Selecione Redefinir se você quiser restaurar o esquema para sua versão original.

Agendar indexação

Na página Configurações avançadas, você pode especificar opcionalmente um agendamento de execução para o indexador.

  1. Selecione Avançar quando você terminar com a página Configurações avançadas.

Concluir o assistente

  1. Na página Revisar sua configuração, especifique um prefixo para os objetos que o assistente cria. Um prefixo comum ajuda você a se manter organizado.

  2. Selecione Criar.

Quando o assistente conclui a configuração, ele cria os seguintes objetos:

  • Conexão de fonte de dados.

  • Índice com campos vetoriais, vetorizadores, perfis de vetor e algoritmos de vetor. Você não pode criar ou modificar o índice padrão durante o fluxo de trabalho do assistente. Os índices estão em conformidade com a API REST 2024-05-01-preview.

  • Conjunto de habilidades com habilidade de Divisão de Texto para divisão em partes e uma habilidade de inserção para vetorização. A habilidade de incorporação é a habilidade do AzureOpenAIEmbeddingModel para o OpenAI do Azure ou a habilidade de AML para o catálogo de modelos do Azure AI Foundry. O conjunto de habilidades também tem a configuração de projeções de índice que permite que os dados sejam mapeados de um documento na fonte de dados para as partes correspondentes em um índice “filho”.

  • Indexador com mapeamentos de campo e mapeamentos de campo de saída (se aplicável).

Verificar os resultados

O Gerenciador de pesquisa aceita cadeias de caracteres de texto como entrada e, em seguida, vetoriza o texto para execução da consulta de vetor.

  1. No portal do Azure, vá para Gerenciamento de Pesquisa>Índices e selecione o índice que você criou.

  2. Selecione Opções de consulta e oculte valores vetoriais nos resultados da pesquisa. Essa etapa facilita a leitura dos resultados da pesquisa.

    Captura de tela do botão de opções de consulta.

  3. No menu Exibir, selecione Modo de exibição JSON para que você possa inserir texto para sua consulta vetorial no parâmetro de consulta de vetor text.

    Captura de tela do comando de menu para abrir o modo de exibição JSON.

    A consulta padrão é uma pesquisa vazia ("*"), mas inclui parâmetros para retornar as correspondências de número. É uma consulta híbrida que executa consultas de texto e vetor em paralelo. Inclui classificação semântica. Ele especifica quais campos retornar nos resultados por meio da instrução select.

     {
       "search": "*",
       "count": true,
       "vectorQueries": [
         {
           "kind": "text",
           "text": "*",
           "fields": "text_vector,image_vector"
         }
       ],
       "queryType": "semantic",
       "semanticConfiguration": "my-demo-semantic-configuration",
       "captions": "extractive",
       "answers": "extractive|count-3",
       "queryLanguage": "en-us",
       "select": "chunk_id,text_parent_id,chunk,title,image_parent_id"
     }
    
  4. Substitua os dois espaços reservados de asterisco (*) por uma pergunta relacionada a planos de saúde, como Which plan has the lowest deductible?.

     {
       "search": "Which plan has the lowest deductible?",
       "count": true,
       "vectorQueries": [
         {
           "kind": "text",
           "text": "Which plan has the lowest deductible?",
           "fields": "text_vector,image_vector"
         }
       ],
       "queryType": "semantic",
       "semanticConfiguration": "my-demo-semantic-configuration",
       "captions": "extractive",
       "answers": "extractive|count-3",
       "queryLanguage": "en-us",
       "select": "chunk_id,text_parent_id,chunk,title"
     }
    
  5. Selecione Pesquisar para executar a consulta.

    Captura de tela dos resultados da pesquisa.

    Cada documento é uma parte do PDF original. O campo title mostra de qual PDF veio cada parte. Cada chunk é bastante longo. Você pode copiar e colar um em um editor de texto para ler o valor inteiro.

  6. Para ver todas as partes de um documento específico, adicione um filtro para o campo title_parent_id de um PDF específico. Você pode verificar a guia Campos do índice para confirmar se esse campo pode ser filtrado.

    {
       "select": "chunk_id,text_parent_id,chunk,title",
       "filter": "text_parent_id eq 'aHR0cHM6Ly9oZWlkaXN0c3RvcmFnZWRlbW9lYXN0dXMuYmxvYi5jb3JlLndpbmRvd3MubmV0L2hlYWx0aC1wbGFuLXBkZnMvTm9ydGh3aW5kX1N0YW5kYXJkX0JlbmVmaXRzX0RldGFpbHMucGRm0'",
       "count": true,
       "vectorQueries": [
           {
              "kind": "text",
              "text": "*",
              "k": 5,
              "fields": "text_vector"
           }
        ]
    }
    

Limpar

O Azure AI Search é um recurso faturável. Se não for mais necessário, exclua-o de sua assinatura para evitar encargos.

Próxima etapa

Este início rápido apresentou o assistente para Importar e vetorizar dados que cria todos os objetos necessários para a vetorização integrada. Se desejar explorar cada etapa em detalhes, experimente um exemplo de vetorização integrada.