Partilhar via


Guia de início rápido: vetorizar texto e imagens usando o portal do Azure

Este guia de início rápido ajuda você a começar com a vetorização integrada usando o assistente Importar e vetorizar dados no portal do Azure. O assistente fragmenta seu conteúdo e chama um modelo de incorporação para vetorizar o conteúdo durante a indexação e para consultas.

Pré-requisitos

Supported data sources (Origens de dados suportadas)

O assistente Importar e vetorizar dados dá suporte a uma ampla variedade de fontes de dados do Azure, mas este guia de início rápido fornece etapas apenas para as fontes de dados que funcionam com arquivos inteiros:

  • Armazenamento de Blobs do Azure para blobs e tabelas. O Armazenamento do Azure deve ser uma conta de desempenho padrão (finalidade geral v2). As camadas de acesso podem ser quentes, frias e frias.

  • Azure Data Lake Storage (ADLS) Gen2 (uma conta de Armazenamento do Azure com um namespace hierárquico habilitado). Você pode confirmar que tem o Armazenamento Data Lake marcando a guia Propriedades na página Visão geral .

    Captura de tela da página de propriedades da conta de armazenamento mostrando o Armazenamento Data Lake.

  • OneLake lakehouse (pré-visualização).

Modelos de incorporação suportados

Use um modelo de incorporação em uma plataforma de IA do Azure na mesma região que o Azure AI Search. As instruções de implantação estão neste artigo.

Provider Modelos suportados
Azure OpenAI Service incorporação de texto-ada-002
incorporação de texto-3-grande
incorporação de texto-3-pequeno
Catálogo de modelos do Azure AI Foundry Para o texto:
Cohere-embed-v3-inglês
Cohere-embed-v3-multilíngue
Para imagens:
Facebook-DinoV2-Imagem-Embeddings-ViT-Base
Facebook-DinoV2-Imagem-Embeddings-ViT-Giant
Conta multisserviço de serviços de IA do Azure Azure AI Vision multimodal para vetorização de imagem e texto, disponível em regiões selecionadas. Dependendo de como você anexa o recurso multisserviço, a conta multisserviço pode precisar estar na mesma região que o Azure AI Search.

Se você usar o Serviço OpenAI do Azure, o ponto de extremidade deverá ter um subdomínio personalizado associado. Um 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 através do portal do Azure, este subdomínio é gerado automaticamente como parte da configuração do serviço. Certifique-se de que seu serviço inclua um subdomínio personalizado antes de usá-lo com a integração do Azure AI Search.

Os recursos do Serviço OpenAI do Azure (com acesso a modelos de incorporação) que foram criados no portal do Azure AI Foundry não são suportados. Somente os recursos do Serviço OpenAI do Azure criados no portal do Azure são compatíveis com a integração de habilidades do Azure OpenAI Embedding .

Requisitos do ponto final público

Para os 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á. Depois que o assistente for executado, você poderá habilitar firewalls e 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 você não puder desativá-los, a opção alternativa é executar o respetivo fluxo de ponta a ponta de um script ou programa em uma máquina virtual. A máquina virtual deve estar na mesma rede virtual que o ponto de extremidade privado. Aqui está um exemplo de código Python para vetorização integrada. O mesmo repositório GitHub tem exemplos em outras linguagens de programação.

Permissões

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

  1. Na Pesquisa de IA do Azure, habilite funções.

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

  3. Em sua plataforma de fonte de dados e 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 configurar funções para cada fonte de dados suportada.

Um serviço de pesquisa gratuito suporta ligações baseadas em funções ao Azure AI Search, mas não suporta identidades geridas em ligações de saída ao Armazenamento do Azure ou ao Azure AI Vision. Esse nível de suporte significa que você deve usar a autenticação baseada em chave em conexões entre um serviço de pesquisa gratuito e outros serviços do Azure.

Para ligações mais seguras:

Nota

