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 de REST 2023-10-01-Preview admite esta característica.

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 incrustaciones.

Los datos de importación y vectorización usan la aptitud de inserción de Azure OpenAI para vectorizar contenido. Puede ejecutar el asistente y revisar el conjunto de aptitudes generado para ver cómo lo compila el asistente.

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ía. 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.

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",
  "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 en el índice de búsqueda, debe definir un outputFieldMapping que asigne la salida de inserción vectorizada (que es una matriz) a un campo vectorial. Suponiendo que 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 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 de Azure OpenAI (tokens por minuto), 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 incrustaciones de Azure OpenAI que se usa para esta aptitud debe ser idealmente independiente de la implementación que se usa para otros casos de uso, incluido el vectorizador de consulta. Esto ayuda a cada implementación a adaptarse 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 en la que se hospeda la servicio Search de inteligencia artificial. Esto reduce la latencia y mejora la velocidad de transferencia de datos entre los servicios.
  • Si tiene un límite de TPM de Azure OpenAI (tokens por minuto) 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, por lo que esto se puede 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.

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