Partilhar via


Gerar incorporações para consultas de pesquisa e documentos

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

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

Nota

Este artigo aplica-se à versão geralmente disponível da pesquisa vetorial, que pressupõe que o código do seu aplicativo chama um recurso externo, como o Azure OpenAI, para vetorização. Um novo recurso chamado vetorização integrada, atualmente em visualização, oferece vetorização incorporada. A vetorização integrada depende de indexadores, conjuntos de habilidades e da habilidade AzureOpenAIEmbedding ou de uma habilidade personalizada que aponta para um modelo que é executado externamente a partir do Azure AI Search.

Como os modelos são usados

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

    • Por exemplo, você pode usar text-embedding-ada-002 para gerar incorporações de texto e Image Retrieval REST API para incorporações de imagem.

    • Para evitar o limite de taxa, você pode implementar a lógica de repetição em sua carga de trabalho. Para a demonstração do Python, usamos tenacidade.

  • As saídas de consulta são quaisquer documentos correspondentes encontrados em um índice de pesquisa. Seu índice de pesquisa deve ter sido carregado anteriormente com documentos com um ou mais campos vetoriais com incorporações. Seja qual for o modelo usado para indexação, use o mesmo modelo 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 incorporação de similaridade, atualmente na Europa e nos Estados Unidos.

  2. Uma região para o Azure AI Search.

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

Gerar uma incorporação para uma consulta improvisada

O código Python a seguir gera uma incorporação que você pode colar na propriedade "values" 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 = "2024-02-01"

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 incorporar a integração de modelos

  • Identificar casos de uso: avalie os casos de uso específicos em que a integração de modelos de incorporação para recursos de pesquisa vetorial pode agregar valor à sua solução de pesquisa. Isso pode incluir a correspondência de conteúdo de imagem com conteúdo de texto, pesquisas multilíngües ou encontrar documentos semelhantes.
  • Otimize o custo e o desempenho: a pesquisa vetorial pode consumir muitos recursos e está sujeita a limites máximos, portanto, considere apenas vetorizar os campos que contêm significado semântico.
  • Escolha o modelo de incorporação correto: selecione um modelo apropriado para seu caso de uso específico, como incorporações de palavras para pesquisas baseadas em texto ou incorporações de imagens para pesquisas visuais. Considere o uso de modelos pré-treinados, como text-embedding-ada-002 do OpenAI ou Image Retrieval REST API do Azure AI Computer Vision.
  • Normalizar comprimentos de vetor: Certifique-se de que os comprimentos de vetor estã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.
  • Ajuste o modelo: se necessário, ajuste o modelo selecionado nos dados específicos do domínio para melhorar seu desempenho e relevância para seu aplicativo de pesquisa.
  • Teste e itere: teste e refine continuamente a integração do seu modelo de incorporação para alcançar o desempenho de pesquisa desejado e a satisfação do usuário.

Próximos passos