Torne os seus dados pesquisáveis

Concluído

Quando você deseja criar um agente que usa seus próprios dados para gerar respostas precisas, você precisa ser capaz de pesquisar seus dados de forma eficiente. Quando constróis um agente com o Microsoft Foundry, podes usar a integração com Azure AI Search para recuperar o contexto relevante no teu fluxo de chat.

O Azure AI Search é um retriever que podes incluir ao criar uma aplicação de modelo de linguagem com fluxo de prompt. O Azure AI Search permite que você traga seus próprios dados, indexe seus dados e consulte o índice para recuperar qualquer informação necessária.

Diagrama mostrando um índice que é consultado para recuperar dados de base.

Usando um índice vetorial

Embora um índice baseado em texto melhore a eficiência da pesquisa, você geralmente pode obter uma solução de recuperação de dados melhor usando um índice baseado em vetor que contém incorporações que representam os tokens de texto em sua fonte de dados.

Uma incorporação é um formato especial de representação de dados que um motor de busca pode usar para encontrar facilmente as informações relevantes. Mais especificamente, uma incorporação é um vetor de números de vírgula flutuante.

Por exemplo, imagine que tem dois documentos com o seguinte conteúdo:

  • "As crianças brincavam alegremente no parque."
  • "As crianças correram alegremente ao redor do playground."

Estes dois documentos contêm textos semanticamente relacionados, embora sejam utilizadas palavras diferentes. Ao criar incorporações vetoriais para o texto nos documentos, a relação entre as palavras no texto pode ser calculada matematicamente.

Imagine as palavras-chave sendo extraídas do documento e plotadas como um vetor em um espaço multidimensional:

Diagrama de incorporações vetoriais.

A distância entre vetores pode ser calculada medindo o cosseno do ângulo entre dois vetores, também conhecido como similaridade cosseno. Em outras palavras, a semelhança cosseno calcula a semelhança semântica entre documentos e uma consulta.

Ao representar palavras e seus significados com vetores, você pode extrair contexto relevante de sua fonte de dados, mesmo quando seus dados são armazenados em diferentes formatos (texto ou imagem) e idiomas.

Quando você quiser ser capaz de usar a pesquisa vetorial para pesquisar seus dados, você precisa criar incorporações ao criar seu índice de pesquisa. Para criar embeddings para o seu índice de pesquisa, pode usar um modelo de embedding Azure OpenAI disponível no Microsoft Foundry.

Diagrama mostrando um índice vetorial que contém incorporações.

Criando um índice de pesquisa

No Azure AI Search, um índice de pesquisa descreve como seu conteúdo é organizado para torná-lo pesquisável. Imagine uma biblioteca com muitos livros. Você quer ser capaz de pesquisar através da biblioteca e recuperar o livro relevante de forma fácil e eficiente. Para tornar a biblioteca pesquisável, crie um catálogo que contenha todos os dados relevantes sobre livros para facilitar a localização de qualquer livro. O catálogo de uma biblioteca serve como índice de pesquisa.

Embora existam diferentes abordagens para criar um índice, a integração do Azure AI Search no Microsoft Foundry facilita a criação de um índice adequado para modelos de linguagem. Pode adicionar os seus dados ao Microsoft Foundry, após o que pode usar o Azure AI Search para criar um índice no portal Microsoft Foundry usando um modelo de embedding. O ativo índice é armazenado no Azure AI Search e consultado pela Microsoft Foundry quando usado num fluxo de chat.

Captura de ecrã da criação de um índice no Microsoft Foundry.

A forma como configura o índice de pesquisa depende dos dados que tem e do contexto que pretende que o seu modelo linguístico utilize. Por exemplo, a pesquisa por palavra-chave permite recuperar informações que correspondem exatamente à consulta de pesquisa. A pesquisa semântica já leva um passo adiante, recuperando informações que correspondem ao significado da consulta em vez da palavra-chave exata, usando modelos semânticos. Atualmente, a técnica mais avançada é a pesquisa vetorial, que cria incorporações para representar seus dados.

Gorjeta

Saiba mais sobre a pesquisa vetorial.

Pesquisar um índice

Há várias maneiras pelas quais as informações podem ser consultadas em um índice:

  • Pesquisa por palavra-chave: identifica documentos ou passagens relevantes com base em palavras-chave ou termos específicos fornecidos como entrada.
  • Pesquisa semântica: recupera documentos ou passagens compreendendo o significado da consulta e fazendo a correspondência com conteúdo semanticamente relacionado, em vez de depender apenas de correspondências exatas de palavras-chave.
  • Pesquisa vetorial: Utiliza representações matemáticas de texto (vetores) para encontrar documentos ou passagens semelhantes com base no seu significado semântico ou contexto.
  • Pesquisa híbrida: combina qualquer uma ou todas as outras técnicas de pesquisa. As consultas são executadas em paralelo e retornadas em um conjunto de resultados unificado.

Quando cria um índice de pesquisa no Microsoft Foundry, é guiado para configurar um índice mais adequado para usar em combinação com um modelo de linguagem. Quando os resultados da pesquisa são usados em um aplicativo de IA generativa, a pesquisa híbrida fornece os resultados mais precisos.

A pesquisa híbrida é uma combinação de palavra-chave (e texto completo) e pesquisa vetorial, à qual a classificação semântica é opcionalmente adicionada. Quando você cria um índice compatível com a pesquisa híbrida, as informações recuperadas são precisas quando correspondências exatas estão disponíveis (usando palavras-chave) e ainda relevantes quando apenas informações conceitualmente semelhantes podem ser encontradas (usando pesquisa vetorial).

Gorjeta

Saiba mais sobre a pesquisa híbrida.