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.
El vectorizador de API web personalizado le permite configurar consultas de búsqueda para llamar a un punto de conexión de API web que genera incrustaciones en el momento de la consulta. La estructura de carga JSON necesaria para el punto de conexión se describe más adelante en este artículo. Los datos se procesan en la geografía donde se implementa el 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.
Se llama WebApiVectorizer al vectorizador de API web personalizado en la API REST. Use la versión estable más reciente de Indexes- Create (REST API) o un paquete de Azure SDK que proporcione la característica.
Parámetros de vectorizador
Los parámetros distinguen entre mayúsculas y minúsculas.
| Nombre de parámetro | Descripción |
|---|---|
uri |
El URI de la API web adonde se enviará la carga de JSON. Solo se permite el esquema de URI https. |
httpMethod |
Método usado para enviar la carga. Los métodos permitidos son PUT o POST. |
httpHeaders |
Una colección de pares clave-valor en los que las claves representan nombres de encabezado y los valores representan valores de encabezado enviados a su API web con la carga. Los encabezados siguientes están prohibidos en esta colección: Accept, Accept-Charset, Accept-EncodingContent-LengthContent-TypeCookie, Host, TE, . UpgradeVia |
authResourceId |
(Opcional) Cadena que, si se establece, indica que este vectorizador usa una identidad administrada para la conexión a la función o aplicación que hospeda el código. Esta propiedad toma un ID de aplicación (cliente) o un registro de aplicación en Microsoft Entra ID en uno de estos formatos: api://<appId>, <appId>/.default, api://<appId>/.default. Este valor define el ámbito del token de autenticación recuperado por la canalización de consulta y que se envía junto con la solicitud de API web personalizada a la función o aplicación. Establecer esta propiedad requiere que el servicio de búsqueda esté configurado para la identidad administrada y que la aplicación de funciones de Azure esté configurada para el inicio de sesión de Microsoft Entra. |
authIdentity |
(Opcional) Una identidad administrada por el usuario usada por el servicio de búsqueda para conectarse a la función o aplicación que hospeda el código. Puede usar una identidad administrada por el sistema o administrada por el usuario. Para usar una identidad administrada por el sistema, deje authIdentity en blanco. |
timeout |
(Opcional) Tiempo de espera para el cliente HTTP que realiza la llamada a la API. Debe tener el formato de un valor XSD dayTimeDuration (un subconjunto restringido de un valor de duración ISO 8601 ). Por ejemplo, PT60S significa 60 segundos. Si no se establece, el valor predeterminado es de 30 segundos. El tiempo de espera puede estar entre 1 y 230 segundos. |
Tipos de consulta vectorial admitidos
El vectorizador de API de web personalizada admite consultas vectoriales text, imageUrl y imageBinary.
Definición de ejemplo
"vectorizers": [
{
"name": "my-custom-web-api-vectorizer",
"kind": "customWebApi",
"customWebApiParameters": {
"uri": "https://contoso.embeddings.com",
"httpMethod": "POST",
"httpHeaders": {
"api-key": "0000000000000000000000000000000000000"
},
"timeout": "PT60S",
"authResourceId": null,
"authIdentity": null
}
}
]
Estructura de carga JSON
La estructura de carga JSON necesaria para un punto de conexión que se usa con el vectorizador de API web personalizada es la misma que la estructura usada por la aptitud Api web personalizada, que se describe con más detalle en la documentación de aptitudes.
Tenga en cuenta las siguientes consideraciones al implementar un punto de conexión de API web para el vectorizador de API web personalizado.
El vectorizador envía sólo un registro a la vez en la matriz
valuescuando realiza una solicitud al punto de conexión.El vectorizador pasa los datos que se van a vectorizar en una clave específica del objeto JSON
dataen la carga de la solicitud. Esa clave estext,imageUrloimageBinary, dependiendo del tipo de consulta vectorial solicitada.El vectorizador espera que la inserción resultante esté bajo la clave
vectordel objeto JSONdataen la carga útil de respuesta.Los errores o advertencias devueltos por el punto de conexión se omiten mediante el vectorizador y no están disponibles para la depuración en tiempo de consulta.
Si se ha solicitado una consulta vectorial
imageBinary, la carga útil de la solicitud enviada al punto de conexión es la siguiente:{ "values": [ { "recordId": "0", "data": { "imageBinary": { "data": "<base 64 encoded image binary data>" } } } ] }