Share via


Aptitud de inserción de Azure OpenAI

Importante

Esta característica se encuentra en versión preliminar pública en los Términos de uso complementarios. La API REST 2023-10-01-Preview admite la primera iteración de esta característica. La API REST 2024-05-01-preview agrega más propiedades y admite más modelos de inserción de texto en Azure OpenAI.

La aptitud de inserción de Azure OpenAI se conecta a un modelo de inserción implementado en el recurso de Azure OpenAI para generar inserciones durante la indexación.

El Asistente para importación y vectorización de datos en Azure Portal usa la aptitud Inserción de Azure OpenAI para vectorizar contenido. Puede ejecutar el asistente y revisar el conjunto de aptitudes generado para ver cómo el asistente compila la aptitud para el modelo text-embedding-ada-002.

Nota:

Esta aptitud está enlazada a Azure OpenAI y se cobra por el precio de pago por uso de Azure OpenAI existente.

@odata.type

Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

Límites de datos

El tamaño máximo de una entrada de texto debe ser de 8000 tokens. Si la entrada supera el máximo permitido, el modelo produce un error de solicitud no válido. Para más información, consulte el concepto clave tokens en la documentación de Azure OpenAI. Considere la posibilidad de usar la aptitud División de texto si necesita fragmentación de datos.

Parámetros de la aptitud

Los parámetros distinguen mayúsculas de minúsculas.

Entradas Descripción
resourceUri URI de un proveedor de modelos, como un recurso de Azure OpenAI o una dirección URL de OpenAI.
apiKey Clave secreta que se usa para acceder al modelo. Si proporciona una clave, deje authIdentity vacío. Si establece apiKey y authIdentity, apiKey se usa en la conexión.
deploymentId El nombre del modelo de inserción de Azure OpenAI implementado. El modelo debe ser un modelo de inserción, como text-embeding-ada-002. Consulte la lista de modelos de Azure OpenAI para ver los modelos admitidos.
authIdentity Una identidad administrada por el usuario que usa el servicio de búsqueda para conectarse a Azure OpenAI. Puede usar una identidad administrada por el usuario o por el sistema. Para usar una identidad administrada del sistema, deje apiKey y authIdentity en blanco. La identidad administrada por el sistema se usa automáticamente. Una identidad administrada debe tener permisos de usuario de OpenAI de Cognitive Services para enviar texto a Azure OpenAI.
modelName Esta propiedad es necesaria si el conjunto de aptitudes se crea mediante la API REST 2024-05-01-preview. Establezca esta propiedad en el nombre de implementación de un modelo de inserción de Azure OpenAI implementado en el proveedor especificado mediante resourceUri e identificado mediante deploymentId. Actualmente, los valores admitidos son text-embedding-ada-002, text-embedding-3-large y text-embedding-3-small.
dimensions (Opcional, introducido en la API REST 2024-05-01-preview). Dimensiones de las inserciones que quiere generar si el modelo admite la reducción de las dimensiones de inserción. Los rangos admitidos se indican a continuación. El valor predeterminado es el valor máximo de las dimensiones de cada modelo si no se especifica. En el caso de los conjuntos de aptitudes creados con 2023-10-01-preview, las dimensiones se fijan en 1536.

Dimensiones admitidas por modelName

Las dimensiones admitidas para una aptitud de inserción de Azure OpenAI dependen del valor modelName configurado.

modelName Dimensiones mínimas Dimensiones máximas
text-embedding-ada-002 1536 1536
text-embedding-3-large 1 3072
text-embedding-3-small 1 1536

Entradas de la aptitud

Entrada Descripción
text El texto de entrada que se va a vectorizar. Si usa la fragmentación de datos, el origen podría ser /document/pages/*.

Salidas de la aptitud

Salida Descripción
embedding Inserción vectorial para el texto de entrada.

Definición de ejemplo

Considere un registro que tiene los siguientes campos:

{
    "content": "Microsoft released Windows 10."
}

A continuación, la definición de la aptitud podría tener este aspecto:

{
  "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
  "description": "Connects a deployed embedding model.",
  "resourceUri": "https://my-demo-openai-eastus.openai.azure.com/",
  "deploymentId": "my-text-embedding-ada-002-model",
  "modelName": "text-embedding-ada-002",
  "dimensions": 1536,
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ]
}

Salida de muestra

Para el texto de entrada especificado, se genera una salida de inserción vectorizada.

{
  "embedding": [
        0.018990106880664825,
        -0.0073809814639389515,
        .... 
        0.021276434883475304,
      ]
}

La salida reside en la memoria. Para enviar esta salida a un campo del índice de búsqueda, debe definir un valor outputFieldMapping que asigne la salida de inserción vectorizada (que es una matriz) a un campo de vector. Si la salida de la aptitud reside en el nodo de inserción del documento y content_vector es el campo del índice de búsqueda, el valor outputFieldMapping en el indexador debe ser similar al siguiente:

  "outputFieldMappings": [
    {
      "sourceFieldName": "/document/embedding/*",
      "targetFieldName": "content_vector"
    }
  ]

procedimientos recomendados

A continuación se muestran algunos procedimientos recomendados que debe tener en cuenta al usar esta aptitud:

  • Si alcanza el límite de TPM (tokens por minuto) de Azure OpenAI, tenga en cuenta el aviso de límites de cuota para que pueda solucionarlo en consecuencia. Consulte la documentación de supervisión de Azure OpenAI para más información sobre el rendimiento de la instancia de Azure OpenAI.

  • La implementación del modelo de inserciones de Azure OpenAI que se usa para esta aptitud debe ser idealmente independiente de la implementación que se utiliza para otros casos de uso, incluido el vectorizador de consultas. Esto ayuda a que cada implementación se adapte a su caso de uso específico, lo que conduce a optimizar el rendimiento e identificar el tráfico desde el indexador y las llamadas de inserción de índices fácilmente.

  • La instancia de Azure OpenAI debe estar en la misma región o al menos geográficamente cerca de la región donde se hospeda el servicio AI Search. Esto reduce la latencia y mejora la velocidad de transferencia de datos entre los servicios.

  • Si tiene un límite de TPM (Tokens por minuto) de Azure OpenAI mayor que el predeterminado publicado en la documentación de cuotas y límites, abra un caso de soporte técnico con el equipo de Azure AI Search, para que esto se pueda ajustar en consecuencia. Esto ayuda a que el proceso de indexación no se ralentice innecesariamente mediante el límite de TPM predeterminado documentado, si tiene límites más altos.

  • Para obtener ejemplos y muestras de código funcionales con esta aptitud, consulte los vínculos siguientes:

Errores y advertencias

Condición Resultado
URI nulo o no válido Error
DeploymentID nulo o no válido Error
El texto está vacío Advertencia
El texto tiene más de 8000 tokens Error

Consulte también