Se não for possível avançar no assistente porque as opções não estão disponíveis (por exemplo, não é possível selecionar uma fonte de dados ou um modelo de incorporação), revisite as atribuições de função. Mensagens de erro indicam que modelos ou implantações não existem, 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ê está começando com o serviço gratuito, está limitado a três índices, fontes de dados, conjuntos de habilidades e indexadores. Limite básico a 15. Certifique-se de que tem espaço para itens adicionais antes de começar. Este guia de início rápido cria um de cada objeto.

Preparar dados de exemplo

Esta seção aponta para o conteúdo que funciona para este início rápido.

  1. Entre no portal do Azure com sua conta do Azure e vá para sua conta de Armazenamento do Azure.

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

  3. Crie um novo contêiner e, em seguida, carregue os documentos PDF do plano de saúde usados para este 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 Teclas de acesso.

  5. Opcionalmente, sincronize as exclusões em seu contêiner com as exclusões no índice de pesquisa. Estas próximas etapas permitem configurar o indexador para deteção de exclusão:

    1. Habilite a exclusão suave em sua conta de armazenamento.

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

    3. Caso contrário, adicione metadados personalizados que um indexador pode verificar 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 recipiente. Mais tarde, quando desejar excluir o blob, altere a propriedade para true. Para obter mais informações, consulte Alterar e excluir a deteção ao indexar do Armazenamento do Azure

Configurar modelos de incorporação

O assistente pode usar modelos de incorporação implantados do Azure OpenAI, Azure AI Vision ou do catálogo de modelos no portal do Azure AI Foundry.

O assistente suporta text-embedding-ada-002, text-embedding-3-large e text-embedding-3-small. Internamente, o assistente chama a habilidade AzureOpenAIEmbedding para se conectar ao Azure OpenAI.

  1. Entre no portal do Azure com sua conta do Azure e vá para seu recurso do Azure OpenAI.

  2. Configurar permissões:

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

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

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

    4. Em Membros, selecione Identidade gerenciada e, em seguida, selecione Membros.

    5. Filtre por subscrição e tipo de recurso (serviços de pesquisa) e, em seguida, selecione a identidade gerida do seu serviço de pesquisa.

    6. Selecione Rever + atribuir.

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

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

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

Iniciar o assistente

  1. Entre no portal do Azure com sua conta do Azure e vá para seu serviço Azure AI 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.

Ligar aos dados

A próxima etapa é conectar-se a uma fonte de dados para usar no índice de pesquisa.

  1. Em Conectar aos seus dados, selecione Armazenamento de Blob 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 oferecer suporte à deteção de exclusão. Em execuções de indexação subsequentes, o índice de pesquisa é atualizado para remover quaisquer documentos de pesquisa baseados em blobs excluídos por software no Armazenamento do Azure.

    • Os blobs suportam exclusão suave de blob nativo ou exclusão suave usando dados personalizados.
    • Você deve ter habilitado anteriormente a exclusão virtual no Armazenamento do Azure e, opcionalmente , adicionado metadados personalizados que a indexação pode reconhecer como um sinalizador de exclusão. Para obter mais informações sobre essas etapas, consulte Preparar dados de exemplo.
    • Se você configurou seus blobs para exclusão suave usando dados personalizados, forneça o par nome-valor da propriedade de metadados nesta etapa. Recomendamos "IsDeleted". Se "IsDeleted" estiver definido como true em um blob, o indexador descartará 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 Azure ou lança um erro se os requisitos não forem atendidos. Em vez disso, a deteção de exclusão não funciona e é provável que seu índice de pesquisa colete documentos órfãos ao longo do tempo.

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

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

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

Vetorizar o texto

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

O Chunking é incorporado e não configurável. As configurações efetivas são:

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

    • Azure OpenAI
    • 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 uma conta multisserviço 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 incorporação do Azure ou Cohere.

    • Para incorporações multimodais do AI Vision, selecione a conta.

    Para obter mais informações, consulte Configurar modelos de incorporação anteriormente neste artigo.

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

    • A identidade deve ter uma função de Usuário de Serviços Cognitivos na conta multisserviços do Azure AI.
  5. Marque a caixa de seleção que reconhece os efeitos de faturamento do uso desses recursos.

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

  6. Selecione Seguinte.

Vetorize e enriqueça as suas imagens

