Uso de modelos de inserción desde el catálogo de modelos de Azure AI Foundry para la vectorización integrada
Importante
Esta característica se encuentra en versión preliminar pública en los Términos de uso complementarios. La API de REST 2024-05-01-versión preliminar admite esta característica.
En este artículo, aprenderá a acceder a los modelos de inserción en el catálogo de modelo de Azure AI Foundry para conversiones de vectores durante la indexación y en consultas de Azure AI Search.
El flujo de trabajo incluye los pasos de implementación del modelo. El catálogo de modelos incluye la inserción de modelos de Microsoft y otras empresas. La implementación de un modelo se factura por la estructura de facturación de cada proveedor.
Una vez implementado el modelo, puede usarlo para la vectorización integrada durante la indexación o con el vectorizador de Azure AI Foundry para consultas.
Sugerencia
Use el asistente para importación y vectorización de datos para generar un conjunto de aptitudes que incluya una aptitud AML para modelos de inserción implementados en Azure AI Foundry. El asistente genera una definición de aptitud de AML para entradas, salidas y asignaciones, lo que le proporciona una manera fácil de probar un modelo antes de escribir cualquier código.
Requisitos previos
Búsqueda de Azure AI, cualquier región o nivel.
Azure AI Foundry y un proyecto de Azure AI Foundry.
Modelos de inserción compatibles
La vectorización integrada y el Asistente para importación y vectorización de datos admite los siguientes modelos de inserción en el catálogo de modelos:
Para inserciones de texto:
- Cohere-embed-v3-english
- Cohere-embed-v3-multilingual
Para inserciones de imágenes:
- Facebook-DinoV2-Image-Embeddings-ViT-Base
- Facebook-DinoV2-Image-Embeddings-ViT-Giant
Implementación de un modelo de inserción desde el catálogo de modelo de Azure AI Foundry
Abra el catálogo de modelo de Azure AI Foundry. Cree un proyecto si aún no tiene uno.
Aplique un filtro para mostrar solo los modelos de inserción. En Tareas de inferencia, seleccione inserciones:
Seleccione un modelo compatible y, después, seleccione Implementar.
Acepte los valores predeterminados o modifíquelos según sea necesario, y después seleccione Implementar. Los detalles de implementación varían en función del modelo que seleccione.
Espere a que el modelo finalice la implementación mediante la supervisión del estado de aprovisionamiento. Debe cambiar de "Aprovisionamiento" a "Actualización" a "Correcto". Es posible que tenga que seleccionar Actualizar cada pocos minutos para ver la actualización de estado.
Anote el URI de destino, la clave y el nombre del modelo. Necesita estos valores para la definición del vectorizador en un índice de búsqueda y para el conjunto de aptitudes que llama a los puntos de conexión del modelo durante la indexación.
Opcionalmente, puede cambiar el punto de conexión para usar autenticación de token en lugar de autenticación de clave. Si habilita la autenticación de tokens, solo tiene que copiar el URI y el nombre del modelo, pero anote la región en la que se implementa el modelo.
Ahora puede configurar un índice de búsqueda e indexador para usar el modelo implementado.
Para usar el modelo durante la indexación, consulte pasos para habilitar la vectorización integrada. Asegúrese de usar la aptitud Azure Machine Learning (AML) y no la aptitud AzureOpenAIEmbedding. En la sección siguiente se describe la configuración de aptitudes.
Para usar el modelo como vectorizador en el momento de la consulta, consulte Configuración de un vectorizador. Asegúrese de usar la vectorizador del catálogo de modelo de Azure AI Foundry para este paso.
Cargas de aptitudes de AML de ejemplo
Al implementar modelos de inserción desde el catálogo de modelo de Azure AI Foundry se conecta a ellos mediante la aptitudes de AML en Azure AI Search para cargas de trabajo de indexación.
En esta sección se describen las asignaciones de índice y definición de aptitudes de AML. Incluye cargas de ejemplo que ya están configuradas para trabajar con sus puntos de conexión implementados correspondientes. Para obtener más detalles técnicos sobre cómo funcionan estas cargas, lea sobre el contexto de aptitud y el lenguaje de anotación de entrada.
Esta carga de aptitudes de AML funciona con los siguientes modelos de inserción de imágenes de Azure AI Foundry:
- Facebook-DinoV2-Image-Embeddings-ViT-Base
- Facebook-DinoV2-Image-Embeddings-ViT-Giant
Se supone que las imágenes proceden de la ruta de acceso de /document/normalized_images/*
que se crea habilitando integrada en la extracción de imágenes. Si sus imágenes proceden de una ruta de acceso diferente o están almacenadas como URL, actualice todas las referencias a la ruta de acceso /document/normalized_images/*
en consecuencia.
El URI y la clave se generan al implementar el modelo desde el catálogo. Para más información sobre estos valores, consulte Implementación de modelos de lenguaje grande con 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"
}
]
}
Carga del vectorizador de muestra de Azure AI Foundry
El vectorizador de Azure AI Foundry, a diferencia de la aptitud AML, se adapta para trabajar solo con los modelos de inserción que se pueden implementar a través del catálogo de modelo de Azure AI Foundry. La principal diferencia es que no tiene que preocuparse por la carga de solicitud y respuesta, pero tiene que proporcionar modelName
, que corresponde al "Id. de modelo" que copió después de implementar el modelo en el portal de Azure AI Foundry.
Esta es una carga de ejemplo de cómo configuraría el vectorizador en la definición de índice según las propiedades copiadas de Azure AI Foundry.
En el caso de los modelos de Cohere, NO debe agregar la ruta de acceso /v1/embed
al final de la dirección URL como hizo con la aptitud.
"vectorizers": [
{
"name": "<YOUR_VECTORIZER_NAME_HERE>",
"kind": "aml",
"amlParameters": {
"uri": "<YOUR_URL_HERE>",
"key": "<YOUR_PRIMARY_KEY_HERE>",
"modelName": "<YOUR_MODEL_ID_HERE>"
},
}
]
Conexión mediante la autenticación de tokens
Si no puede usar la autenticación basada en claves, en su lugar puede configurar la aptitud de AML y la conexión del vectorizador de Azure AI para la autenticación de tokens a través del control de acceso basado en roles en Azure. El servicio de búsqueda debe tener un sistema o una identidad administrada asignada por el usuarioy la identidad debe tener permisos de propietario o colaborador para el área de trabajo del proyecto de AML. A continuación, puede quitar el campo de clave de la definición de la aptitud y el vectorizador, reemplazándolo por el campo resourceId. Si el proyecto de AML y el servicio de búsqueda están en regiones diferentes, proporcione también el campo región.
"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