Gerar inserções para consultas de pesquisa e documentos

O IA do Azure Search não hospeda modelos de vetorização, portanto, um dos seus desafios é criar inserções para entradas e saídas de consulta. Você pode usar qualquer modelo de inserção, mas este artigo pressupõe modelos de inserção do OpenAI do Azure. As demonstrações no repositório de exemplo tocam nos modelos de inserção de similaridade do OpenAI do Azure.

Os atributos de dimensão têm um mínimo de 2 e um máximo de 3072 dimensões por campo vetorial.

Observação

Este artigo se aplica à versão em disponibilidade geral da busca em vetores, que pressupõe que o código do aplicativo chama um recurso externo como o OpenAI do Azure para vetorização. Um novo recurso chamado de vetorização integrada, atualmente em versão prévia, oferece vetorização inserida. A vetorização integrada assume uma dependência de indexadores, conjuntos de habilidades e a habilidade AzureOpenAIEmbedding ou uma habilidade personalizada que aponta para um modelo que é executado externamente da IA do Azure Search.

Como os modelos são usados

  • As entradas de consulta exigem que você envie entrada fornecida pelo usuário para um modelo de inserção que converte rapidamente o texto legível em um vetor.

  • As saídas de consulta são todos os documentos correspondentes encontrados em um índice de pesquisa. Seu índice de pesquisa deve ter sido carregado anteriormente com documentos com um ou mais campos de vetor com inserções. Seja qual for o modelo usado para indexação, use o mesmo para consultas.

Criar recursos na mesma região

Se você quiser recursos na mesma região, comece com:

  1. Uma região para o modelo de inserção de similaridade, atualmente na Europa e nos Estados Unidos.

  2. Uma região da IA do Azure Search.

  3. Para dar suporte a consultas híbridas que incluem classificação semântica ou se você quiser experimentar a integração de modelos de machine learning usando uma habilidade personalizada em um pipeline de enriquecimento de IA, observe as regiões que fornecem esses recursos.

Gerar uma inserção para uma consulta improvisada

O código Python a seguir gera uma incorporação que você pode colar na propriedade "valores" de uma consulta vetorial.

!pip install openai==0.28.1

import openai

openai.api_type = "azure"
openai.api_key = "YOUR-API-KEY"
openai.api_base = "https://YOUR-OPENAI-RESOURCE.openai.azure.com"
openai.api_version = "2023-05-15"

response = openai.Embedding.create(
    input="How do I use Python in VSCode?",
    engine="text-embedding-ada-002"
)
embeddings = response['data'][0]['embedding']
print(embeddings)

Dicas e recomendações para a integração de modelos de inserção

  • Identificar casos de uso: avalie os casos de uso específicos em que a integração de modelo de inserção para recursos de busca em vetores pode agregar valor à solução de pesquisa. Isso pode incluir a correspondência de conteúdo de imagem com conteúdo de texto, pesquisas entre linguagens ou localização de documentos semelhantes.
  • Otimizar o custo e o desempenho: a busca em vetores pode fazer uso intensivo de recursos e está sujeita a limites máximos, portanto, considere apenas a vetorização dos campos que contêm significado semântico.
  • Escolher o modelo de inserção correto: selecione um modelo apropriado para seu caso de uso específico, como inserções de palavras para pesquisas baseadas em texto ou inserções de imagem para pesquisas visuais. Considere o uso de modelos pré-treinados, como text-embedding-ada-002 do OpenAI ou a API REST de Recuperação de Imagem da Pesquisa Visual Computacional da IA do Azure.
  • Normalizar os comprimentos do vetor: verifique se os comprimentos do vetor são normalizados antes de armazená-los no índice de pesquisa para melhorar a precisão e o desempenho da pesquisa de similaridade. A maioria dos modelos pré-treinados já está normalizada, mas não todos.
  • Ajustar o modelo: se necessário, ajuste o modelo selecionado em seus dados específicos do domínio para melhorar seu desempenho e relevância para seu aplicativo de pesquisa.
  • Testar e iterar: teste e refine continuamente sua integração de modelo de inserção para obter o desempenho de pesquisa desejado e a satisfação do usuário.

Próximas etapas