Puedes actualizar el esquema de cualquier dato que contenga datos que admitan un esquema, como datos estructurados, datos del sitio web con datos estructurados o cualquier otro dato no estructurado con metadatos.
Puedes actualizar el esquema en la consola de Google Cloud o con el método de la API de schemas.patch
.
La actualización del esquema de un sitio web solo es compatible con la API de REST.
Para actualizar el esquema, puedes agregar campos nuevos, cambiar las anotaciones indexables, searchable y recuperables de un campo, o marcar un campo como una propiedad clave, como title
, uri
y description
.
Actualiza tu esquema
Puedes actualizar tu esquema en la consola de Google Cloud o con la API.
Console
Para actualizar un esquema en la consola de Google Cloud, sigue estos pasos:
Revisa la sección Requisitos y limitaciones para verificar que la actualización del esquema sea válida.
Si actualizas anotaciones de campo (estableces campos como indexables, recuperables, dinámicos, con facetas, que se pueden buscar o completar), consulta Configurar la configuración de campos para conocer las limitaciones y los requisitos de cada tipo de anotación.
Verifica que hayas completado la transferencia de datos. De lo contrario, es posible que el esquema aún no esté disponible para editarlo.
En la consola de Google Cloud, ve a la página Agent Builder.
En el menú de navegación, haz clic en Almacenes de datos.
En la columna Nombre, haz clic en el almacén de datos con el esquema que deseas actualizar.
Haz clic en la pestaña Esquema para ver el esquema de tus datos.
Es posible que esta pestaña esté vacía si es la primera vez que editas los campos.
Haz clic en el botón Editar.
Actualiza tu esquema:
Asigna propiedades clave: En la columna Key properties de tu esquema, selecciona una propiedad clave a la que quieras asignar un campo. Por ejemplo, si un campo llamado
details
siempre contiene la descripción de un documento, asigna ese campo a la propiedad clave Description.Actualizar la cantidad de dimensiones (avanzado): Puedes actualizar esta configuración si usas incorporaciones vectoriales personalizadas con la Búsqueda de Vertex AI. Consulta Avanzado: Usa incorporaciones personalizadas.
Actualiza las anotaciones de un campo: Para actualizar las anotaciones de un campo, selecciona o anula la selección del parámetro de configuración de anotaciones de un campo. Las anotaciones disponibles son recuperables, indexables, facetas dinámicas, se pueden buscar y completar. Algunos parámetros de configuración de campos tienen limitaciones. Consulta Configura la configuración de los campos para obtener descripciones y requisitos de cada tipo de anotación.
Agregar un campo nuevo: Si agregas campos nuevos a tu esquema antes de importar documentos nuevos con esos campos, puedes acortar el tiempo que tarda Vertex AI Agent Builder en volver a indexar tus datos después de la importación.
Haz clic en Agregar campos nuevos para expandir esa sección.
Haz clic en add_box Agregar nodo y especifica la configuración del campo nuevo.
Para indicar un array, establece Array en Sí. Por ejemplo, para agregar un array de cadenas, establece type en
string
y Array enYes
.En el caso de un índice de almacén de datos de sitios web, todos los campos que agregues son arrays de forma predeterminada.
Haz clic en Guardar para aplicar los cambios en el esquema.
Cambiar el esquema activa la nueva indexación. En el caso de los almacenes de datos grandes, la reindexación puede tardar horas.
REST
Para usar la API y actualizar tu esquema, sigue estos pasos:
Revisa las secciones Requisitos y limitaciones y Ejemplos de limitaciones (solo REST) para verificar que los cambios en tu esquema sean válidos.
Para actualizar el esquema de los almacenes de datos con sitios web o datos no estructurados con metadatos, avanza al paso 5 para llamar al método
schema.patch
.Si actualizas las anotaciones de campo (estableces campos como indexables, recuperables, dinámicos, con facetas o que se pueden buscar), consulta Configurar la configuración de campos para conocer las limitaciones y los requisitos de cada tipo de anotación.
Si editas un esquema detectado automáticamente, asegúrate de haber completado la transferencia de datos. De lo contrario, es posible que el esquema aún no esté disponible para su edición.
Busca el ID de tu almacén de datos. Si ya tienes el ID del almacén de datos, ve al siguiente paso.
En la consola de Google Cloud, ve a la página Agent Builder y, en el menú de navegación, haz clic en Almacenes de datos.
Haz clic en el nombre de tu almacén de datos.
En la página Datos de tu almacén de datos, obtén el ID del almacén de datos.
Usa el método de la API schemas.patch para proporcionar tu nuevo esquema JSON como un objeto JSON.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/schemas/default_schema" \ -d '{ "structSchema": JSON_SCHEMA_OBJECT }'
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto de Google Cloud.DATA_STORE_ID
: el ID del almacén de datos de Vertex AI Search.JSON_SCHEMA_OBJECT
: Tu nuevo esquema JSON como objeto JSON Por ejemplo:{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string", "keyPropertyMapping": "title" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } }, "uri": { "type": "string", "keyPropertyMapping": "uri" } } }
Opcional: Para revisar el esquema, sigue el procedimiento Cómo ver la definición de un esquema.
C#
Para obtener más información, consulta la documentación de referencia de la API de C# del compilador de agentes de Vertex AI.
Para autenticarte en Vertex AI Agent Builder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Para obtener más información, consulta la documentación de referencia de la API de Go del compilador de agentes de Vertex AI.
Para autenticarte en Vertex AI Agent Builder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para obtener más información, consulta la documentación de referencia de la API de Java del compilador de agentes de Vertex AI.
Para autenticarte en Vertex AI Agent Builder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para obtener más información, consulta la documentación de referencia de la API de Python del compilador de agentes de Vertex AI.
Para autenticarte en Vertex AI Agent Builder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Para obtener más información, consulta la documentación de referencia de la API de Ruby del compilador de agentes de Vertex AI.
Para autenticarte en Vertex AI Agent Builder, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Requisitos y limitaciones
Cuando actualices un esquema, asegúrate de que el nuevo sea retrocompatible con el esquema que estás actualizando. Para actualizar un esquema con uno nuevo que no sea retrocompatible, debes borrar todos los documentos del almacén de datos, borrar el esquema y crear uno nuevo.
La actualización de un esquema activa la reindexación de todos los documentos. Esto puede llevar tiempo y generar costos adicionales:
Time. La reindexación de un almacén de datos grande puede tardar horas o días.
Gasto. La reinstalación del índice puede generar costos, según el analizador. Por ejemplo, la reindeksación de almacenes de datos que usan el analizador de OCR o el analizador de diseño genera costos. Para obtener más información, consulta los precios de las funciones de Document AI.
Las actualizaciones de esquemas no son compatibles con lo siguiente:
- Cambiar el tipo de campo Una actualización de esquema no admite el cambio del tipo del campo. Por ejemplo, un campo asociado a un número entero no se puede cambiar a una cadena.
- Quitar un campo. Una vez definido, no se puede quitar un campo. Puedes seguir agregando campos nuevos, pero no puedes quitar un campo existente.
Ejemplos de limitaciones (solo REST)
En esta sección, se muestran ejemplos de tipos de actualizaciones de esquemas válidos y no válidos. En estos ejemplos, se usa el siguiente esquema JSON de ejemplo:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string",
"keyPropertyMapping": "description"
},
"categories": {
"type": "array",
"items": {
"type": "string",
"keyPropertyMapping": "category"
}
}
}
}
Ejemplos de actualizaciones compatibles
Se admiten las siguientes actualizaciones del esquema de ejemplo.
Agregar un campo En este ejemplo, se agregó el campo
properties.uri
al esquema.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string" }, "description": { "type": "string", "keyPropertyMapping": "description" }, "uri": { // Added field. This is supported. "type": "string", "keyPropertyMapping": "uri" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }
Agregar o quitar anotaciones de propiedades clave para
title
,description
ouri
En este ejemplo, se agregókeyPropertyMapping
al campotitle
.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string", "keyPropertyMapping": "title" // Added "keyPropertyMapping". This is supported. }, "description": { "type": "string", "keyPropertyMapping": "description" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }
Ejemplos de actualizaciones de esquemas no válidas
No se admiten las siguientes actualizaciones del esquema de ejemplo.
Cambiar el tipo de campo En este ejemplo, el tipo del campo
title
se cambió de cadena a número. No se admite esta opción.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "number" // Changed from string. Not allowed. }, "description": { "type": "string", "keyPropertyMapping": "description" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }
Quitar un campo. En este ejemplo, se quitó el campo
title
. No se admite esta opción.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { // "title" is removed. Not allowed. "description": { "type": "string", "keyPropertyMapping": "description" }, "uri": { "type": "string", "keyPropertyMapping": "uri" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }
¿Qué sigue?
- Consulta la definición del esquema de los datos estructurados
- Cómo borrar un esquema de datos estructurados
- Cómo obtener una vista previa de los resultados de la búsqueda