vectorizador openAI de Azure

Nota

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.

El vectorizador Azure OpenAI se conecta a un modelo de embedding implementado en el recurso de Azure OpenAI en Foundry Models o en el proyecto Microsoft Foundry para generar embeddings en el momento de la consulta. Tus datos se procesan en la Geo donde se despliega tu modelo.

Aunque los vectorizadores se usan en el momento de la consulta, se especifican en definiciones de índice y se hace referencia a ellos en campos vectoriales a través de un perfil de vector. Para obtener más información, vea Configurar un vectorizador en un índice de búsqueda.

El vectorizador OpenAI de Azure se llama AzureOpenAIVectorizer en la API REST. Use la versión estable más reciente de Indexes- Create (API REST) o un paquete SDK de Azure que proporcione la característica.

Nota

Este vectorizador está enlazado a Azure OpenAI y se cobra a precio estándar de Azure OpenAI.

Requisitos previos

  • Un recurso Azure OpenAI en Foundry Models o un proyecto Foundry.

    • Tu recurso Azure OpenAI debe tener un subdominio personalizado, como https://<resource-name>.openai.azure.com. Puedes encontrar este endpoint en la página Keys and Endpoint en el portal de Azure y usarlo para la propiedad resourceUri en esta habilidad.

    • El recurso principal de tu proyecto Foundry proporciona acceso a múltiples endpoints, incluyendo https://<resource-name>.openai.azure.com, https://<resource-name>.services.ai.azure.com, y https://<resource-name>.cognitiveservices.azure.com. Puedes encontrar estos endpoints en la página Keys and Endpoint del portal de Azure y usar cualquiera de ellos para la propiedad resourceUri en esta habilidad.

  • Un modelo de incrustación de Azure OpenAI desplegado en tu recurso o proyecto. Para ver los modelos admitidos, consulte la sección siguiente.

Parámetros de vectorizador

Los parámetros distinguen entre mayúsculas y minúsculas.

Nombre del parámetro Descripción
resourceUri (Obligatorio) El URI del proveedor del modelo. Los dominios soportados son:

  • openai.azure.com
  • services.ai.azure.com
  • cognitiveservices.azure.com

también se admiten los puntos de conexión de Azure API Management, excepto los dominios personalizados de API Management. Para configurar, incluida la autenticación, RBAC y la conectividad privada opcional, consulte Uso de Azure API Management con habilidades y vectorizadores de Azure OpenAI.

apiKey Clave secreta que se usa para acceder al modelo. Si proporciona una clave, deje authIdentity vacía. Si configura tanto apiKey como authIdentity, apiKey se usa en la conexión.
deploymentId (Obligatorio) Identificador del modelo de 'embedding' de OpenAI implementado en Azure. Este es el nombre de implementación que especificó al implementar el modelo.
authIdentity Una identidad administrada por el usuario que usa el servicio de búsqueda para la conexión. Puede usar una identidad administrada por el sistema o por el usuario. Para usar una identidad administrada por el sistema, deje apiKey y authIdentity en blanco. La identidad administrada por el sistema se usa automáticamente. Una identidad administrada debe tener permisos Cognitive Services OpenAI User para enviar texto a Azure OpenAI.
modelName (Obligatorio) Nombre del modelo de OpenAI de Azure implementado en el deploymentId especificado. Los valores admitidos son:

  • text-embedding-ada-002
  • text-embedding-3-large
  • text-embedding-3-small

Tipos de consulta vectorial admitidos

El vectorizador openAI de Azure solo admite consultas vectoriales de text.

Dimensiones de campo esperadas

Las dimensiones de campo esperadas para un campo configurado con un vectorizador OpenAI de Azure dependen de la modelName configurada.

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

Definición de ejemplo

"vectorizers": [
    {
        "name": "my-openai-vectorizer",
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
            "resourceUri": "https://my-fake-azure-openai-resource.openai.azure.com",
            "apiKey": "0000000000000000000000000000000000000",
            "deploymentId": "my-ada-002-deployment",
            "authIdentity": null,
            "modelName": "text-embedding-ada-002",
        },
    }
]

