Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
Esta funcionalidade está em pré-visualização pública em Termos de Utilização Suplementares. A versão de pré-visualização mais recente do Skillssets - Create Or Update (API REST) suporta esta funcionalidade.
Neste artigo, aprende como aceder a modelos de embedding do catálogo de modelos Microsoft Foundry para conversões vetoriais durante indexação e execução de consultas no Azure AI Search.
O fluxo de trabalho exige que implemente um modelo do catálogo, o que inclui incorporar modelos da Microsoft e de outras empresas. A implementação de um modelo é faturável de acordo com a estrutura de faturação de cada fornecedor.
Depois de implementado o modelo, pode usá-lo com a competência AML para vetorização integrada durante a indexação ou com o vetorizador do catálogo de modelos Microsoft Foundry para consultas.
Gorjeta
Use o assistente Importar dados (novos) para gerar um conjunto de competências que inclua uma competência AML para modelos de embedding implementados no Foundry. A definição de habilidades AML para entradas, saídas e mapeamentos é gerada pelo assistente, que oferece uma maneira fácil de testar um modelo antes de escrever qualquer código.
Pré-requisitos
Um serviço Azure AI Search em qualquer região e em qualquer faixa de preços.
Modelos de incorporação suportados
Os modelos de embedding suportados do catálogo de modelos variam consoante o método de utilização:
Para a lista mais recente de modelos suportados programáticamente, consulte a habilidade AML e as referências do vetorizador do catálogo de modelos do Microsoft Foundry .
Para obter a lista mais recente de modelos suportados no portal do Azure, consulte Guia de início rápido: pesquisa vetorial no portal do Azure e Guia de início rápido: pesquisa multimodal no portal do Azure.
Implementar um modelo de embedding a partir do catálogo de modelos
Siga estas instruções para implementar um modelo suportado no seu projeto.
Anote o URI, a chave e o nome do modelo de destino. Precisas destes valores para a definição do vectorizador em um índice de pesquisa e para o conjunto de habilidades que acede aos endpoints do modelo durante a indexação.
Se preferir autenticação por token à autenticação baseada em chaves, só precisa de copiar o URI e o nome do modelo. No entanto, anote a região para onde o modelo está implantado.
Configure um índice de pesquisa e um indexador para usar o modelo implementado.
Para usar o modelo durante a indexação, veja Como usar vetorização integrada. Certifica-te de usar a competência AML, não a competência Azure OpenAI Embedding. A próxima seção descreve a configuração da habilidade.
Para usar o modelo como vetorizador no momento da consulta, consulte Configurar um vetorizador. Certifique-se de usar o vetorizador de catálogo de modelos Microsoft Foundry para esta etapa.
Exemplo de carga útil de competência AML
Quando implementas modelos de embedding do catálogo de modelos, ligas-te a eles usando a competência AML no Azure AI Search para indexar cargas de trabalho.
Esta seção descreve a definição de habilidade AML e mapeamentos de índice. Inclui uma carga útil de amostra que já está configurada para funcionar com o respetivo endpoint implementado. Para obter mais informações, consulte Contexto de habilidade e linguagem de anotação de entrada.
Modelos de incorporação de cohere
Esta carga útil de habilidade AML funciona com os seguintes modelos de incorporação:
- Cohere-embed-v3-inglês
- Cohere-embed-v3-Multilíngue
- Cohere-embed-v4
Ele pressupõe que você está fragmentando seu conteúdo usando a habilidade Divisão de texto e, portanto, seu texto a ser vetorizado está no /document/pages/* caminho. Se o texto vier de um caminho diferente, atualize todas as referências ao /document/pages/* caminho de acordo.
Deve adicionar o caminho /v1/embed ao final da URL que copiou da sua implementação do Foundry. Você também pode alterar os valores das entradas input_type, truncate e embedding_types para melhor se adequar ao seu caso de uso. Para obter mais informações sobre as opções disponíveis, consulte a referência da API Cohere Embed.
O URI e a chave são gerados quando você implanta o modelo a partir do catálogo. Para mais informações sobre estes valores, consulte Como implementar modelos Cohere Embed com o Foundry.
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"context": "/document/pages/*",
"uri": "https://cohere-embed-v3-multilingual-hin.eastus.models.ai.azure.com/v1/embed",
"key": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
"inputs": [
{
"name": "texts",
"source": "=[$(/document/pages/*)]"
},
{
"name": "input_type",
"source": "='search_document'"
},
{
"name": "truncate",
"source": "='NONE'"
},
{
"name": "embedding_types",
"source": "=['float']"
}
],
"outputs": [
{
"name": "embeddings",
"targetName": "aml_vector_data"
}
]
}
Além disso, a saída do modelo Cohere não é a matriz de incorporação diretamente, mas sim um objeto JSON que a contém. Você precisa selecioná-lo adequadamente ao mapeá-lo para a definição de índice via indexProjections ou outputFieldMappings. Aqui está um exemplo indexProjections de carga útil que permitiria implementar esse mapeamento.
Se tiver selecionado um embedding_types diferente na definição da competência, altere float no caminho source para o tipo selecionado.
"indexProjections": {
"selectors": [
{
"targetIndexName": "<YOUR_TARGET_INDEX_NAME_HERE>",
"parentKeyFieldName": "ParentKey", // Change this to the name of the field in your index definition where the parent key will be stored
"sourceContext": "/document/pages/*",
"mappings": [
{
"name": "aml_vector", // Change this to the name of the field in your index definition where the Cohere embedding will be stored
"source": "/document/pages/*/aml_vector_data/float/0"
}
]
}
],
"parameters": {}
}
Carga útil do vetorizador de amostra
O vetorizador de catálogo de modelos Microsoft Foundry, ao contrário da habilidade AML, é adaptado para funcionar apenas com modelos de embedding que podem ser implementados através do catálogo de modelos. A principal diferença é que não tem de se preocupar com o payload dos pedidos e respostas. No entanto, deve fornecer o modelName, que corresponde ao "ID do Modelo" que copiou após a implementação do modelo.
Aqui está um exemplo prático de como configurares o vetorizador na definição do teu índice, dadas as propriedades copiadas do Foundry.
Para modelos Cohere, você NÃO deve adicionar o /v1/embed caminho para o final do seu 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>"
},
}
]
Conectar-se usando autenticação de token
Se não conseguires usar autenticação baseada em chaves, podes configurar a habilidade AML e a ligação ao vetorizador do catálogo do modelo Microsoft Foundry para autenticação por token via controlo de acesso baseado em funções no Azure.
O seu serviço de pesquisa deve ter uma identidade gerida atribuída pelo sistema ou pelo utilizador, e a identidade deve ter permissões de Proprietário ou Contribuidor para o seu projeto. Pode então remover o key campo da sua definição de habilidade e vetorizador, substituindo-o por resourceId. Se o seu projeto e serviço de pesquisa estiverem em regiões diferentes, também forneça o region campo.
"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 needed if project is in different region from search service
Observação
Esta integração atualmente não suporta autenticação por token para modelos Cohere. Deve usar autenticação baseada em chaves.