Como implementar a vetorização integrada usando modelos do Estúdio de IA do Azure
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 inserção no catálogo de modelos do Estúdio de IA do Azure 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 modelos de inserção do OpenAI do Azure, Cohere, Facebook e OpenAI. A implantação de um modelo é cobrada de acordo com a estrutura de cobrança de cada provedor.
Depois que o modelo for implantado, você poderá usá-lo para vetorização integrada durante a indexação ou com o vetorizador do Estúdio de IA para consultas.
Implantar um modelo de inserção do catálogo de modelos do Estúdio de IA do Azure
Abra o catálogo de modelos do Estúdio de IA do Azure.
Aplique um filtro para mostrar apenas os modelos de inserção. Em Tarefas de inferência, selecione Inserções:
Selecione o modelo com o qual você gostaria de vetorizar seu conteúdo. Em seguida, selecione Implantar e escolha uma opção de implantação.
Preencha os detalhes solicitados. Selecione ou crie um novo projeto de IA e, em seguida, 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.
Copie os campos URL, Chave primária e ID do Modelo e reserve-os para mais tarde. 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 você habilitar a autenticação de token, só precisará copiar a URL e a ID 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 Estúdio de IA do Azure para essa etapa.
Exemplos de payloads de habilidades do AML
Ao implantar modelos de inserção do catálogo de modelos do Estúdio de IA do Azure, 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 payload de habilidade do AML funciona com os seguintes modelos do Estúdio de IA:
- OpenAI-CLIP-Image-Text-Embeddings-vit-base-patch32
- OpenAI-CLIP-Image-Text-Embeddings-ViT-Large-Patch14-336
Pressupõe que você está fragmentando seu conteúdo usando a habilidade de Divisão de Texto e que o texto a ser vetorizado está no caminho /document/pages/*
. Se o texto vier de um caminho diferente, atualize todas as referências ao caminho /document/pages/*
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, consulte Como implantar modelos de linguagem grandes com o Estúdio de IA do Azure.
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"context": "/document/pages/*",
"uri": "<YOUR_MODEL_URL_HERE>",
"key": "<YOUR_MODEL_KEY_HERE>",
"inputs": [
{
"name": "input_data",
"sourceContext": "/document/pages/*",
"inputs": [
{
"name": "columns",
"source": "=['image', 'text']"
},
{
"name": "index",
"source": "=[0]"
},
{
"name": "data",
"source": "=[['', $(/document/pages/*)]]"
}
]
}
],
"outputs": [
{
"name": "text_features"
}
]
}
Exemplo de payload do vetorizador do Estúdio de IA
O vetorizador do Estúdio de IA, diferentemente da habilidade do AML, é adaptado para funcionar somente com os modelos de inserção que podem ser implantados por meio do catálogo de modelos do Estúdio de IA. A principal diferença é que você não precisa se preocupar com o payload da solicitação e da resposta, mas precisa fornecer o modelName
, que corresponde à "ID do modelo" que você copiou depois de implantar o modelo no Estúdio de IA.
Aqui está um exemplo de payload de como você configuraria o vetorizador em sua definição de índice, considerando as propriedades copiadas do Estúdio de IA.
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 for possível usar a autenticação baseada em chave, você poderá configurar a habilidade do AML e a conexão do vetorizador do Estúdio de IA para autenticação de 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