Mejores prácticas de rendimiento

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

  • 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 obtener más información sobre el rendimiento de su instancia de Azure OpenAI.

  • La implementación del modelo de inserciones de Azure OpenAI que se usa para este vectorizador debe ser idealmente independiente de la implementación que se usa para otros casos de uso, incluida la aptitud de inserción. 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 OpenAI de Azure debe estar en la misma región o al menos cerca geográficamente de la región donde se hospeda el servicio de búsqueda de IA. Esto reduce la latencia y mejora la velocidad de transferencia de datos entre los servicios.

  • Para evitar códigos de error frecuentes de 429, considere la posibilidad de implementar el equilibrio de carga a través de API Management mediante la implementación de una puerta de enlace de equilibrio de carga delante de varias implementaciones de modelos de inserción de OpenAI Azure.

  • Si tiene un límite de Azure OpenAI TPM (Tokens por minuto) mayor que el predeterminado, tal y como se publicó en la documentación de cuotas y límites, abra un caso de soporte con el equipo de Búsqueda de Azure AI, para que se pueda ajustar en consecuencia. Esto ayuda a que el proceso de indexación no se ralentice innecesariamente debido al límite documentado de TPM predeterminado, si dispone de límites más altos.

Consideraciones de seguridad para la autenticación de identidad administrada

Cuando el vectorizador openAI de Azure usa la autenticación de identidad administrada, Búsqueda de Azure AI obtiene un token de acceso Microsoft Entra para la audiencia de Foundry Tools (https://cognitiveservices.azure.com) e incluyelo en las solicitudes enviadas al punto de conexión especificado por resourceUri. La autenticación de identidad administrada se aplica cuando se establece authIdentity, o cuando y apiKeyauthIdentity están vacíos y el servicio usa la identidad asignada por el sistema.

Se espera que el punto de conexión al resourceUri que hace referencia sea su propio recurso Azure OpenAI o Foundry Tools. Los dominios soportados son:

  • openai.azure.com
  • cognitiveservices.azure.com
  • services.ai.azure.com

También se admiten puntos de conexión de Azure API Management (*.azure-api.netAPIM). Dado que un nombre de host de APIM no se puede comprobar solo con su nombre, Búsqueda de Azure AI valida estos puntos de conexión con una comprobación de conectividad activa en el momento de la configuración en lugar de mediante la coincidencia de dominios. Es responsable de configurar y mantener la relación entre el punto de conexión de APIM y el recurso de OpenAI o Foundry Tools de Azure detrás de él.

Nota

Un token de identidad administrada emitido para la audiencia de Foundry Tools es válido en cualquier recurso de Foundry Tools o Azure recurso de OpenAI en el que se autoriza la identidad. Enviarlo a un punto de conexión que no es de confianza podría exponer el token.

Para ayudar a mantener una implementación segura, siga estos procedimientos:

  • Establezca resourceUri solo en los puntos de conexión que posee y confíe. Prefiere los dominios de Foundry Tools enumerados anteriormente. Si usa un punto de conexión de APIM, confirme que frente a su propio recurso antes de habilitar la identidad administrada. Un nombre de host de aspecto de confianza no es prueba de propiedad.
  • Aplique el principio de privilegios mínimos a la identidad administrada usada por el servicio de búsqueda. El vectorizador openAI de Azure solo requiere el rol de usuario openAI de Cognitive Services en el recurso de destino. Evite conceder roles más amplios.
  • Use el perímetro de seguridad de red (NSP) y los puntos de conexión privados o la integración de red virtual para restringir los puntos de conexión a los que puede llegar el servicio de búsqueda y los orígenes desde los que el recurso de destino acepta solicitudes.
  • Si usa un punto de conexión de APIM, asegúrese de que la puerta de enlace valida las solicitudes entrantes y las reenvía solo al back-end previsto. También debe revisar periódicamente sus directivas de acceso.
  • Se prefiere la identidad administrada a través de apiKey. Si usa apiKey, almacene y gire de forma segura y no lo inserte en el control de código fuente. El servicio rechaza las configuraciones que establecen y apiKeyauthIdentity.
  • Revise periódicamente las definiciones de índice, las asignaciones de roles de identidad administrada y las configuraciones de APIM para confirmar que resourceUri los valores, los controles de acceso y los permisos de identidad siguen siendo actuales y adecuados. Revise los cambios de configuración a través de los procesos establecidos de administración de cambios y revisión de seguridad.
  • Supervise Azure registros de inicio de sesión de OpenAI y Foundry Tools, eventos de autenticación y registros de acceso para actividades inesperadas o no autorizadas.
  • Quite vectorizadores, puntos de conexión, asignaciones de roles y claves de API que ya no sean necesarias.

Restricción del acceso a la configuración de indexación y vectorizador

Los usuarios que pueden crear o modificar definiciones de índice controlan tanto el punto de conexión de destino (resourceUri) como la configuración de autenticación utilizada por el vectorizador. Dado que el vectorizador envía un token de identidad administrada para la audiencia de Foundry Tools a ese punto de conexión, restrinja estos permisos a los administradores de confianza y siga los procesos estándar de administración de cambios y revisión de seguridad al configurar vectorizadores habilitados para identidad administrada.

Consulte también