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 com suporte, mas este artigo pressupõe modelos de incorporação do Azure OpenAI para as etapas.
Recomendamos vetorização integrada, que fornece fragmentação e vetorização de dados incorporadas. A vetorização integrada depende de indexadores, conjuntos de habilidades e habilidades internas ou personalizadas que apontam para um modelo executado externamente a partir da Pesquisa de IA do Azure.
Se você quiser lidar com fragmentação e vetorização de dados por conta própria, fornecemos demonstrações no repositório de exemplo que mostram como se integrar com outras soluções da comunidade.
Como os modelos de incorporação são usados em consultas vetoriais
As entradas de consulta são vetores ou texto ou imagens que são convertidos em vetores durante o processamento da consulta. A solução interna no Azure AI Search é usar um vetorizador.
Como alternativa, você também pode lidar com a conversão por conta própria, passando a entrada da consulta para um modelo de incorporação de sua escolha. 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 de incorporação usado para indexação, use esse mesmo modelo para consultas.
Criar recursos na mesma região
A vetorização integrada requer que os recursos estejam na mesma região:
Verifique as regiões para um modelo de incorporação de texto.
Para dar suporte a consultas híbridas que incluem classificação semântica, ou se você quiser experimentar a integração de modelo de aprendizado de máquina usando uma habilidade personalizada em um pipeline de enriquecimento de IA, selecione uma região de Pesquisa de IA do Azure que forneça 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
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)
A saída é uma matriz vetorial de 1.536 dimensões.
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 conteúdo de imagem multimodal ou correspondente com conteúdo de texto, pesquisa multilíngue ou pesquisa de similaridade.
Projetar uma estratégia de fragmentação: os modelos de incorporação têm limites no número de tokens que podem aceitar, o que introduz um requisito de fragmentação de dados para arquivos grandes. Para obter mais informações, consulte Fragmentar documentos grandes para soluções de pesquisa vetorial.
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. Reduza o tamanho do vetor para que você possa armazenar mais vetores pelo mesmo preço.
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.