Vous pouvez mettre à jour le schéma de toutes les données qui en sont compatibles, comme les données structurées, les données de site Web avec des données structurées ou d'autres données non structurées avec des métadonnées.
Vous pouvez mettre à jour le schéma dans la console Google Cloud ou à l'aide de la méthode d'API schemas.patch
.
La mise à jour du schéma d'un site Web n'est possible que via l'API REST.
Pour mettre à jour le schéma, vous pouvez ajouter des champs, modifier les annotations "indexable", "searchable" et "retrievable" d'un champ, ou marquer un champ comme propriété clé, comme title
, uri
et description
.
Mettre à jour votre schéma
Vous pouvez mettre à jour votre schéma dans la console Google Cloud ou à l'aide de l'API.
Console
Pour mettre à jour un schéma dans la console Google Cloud :
Consultez la section Exigences et limites pour vérifier que la mise à jour de votre schéma est valide.
Si vous mettez à jour les annotations de champ (en définissant des champs comme indexables, récupérables, dynamiques, pouvant être utilisés comme facettes, pouvant faire l'objet d'une recherche ou pouvant être complétés), consultez Configurer les paramètres des champs pour connaître les limites et les exigences de chaque type d'annotation.
Vérifiez que vous avez terminé l'ingestion des données. Dans le cas contraire, il est possible que le schéma ne soit pas encore modifiable.
Dans la console Google Cloud , accédez à la page AI Applications.
Dans le menu de navigation, cliquez sur Data Stores (Magasins de données).
Dans la colonne Nom, cliquez sur le data store dont vous souhaitez mettre à jour le schéma.
Cliquez sur l'onglet Schéma pour afficher le schéma de vos données.
Cet onglet peut être vide si vous modifiez les champs pour la première fois.
Cliquez sur le bouton Modifier.
Mettez à jour votre schéma :
Mappez les propriétés clés : dans la colonne Propriétés clés de votre schéma, sélectionnez une propriété clé à laquelle mapper un champ. Par exemple, si un champ appelé
details
contient toujours la description d'un document, mappez ce champ à la propriété clé Description.Mettre à jour le nombre de dimensions (paramètre avancé) : vous pouvez modifier ce paramètre si vous utilisez des embeddings vectoriels personnalisés avec Vertex AI Search. Consultez Avancé : utiliser des embeddings personnalisés.
Mettre à jour les annotations de champ : pour mettre à jour les annotations d'un champ, sélectionnez ou désélectionnez le paramètre d'annotation du champ. Les annotations disponibles sont Récupérable, Indexable, Ajout d'attributs dynamique, Inclus dans l'index de recherche et Complétable. Certains paramètres de champ sont soumis à des limites. Pour obtenir des descriptions et des exigences pour chaque type d'annotation, consultez Configurer les paramètres des champs.
Ajoutez un champ : si vous ajoutez un champ à votre schéma avant d'importer de nouveaux documents contenant ce champ, les applications d'IA pourront réindexer vos données plus rapidement après l'importation.
Cliquez sur Ajouter des champs pour développer cette section.
Cliquez sur add_box Ajouter un nœud et spécifiez les paramètres du nouveau champ.
Pour indiquer un tableau, définissez Tableau sur Oui. Par exemple, pour ajouter un tableau de chaînes, définissez type sur
string
et Array surYes
.Pour un index de data store de site Web, tous les champs que vous ajoutez sont des tableaux par défaut.
Cliquez sur Enregistrer pour appliquer les modifications apportées au schéma.
La modification du schéma déclenche la réindexation. Pour les datastores volumineux, la réindexation peut prendre plusieurs heures.
REST
Pour utiliser l'API afin de mettre à jour votre schéma, procédez comme suit :
Consultez les sections Conditions requises et limites et Exemples de limites (REST uniquement) pour vérifier que les modifications apportées à votre schéma sont valides.
Pour mettre à jour le schéma des data stores contenant des sites Web ou des données non structurées avec des métadonnées, passez à l'étape 5 pour appeler la méthode
schema.patch
.Si vous mettez à jour les annotations de champ (en définissant des champs comme indexables, récupérables, dynamiques et pouvant être utilisés pour la création de facettes ou pour la recherche), consultez Configurer les paramètres des champs pour connaître les limites et les exigences de chaque type d'annotation.
Si vous modifiez un schéma détecté automatiquement, assurez-vous d'avoir terminé l'ingestion des données. Dans le cas contraire, il est possible que le schéma ne soit pas encore disponible pour la modification.
Trouvez l'ID de votre data store. Si vous disposez déjà de l'ID de votre data store, passez à l'étape suivante.
Dans la console Google Cloud , accédez à la page Applications d'IA et cliquez sur Data stores dans le menu de navigation.
Cliquez sur le nom de votre data store.
Sur la page Données de votre datastore, obtenez l'ID du datastore.
Utilisez la méthode d'API schemas.patch pour fournir votre nouveau schéma JSON en tant qu'objet 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 }'
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet Google Cloud .DATA_STORE_ID
: ID du data store Vertex AI Search.JSON_SCHEMA_OBJECT
: votre nouveau schéma JSON sous forme d'objet JSON. Exemple :{ "$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" } } }
Facultatif : Examinez le schéma en suivant la procédure Afficher une définition de schéma.
C#
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications C#.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Go.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Java.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Python.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API AI Applications Ruby.
Pour vous authentifier auprès des applications d'IA, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Conditions requises et limites
Lorsque vous mettez à jour un schéma, assurez-vous que le nouveau schéma est rétrocompatible avec celui que vous mettez à jour. Pour mettre à jour un schéma avec un nouveau schéma qui n'est pas rétrocompatible, vous devez supprimer tous les documents du data store, supprimer le schéma, puis en créer un.
La mise à jour d'un schéma déclenche la réindexation de tous les documents. Cela peut prendre du temps et entraîner des coûts supplémentaires :
Heure La réindexation d'un grand data store peut prendre plusieurs heures, voire plusieurs jours.
Dépense La réindexation peut entraîner des coûts, selon l'analyseur. Par exemple, la réindexation des data stores qui utilisent l'analyseur OCR ou l'analyseur de mise en page entraîne des coûts. Pour en savoir plus, consultez la page Tarifs des fonctionnalités Document AI.
Les mises à jour de schéma ne sont pas compatibles avec les éléments suivants :
- Modifier le type d'un champ Une mise à jour du schéma ne permet pas de modifier le type du champ. Par exemple, un champ mappé à un entier ne peut pas être remplacé par une chaîne.
- Supprimer un champ Une fois défini, un champ ne peut pas être supprimé. Vous pouvez continuer à ajouter des champs, mais vous ne pouvez pas en supprimer.
Exemples de limites (REST uniquement)
Cette section présente des exemples de types de mises à jour de schéma valides et non valides. Ces exemples utilisent l'exemple de schéma JSON suivant :
{
"$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"
}
}
}
}
Exemples de mises à jour acceptées
Les mises à jour suivantes du schéma d'exemple sont acceptées.
Ajouter un champ : Dans cet exemple, le champ
properties.uri
a été ajouté au schéma.{ "$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" } } } }
Ajouter ou supprimer des annotations de propriétés clés pour
title
,description
ouuri
Dans cet exemple,keyPropertyMapping
a été ajouté au champtitle
.{ "$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" } } } }
Exemples de mises à jour de schéma non valides
Les mises à jour suivantes du schéma d'exemple ne sont pas acceptées.
Modifier le type d'un champ Dans cet exemple, le type du champ
title
est passé de chaîne à nombre. Cette fonctionnalité n'est pas disponible.{ "$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" } } } }
Supprimer un champ Dans cet exemple, le champ
title
a été supprimé. Cette fonctionnalité n'est pas disponible.{ "$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" } } } }
Étapes suivantes
- Afficher la définition du schéma pour les données structurées
- Supprimer un schéma pour des données structurées
- Afficher les résultats de recherche