Usar modelos de incorporação do catálogo de modelos do Azure AI Foundry para vetorização integrada
Importante
Esse recurso está em versão prévia pública nos Termos de Uso Complementares. A API REST 2024-05-01-Preview dá suporte a esse recurso.
Neste artigo, saiba como acessar os modelos de incorporação no catálogo de modelos do Azure AI Foundry para conversões de vetores durante a indexação e em consultas na Pesquisa de IA do Azure.
O fluxo de trabalho inclui etapas de implantação de modelos. O catálogo de modelos inclui a incorporação de modelos da Microsoft e de outras empresas. A implantação de um modelo é cobrada de acordo com a estrutura de cobrança de cada provedor.
Após o modelo ser implantado, você poderá usá-lo para a vetorização integrada durante a indexação ou com o vetorizador do AI Foundry para consultas.
Dica
Use o assistente de Importação e vetorização de dados para gerar um conjunto de habilidades que inclua uma habilidade de AML para modelos de incorporação implantados no Azure AI Foundry. A definição de habilidade de AML para entradas, saídas e mapeamentos de dados é gerada pelo assistente, o que oferece a você uma maneira fácil de testar um modelo antes de escrever qualquer código.
Pré-requisitos
Pesquisa de IA do Azure, qualquer região ou tipo.
Azure AI Foundry e um projeto do Azure AI Foundry.
Modelos de inserção com suporte
A vetorização integrada e o Assistente de importação e vetorização de dados dão suporte aos seguintes modelos de incorporação no catálogo de modelos:
Para incorporações de texto:
- Cohere-embed-v3-english
- Cohere-embed-v3-multilingual
Para incorporações de imagens:
- Facebook-DinoV2-Image-Embeddings-ViT-Base
- Facebook-DinoV2-Image-Embeddings-ViT-Giant
Implantar um modelo de incorporação do catálogo de modelos do Azure AI Foundry
Abra o catálogo de modelos do Azure AI Foundry. Crie um projeto se você ainda não tiver um.
Aplique um filtro para mostrar apenas os modelos de inserção. Em Tarefas de inferência, selecione Inserções:
Selecione um modelo com suporte e, em seguida, selecione Implantar.
Aceite os padrões ou modifique conforme necessário e, a seguir, selecione Implantar. Os detalhes da implantação variam de acordo com o modelo que você selecionar.
Aguarde até que o modelo termine a implantação, monitorando o Estado de Provisionamento. Ele deve ser alterado de "Provisionamento" para "Atualização" para "Bem-sucedido". Talvez seja necessário selecionar Atualizar a cada poucos minutos para ver a atualização do status.
Anote o URI de destino, a chave e o nome do modelo. Você precisa desses valores para a definição do vetorizador em um índice de pesquisa e para o conjunto de habilidades que chama os pontos de extremidade do modelo durante a indexação.
Opcionalmente, você pode alterar seu ponto de extremidade para usar a autenticação de Token em vez da autenticação de Chave. Se habilitar a autenticação por token, você só precisará copiar o URI e o nome do modelo e anotar em qual região o modelo está implantado.
Agora você pode configurar um índice de pesquisa e um indexador para usar o modelo implantado.
Para usar o modelo durante a indexação, consulte as etapas para habilitar a vetorização integrada. Certifique-se de usar a habilidade Azure Machine Learning (AML), e não a habilidade AzureOpenAIEmbedding. A próxima seção descreve a configuração da habilidade.
Para usar o modelo como um vetorizador no momento da consulta, consulte Configurar um vetorizador. Certifique-se de usar o vetorizador do catálogo de modelos do Azure AI Foundry para essa etapa.
Exemplos de payloads de habilidades do AML
Ao implantar modelos de incorporação do catálogo de modelos do Azure AI Foundry, você se conecta a eles usando a habilidade do AML na Pesquisa de IA do Azure para cargas de trabalho de indexação.
Esta seção descreve a definição da habilidade do AML e os mapeamentos de índice. Ela inclui payloads de amostra que já estão configuradas para funcionar com seus pontos de extremidade implantados correspondentes. Para obter mais detalhes técnicos sobre como esses payloads funcionam, leia sobre o contexto de Habilidade e linguagem de anotação de entrada.
Esse conteúdo da habilidade de AML funciona com os seguintes modelos de incorporação de imagens do AI Foundry:
- Facebook-DinoV2-Image-Embeddings-ViT-Base
- Facebook-DinoV2-Image-Embeddings-ViT-Giant
Pressupõe que suas imagens vêm do caminho /document/normalized_images/*
, que é criado ao habilitar a extração de imagem interna. Se suas imagens forem provenientes de um caminho diferente ou estiverem armazenadas como URLs, atualize todas as referências ao caminho /document/normalized_images/*
conforme necessário.
O URI e a chave são gerados quando você implanta o modelo a partir do catálogo. Para obter mais informações sobre esses valores, confira Como implantar modelos de linguagem grandes com o Azure AI Foundry.
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"context": "/document/normalized_images/*",
"uri": "https://myproject-1a1a-abcd.eastus.inference.ml.azure.com/score",
"timeout": "PT1M",
"key": "bbbbbbbb-1c1c-2d2d-3e3e-444444444444",
"inputs": [
{
"name": "input_data",
"sourceContext": "/document/normalized_images/*",
"inputs": [
{
"name": "columns",
"source": "=['image', 'text']"
},
{
"name": "index",
"source": "=[0]"
},
{
"name": "data",
"source": "=[[$(/document/normalized_images/*/data), '']]"
}
]
}
],
"outputs": [
{
"name": "image_features"
}
]
}
Amostra de conteúdo do vetorizador do AI Foundry
O vetorizador do AI Foundry, diferentemente da habilidade do AML, é adaptado para funcionar somente com os modelos de incorporação que podem ser implantados por meio do catálogo de modelos do AI Foundry. A principal diferença é que você não precisa se preocupar com o conteúdo da solicitação e da resposta, mas precisa fornecer o modelName
, que corresponde à "ID do modelo" que você copiou após implantar o modelo no portal do AI Foundry.
Aqui está uma amostra de conteúdo de como você deveria configurar o vetorizador na sua definição de índice, de acordo com as propriedades copiadas do AI Foundry.
Para os modelos Cohere, você NÃO deve adicionar o caminho /v1/embed
ao final da URL, como fez com a habilidade.
"vectorizers": [
{
"name": "<YOUR_VECTORIZER_NAME_HERE>",
"kind": "aml",
"amlParameters": {
"uri": "<YOUR_URL_HERE>",
"key": "<YOUR_PRIMARY_KEY_HERE>",
"modelName": "<YOUR_MODEL_ID_HERE>"
},
}
]
Conecte-se usando a autenticação de token
Se não conseguir usar a autenticação baseada em chave, você poderá,em vez disso, configurar a habilidade do AML e a conexão do vetorizador do AI Foundry para autenticação por token, por meio do controle de acesso baseado em função no Azure. O serviço de busca deve ter uma identidade gerenciada atribuída pelo sistema ou pelo usuário, e a identidade deve ter permissões de Proprietário ou Colaborador para o espaço de trabalho do seu projeto do AML. Em seguida, você pode remover o campo de chave da sua definição de habilidade e vetorizador, substituindo-o pelo campo resourceId. Se o projeto do AML e o serviço de pesquisa estiverem em regiões diferentes, forneça também o campo da região.
"uri": "<YOUR_URL_HERE>",
"resourceId": "subscriptions/<YOUR_SUBSCRIPTION_ID_HERE>/resourceGroups/<YOUR_RESOURCE_GROUP_NAME_HERE>/providers/Microsoft.MachineLearningServices/workspaces/<YOUR_AML_WORKSPACE_NAME_HERE>/onlineendpoints/<YOUR_AML_ENDPOINT_NAME_HERE>",
"region": "westus", // Only need if AML project lives in different region from search service