Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Note
Búsqueda de Azure AI está disponible a través del portal de Azure, las API REST y los SDK de Azure. También respalda Foundry IQ, la capa de conocimiento administrada que transforma el contenido empresarial en bases de conocimiento reutilizables y compatibles con permisos para agentes en el portal de Microsoft Foundry.
Importante
Esta habilidad está en vista previa bajo Términos de Uso Suplementarios. La versión preliminar más reciente de Skillsets- Create Or Update (API REST) admite esta característica.
La habilidad de incrustaciones multimodales
Para transacciones que superen los 20 documentos por indexador al día, esta habilidad requiere que adjuntes un recurso facturable de Microsoft Foundry a tu conjunto de habilidades. La ejecución de las habilidades integradas se cobra al precio estándar actual de Foundry Tools. La extracción de imágenes también es facturable por Búsqueda de Azure AI.
El recurso de Microsoft Foundry se utiliza únicamente con fines de facturación. El procesamiento de contenido se realiza en recursos separados gestionados y mantenidos por Búsqueda de Azure AI. Tus datos se procesan en la Geo donde se despliega tu recurso.
Regiones soportadas
Las regiones compatibles varían según la modalidad y cómo la habilidad se conecta con la API de incrustaciones multimodales de Azure Vision.
| Enfoque | Requisito |
|---|---|
| Asistente de importación de datos |
|
| Programático, usando una conexión basada en teclas para la facturación |
|
| Programático, usando una conexión sin clave para facturación | No hay requisito de la misma región. Crear un servicio Búsqueda de Azure AI y Microsoft recurso de Foundry en cualquier región donde esté disponible cada servicio. |
@odata.type
Microsoft.Skills.Vision.VectorizeSkill
Límites de datos
Los límites de entrada para la habilidad se pueden encontrar en la documentación Azure Vision para imágenes y texto. Considera usar la habilidad División de Texto si necesitas fragmentación de datos para entradas de texto.
Las entradas aplicables incluyen:
- El tamaño del archivo de entrada de imagen debe ser inferior a 20 megabytes (MB). El tamaño de la imagen debe ser mayor a 10 x 10 píxeles y menor a 16.000 x 16.000 píxeles.
- La cadena de entrada de texto debe tener entre una palabra (inclusiva) y 70 palabras.
Parámetros de aptitud
Los parámetros son sensibles a mayúsculas y mayúsculas.
| Entradas | Descripción |
|---|---|
modelVersion |
(Obligatorio) La versión del modelo (2023-04-15) se pasará a la API de incrustaciones multimodales de Azure Vision para generar incrustaciones. Las incrustaciones vectoriales solo pueden compararse y emparejarse si son del mismo tipo de modelo. Las imágenes vectorizadas por un modelo no podrán buscarse a través de otro modelo. La última API de Análisis de Imágenes ofrece dos modelos:
|
Entradas de habilidades
Las entradas de definición de habilidades incluyen nombre, fuente y entradas. La siguiente tabla proporciona valores válidos para el nombre de la entrada. También puedes especificar entradas recursivas. Para más información, consulta la referencia de la API REST y Crear un conjunto de habilidades.
| Entrada | Descripción |
|---|---|
text |
El texto de entrada a vectorizar. Si usas fragmentación de datos, la fuente podría ser /document/pages/*. |
image |
Tipo complejo. Actualmente solo funciona con el campo "/document/normalized_images", producido por el indexador de blob de Azure cuando imageAction está asignado a un valor distinto de none. |
url |
La URL para descargar la imagen que se vectorizará. |
queryString |
La cadena de consulta de la URL para descargar la imagen que se va a vectorizar. Útil si almacenas la URL y el token SAS en rutas separadas. |
Solo uno de text, image o url/queryString puede configurarse para una única instancia de la habilidad. Si quieres vectorizar tanto imágenes como texto dentro del mismo conjunto de habilidades, incluye dos instancias de esta habilidad en la definición del conjunto de habilidades, una para cada tipo de entrada que quieras usar.
Resultados de habilidades
| Output | Descripción |
|---|---|
vector |
Matriz de incrustación de salida de flotadores para el texto o imagen de entrada. |
Definición de ejemplo
Para la entrada de texto, consideremos una mancha que contiene el siguiente contenido:
{
"content": "Forests, grasslands, deserts, and mountains are all part of the Patagonian landscape that spans more than a million square kilometers of South America."
}
Para entradas de texto, tu definición de habilidad podría ser la siguiente:
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "vector",
"targetName": "text_vector"
}
]
}
Para la entrada de imagen, una segunda definición de habilidad dentro del mismo conjunto de habilidades podría ser así:
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document/normalized_images/*",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "vector",
"targetName": "image_vector"
}
]
}
Si quieres vectorizar imágenes directamente desde tu fuente de datos de almacenamiento blob en lugar de extraer imágenes durante la indexación, tu definición de habilidad debería especificar una URL y quizás un token SAS dependiendo de la seguridad del almacenamiento. Para este escenario, tu definición de habilidad podría ser la siguiente:
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "url",
"source": "/document/metadata_storage_path"
},
{
"name": "queryString",
"source": "/document/metadata_storage_sas_token"
}
],
"outputs": [
{
"name": "vector",
"targetName": "image_vector"
}
]
}
Salida de ejemplo
Para la entrada dada, se produce una salida de incrustación vectorizada. La salida es de 1.024 dimensiones, que es el número de dimensiones soportadas por la API multimodal de Azure Vision.
{
"text_vector": [
0.018990106880664825,
-0.0073809814639389515,
....
0.021276434883475304,
]
}
La salida reside en la memoria. Para enviar esta salida a un campo en el índice de búsqueda, debes definir un outputFieldMapping que mapea la salida de incrustación vectorizada (que es un array) a un campo vectorial. Suponiendo que la salida de la habilidad reside en el nodo vectorial del documento, y content_vector es el campo en el índice de búsqueda, el outputFieldMapping en el indexador debería verse así:
"outputFieldMappings": [
{
"sourceFieldName": "/document/vector/*",
"targetFieldName": "content_vector"
}
]
Para mapear incrustaciones de imágenes al índice, se usan proyecciones de índice. La carga útil para indexProjections podría parecerse al siguiente ejemplo. image_content_vector es un campo en el índice, y está poblado con el contenido encontrado en el vector del array de normalized_images .
"indexProjections": {
"selectors": [
{
"targetIndexName": "myTargetIndex",
"parentKeyFieldName": "ParentKey",
"sourceContext": "/document/normalized_images/*",
"mappings": [
{
"name": "image_content_vector",
"source": "/document/normalized_images/*/vector"
}
]
}
]
}