Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Nota
O Pesquisa de IA do Azure está disponível através do portal Azure, APIs REST e SDKs do Azure. Também sustenta o Foundry IQ, a camada de conhecimento gerida que transforma conteúdos empresariais em bases de conhecimento reutilizáveis e conscientes de permissões para agentes no portal Microsoft Foundry.
Importante
Funcionalidades, capacidades ou propriedades assinaladas (pré-visualização) não são abrangidas por um acordo de nível de serviço, não são recomendadas para cargas de trabalho em produção e podem mudar ou ser limitadas antes de se tornarem geralmente disponíveis. Os termos de pré-visualização do Pesquisa de IA do Azure aplicam-se a todas as funcionalidades de pré-visualização, sejam independentes ou parte de uma funcionalidade geralmente disponível.
Neste artigo, aprende a usar modelos do catálogo de modelos do Microsoft Foundry para vetorização integrada (pré-visualização) durante a indexação e execução de consultas no Pesquisa de IA do Azure.
O fluxo de trabalho exige que implemente um modelo do catálogo, o que inclui a incorporação de 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.
Dica
Use o assistente Importar dados para criar um conjunto de competências que inclua uma competência de AML para modelos de embedding implementados no Foundry. A definição de competências AML para entradas, saídas e mapeamentos é gerada pelo assistente, o que lhe dá uma forma fácil de testar um modelo antes de escrever qualquer código.
Pré-requisitos
Um serviço Pesquisa de IA do Azure em qualquer região e em qualquer faixa de preço.
Um projeto no hub Microsoft Foundry.
Modelos de embedding 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, veja as referências AML skill e Microsoft Foundry model catalog vectorizer.
Para a lista mais recente de modelos suportados no portal Azure, veja Quickstart: Pesquisa vetorial no portal Azure e Quickstart: Pesquisa multimodal no portal Azure.
Implementar um modelo de embedding a partir do catálogo de modelos
Siga estas instruções do portal para implementar um modelo suportado no seu projeto.
Anota o URI de destino, a chave, e o nome do modelo. Precisarás destes valores para a definição do vetorizador de um índice de pesquisa e para o conjunto de habilidades que invoca os pontos de extremidade do modelo durante a indexação.
Se preferir autenticação por token à autenticação baseada em chaves, só precisa de copiar 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 habilidade AML, não a habilidade Azure OpenAI Embedding. A secção seguinte descreve a configuração das competências.
Para usar o modelo como vetorizador no momento da consulta, veja Configurar um vetorizador. Certifique-se de usar o vetorizador de catálogo de modelos Microsoft Foundry para esta etapa.
Implementar um modelo de incorporação como uma implementação sem servidor
A funcionalidade AML e o vetorizador de catálogo de modelos da Microsoft Foundry apenas aceitam implementações serverless de modelos de incorporação Cohere. Implementações serverless através do portal Microsoft Foundry não são suportadas para estes modelos, por isso use a CLI do Azure para criar a implementação. Para mais informações, veja Implementar modelos como implementações de API sem servidor.
Para criar uma implementação Cohere serverless:
Instala o CLI do Azure com a extensão
ml.az extension add -n mlInicia sessão no Azure e define os teus valores predefinidos.
az login az account set --subscription <subscription-id> az configure --defaults workspace=<project-name> group=<resource-group>Crie um
subscribe.yamlficheiro para efetuar a subscrição do marketplace para o modelo.name: cohere-embed-v3-english-subscription model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishPara outros modelos suportados, substitua o ID do modelo por um dos seguintes valores.
Modelo ID do modelo Cohere-embed-v3-english azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishCohere-embed-v3-multilingual azureml://registries/azureml-cohere/models/Cohere-embed-v3-multilingualCohere-embed-v4 azureml://registries/azureml-cohere/models/Cohere-embed-v4Execute o comando seguinte para criar a subscrição.
az ml marketplace-subscription create --file subscribe.yamlCrie um ficheiro
endpoint.yamlpara configurar o endpoint sem servidor.name: cohere-embed-v3-english-endpoint model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-englishExecute o seguinte comando para criar o endpoint.
az ml serverless-endpoint create --file endpoint.yamlPara autenticação baseada em chaves, obtenha o URI do endpoint e a chave para usar na habilidade ou no vetorizador.
az ml serverless-endpoint show --name cohere-embed-v3-english-endpoint --query "scoring_uri" az ml serverless-endpoint get-credentials --name cohere-embed-v3-english-endpoint
Exemplo de carga útil de competência AML
Quando implementas modelos de embedding a partir do catálogo de modelos, ligas-te a eles usando a competência AML na Pesquisa de IA do Azure para indexar cargas de trabalho.
Esta secção descreve a definição de competências AML e os mapeamentos de índice. Inclui uma carga útil de amostra que já está configurada para funcionar com o respetivo endpoint implementado. Para mais informações, consulte Contexto de competências e linguagem de anotação de entrada.
Modelos de embedding da Cohere
Esta carga útil de competência AML funciona com os seguintes modelos de embedding:
- Cohere-embed-v3-english
- Cohere-embed-v3-multilingual
- Cohere-embed-v4
Assume que estás a fragmentar o teu conteúdo usando a habilidade Text Split e, por isso, o texto a vetorizar está no /document/pages/* caminho. Se o seu texto vier de um caminho diferente, atualize todas as referências ao caminho /document/pages/* em conformidade.
Deve adicionar o /v1/embed caminho ao final da URL que copiou da sua implementação no Foundry. Também podes alterar os valores das entradas input_type, truncate, e embedding_types para se ajustarem melhor ao teu caso de uso. Para 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 implementas 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 é diretamente o array de embeddings, mas sim um objeto JSON que o contém. Precisa de o selecionar adequadamente ao mapeá-lo para a definição do índice via indexProjections ou outputFieldMappings. Aqui está um exemplo indexProjections de carga útil que permitiria implementar este mapeamento.
Se selecionaste uma opção diferente embedding_types na definição da tua habilidade, muda float o source percurso para o tipo que escolheste.
"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 amostras
O vetorizador de catálogo de modelos Microsoft Foundry, ao contrário da competência 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 você não precisa de se preocupar com a carga útil de 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 de payload sobre como configurar o vetorizador na definição do seu índice, dadas as propriedades copiadas do Foundry.
Para modelos Cohere, NÃO deves adicionar o /v1/embed caminho até ao fim do teu URL como fizeste 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 autenticação por token
Se não conseguir usar autenticação baseada em chaves, pode configurar a funcionalidade AML e a conexão com o vetorizador do catálogo do modelo Microsoft Foundry para autenticação baseada em 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
Nota
Esta integração atualmente não suporta autenticação por token para modelos Cohere. Deve usar autenticação baseada em chaves.