Os PDFs do plano de saúde incluem um logotipo corporativo, mas, caso contrário, não há imagens. Você pode pular 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 incorporação de imagem com suporte do catálogo ou escolha a API de incorporações multimodais do Azure AI Vision para vetorizar imagens.

  • Use o reconhecimento ótico de caracteres (OCR) para reconhecer texto em imagens. Esta opção invoca a habilidade OCR para ler texto de imagens.

A Pesquisa de IA do Azure e seu 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 vetorização de imagem, o assistente pode se conectar a modelos de incorporação no portal do Azure AI Foundry ou no Azure AI Vision.

  2. Especifique a assinatura.

  3. Para o catálogo de modelos do Azure AI Foundry, especifique o projeto e a implantação. Para obter mais informações, consulte Configurar modelos de incorporação anteriormente neste artigo.

  4. Opcionalmente, você pode quebrar imagens binárias (por exemplo, arquivos de documentos digitalizados) e usar OCR para reconhecer texto.

  5. Marque a caixa de seleção que reconhece os efeitos de faturamento do uso desses recursos.

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

  6. Selecione Seguinte.

Adicionar classificação semântica

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

Mapear novos campos

Pontos-chave 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 campos gerados.
  • O modo de análise de documentos cria blocos (um documento de pesquisa por bloco).

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

Campo Aplica-se ao Description
chunk_id Vetores de texto e imagem Campo de cadeia de caracteres gerado. Pesquisável, recuperável, classificável. Esta é 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 o bloco se origina.
chunk Vetores de texto e imagem Campo String. Versão legível por humanos do bloco de dados. Pesquisável e recuperável, mas não filtrável, facial ou classificável.
title Vetores de texto e imagem Campo String. Título do documento legível por humanos, título da página ou número da página. Pesquisável e recuperável, mas não filtrável, facial ou classificável.
text_vector Vetores de texto Coleção (Edm.single). Representação vetorial do pedaço. Pesquisável e recuperável, mas não filtrável, facial ou classificável.

Não é possível modificar os campos gerados ou seus atributos, mas é possível adicionar novos campos se a fonte de dados fornecê-los. Por exemplo, o Armazenamento de Blobs do Azure fornece uma coleção de campos de metadados.

  1. Selecione Adicionar novo.

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

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

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

Indexação de agendas

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

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

Concluir o assistente

  1. Na página Revisar sua configuração, especifique um prefixo para os objetos criados pelo assistente. Um prefixo comum ajuda-o a manter-se organizado.

  2. Selecione Criar.

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

  • Conexão da fonte de dados.

  • Índice com campos vetoriais, vetorizadores, perfis vetoriais e algoritmos vetoriais. Não é possível projetar 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 a habilidade Text Split para fragmentação e uma habilidade de incorporação para vetorização. A habilidade de incorporação é a habilidade AzureOpenAIEmbeddingModel para o Azure OpenAI ou a habilidade 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 seus blocos correspondentes em um índice "filho".

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

Ver resultados

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

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

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

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

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

    Captura de ecrã do comando de menu para abrir a vista 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 vetoriais em paralelo. Inclui classificação semântica. Ele especifica quais campos devem retornar nos resultados por meio da select instrução.

     {
       "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 ambos os espaços reservados para 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 ecrã dos resultados da pesquisa.

    Cada documento é um pedaço do PDF original. O title campo mostra de qual PDF vem o bloco. Cada um chunk é bastante longo. Você pode copiar e colar um em um editor de texto para ler todo o valor.

  6. Para ver todas as partes de um documento específico, adicione um filtro para o title_parent_id campo de um PDF específico. Pode verificar o separador Campos do seu índice para confirmar que este campo é filtrável.

    {
       "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"
           }
        ]
    }
    

Limpeza

O Azure AI Search é um recurso faturável. Se já não precisar dele, elimine-o da sua subscrição para evitar cobranças.

Próximo passo

Este guia de início rápido apresentou o assistente Importar e vetorizar dados que cria todos os objetos necessários para vetorização integrada. Se você quiser explorar cada etapa em detalhes, tente uma amostra de vetorização integrada.