Vous pouvez créer des datastores à partir de tables Cloud Storage de deux manières :
Ingestion unique : vous importez des données d'un dossier ou d'un fichier Cloud Storage dans un data store. Les données du data store ne changent pas, sauf si vous les actualisez manuellement.
Ingestion périodique : vous importez des données d'un dossier ou d'un fichier Cloud Storage, et vous définissez une fréquence de synchronisation qui détermine la fréquence à laquelle le data store est mis à jour avec les données les plus récentes de cet emplacement Cloud Storage.
Le tableau suivant compare les deux façons d'importer des données Cloud Storage dans des datastores Gemini Enterprise.
| Ingestion unique | Ingestion périodique |
|---|---|
| Disponibilité générale | Aperçu public |
| Les données doivent être actualisées manuellement. | Les données sont mises à jour automatiquement tous les un, trois ou cinq jours. Les données ne peuvent pas être actualisées manuellement. |
| Gemini Enterprise crée un seul data store à partir d'un dossier ou d'un fichier dans Cloud Storage. | Gemini Enterprise crée un connecteur de données et lui associe un data store (appelé data store d'entité) pour le fichier ou le dossier spécifié. Chaque connecteur de données Cloud Storage ne peut avoir qu'un seul data store d'entité. |
| Les données provenant de plusieurs fichiers, dossiers et buckets peuvent être combinées dans un seul data store en ingérant d'abord les données d'un emplacement Cloud Storage, puis d'autres données d'un autre emplacement. | L'importation manuelle de données n'étant pas acceptée, les données d'un data store d'entité ne peuvent provenir que d'un seul fichier ou dossier Cloud Storage. |
| Le contrôle des accès aux sources de données est accepté. Pour en savoir plus, consultez Contrôle des accès aux sources de données. | Le contrôle des accès aux sources de données n'est pas accepté. Les données importées peuvent contenir des contrôles d'accès, mais ils ne seront pas respectés. |
| Vous pouvez créer un data store à l'aide de la Google Cloud console ou de l'API. | Vous devez utiliser la console pour créer des connecteurs de données et leurs datastores d'entité. |
| Conforme à CMEK | Conforme à CMEK |
Avant de commencer
Pour importer des données à partir d'un projet Google Cloud source différent du
Google Cloud projet contenant le data store Gemini Enterprise, accordez les rôles
Identity and Access Management (IAM) suivants au
service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
compte de service dans le projet contenant le data store Gemini Enterprise :
- Administrateur des objets de l'espace de stockage (
roles/storage.objectAdmin) - Lecteur des objets de l'espace de stockage (
roles/storage.objectViewer)
Importer une seule fois depuis Cloud Storage
Pour ingérer des données depuis Cloud Storage, suivez les étapes ci-dessous pour créer un data store et ingérer des données à l'aide de la Google Cloud console ou de l'API.
Avant d'importer vos données, consultez Préparer les données à ingérer.
Console
Pour ingérer des données à partir d'un bucket Cloud Storage à l'aide de la console, procédez comme suit :
Dans la Google Cloud console, accédez à la Gemini Enterprise page.
Accédez à la page Datastores.
Cliquez sur Créer un datastore.
Sur la page Sélectionner une source de données, sélectionnez Cloud Storage.
Dans la section Sélectionnez un dossier ou un fichier à importer, sélectionnez Dossier ou Fichier.
Cliquez sur Parcourir , sélectionnez les données que vous avez préparées pour l'ingestion, puis cliquez sur Sélectionner. Vous pouvez également saisir directement l'emplacement dans le champ
gs://.Sélectionnez le type de données que vous importez.
Cliquez sur Continuer.
Si vous effectuez une importation unique de données structurées :
Mappez les champs sur les propriétés de clé.
Si des champs importants sont manquants dans le schéma, utilisez Ajouter un champ pour les ajouter.
Pour en savoir plus, consultez À propos de la détection et de la modification automatiques.
Cliquez sur Continuer.
Choisissez une région pour votre datastore.
Attribuez un nom à votre data store.
Facultatif : Si vous avez sélectionné des documents non structurés, vous pouvez sélectionner des options d'analyse et de segmentation pour vos documents. Pour comparer les analyseurs, consultez Analyser des documents. Pour en savoir plus sur la segmentation, consultez Segmenter des documents pour RAG.
L'analyseur OCR et l'analyseur de mise en page peuvent entraîner des coûts supplémentaires. Consultez Tarifs des fonctionnalités de Document AI.
Pour sélectionner un analyseur, développez Options de traitement des documents et spécifiez les options d'analyseur que vous souhaitez utiliser.
Cliquez sur Créer.
Pour vérifier l'état de l'ingestion, accédez à la page Datastores, puis cliquez sur le nom de votre datastore pour afficher des informations détaillées sur la page Données. Lorsque la colonne "État" de l'onglet Activité passe de En cours à Importation terminée, l'ingestion est terminée.
Selon la taille de vos données, l'ingestion peut prendre de quelques minutes à plusieurs heures.
REST
Pour créer un data store et ingérer des données depuis Cloud Storage à l'aide de la ligne de commande, procédez comme suit.
Créer un data store
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], "contentConfig": "CONTENT_REQUIRED", }'Remplacez les éléments suivants :
PROJECT_ID: par l'ID du projet.DATA_STORE_ID: par l'ID du data store que vous souhaitez créer. Cet ID ne peut contenir que des lettres minuscules, des chiffres, des traits de soulignement et des traits d'union.DATA_STORE_DISPLAY_NAME: par le nom à afficher pour le data store que vous souhaitez créer.
Facultatif : Pour configurer l'analyse de documents ou activer la segmentation de documents pour RAG, spécifiez l'
documentProcessingConfigobjet et incluez-le dans votre requête de création de data store. Il est recommandé de configurer un analyseur OCR pour les PDF si vous ingérez des PDF numérisés. Pour savoir comment configurer les options d'analyse ou de segmentation, consultez Analyser et segmenter des documents.Importer des données depuis Cloud Storage
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "gcsSource": { "inputUris": ["INPUT_FILE_PATTERN_1", "INPUT_FILE_PATTERN_2"], "dataSchema": "DATA_SCHEMA", }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", "errorConfig": { "gcsPrefix": "ERROR_DIRECTORY" } }'Remplacez les éléments suivants :
PROJECT_ID: par l'ID du projet.DATA_STORE_ID: par l'ID du data store.INPUT_FILE_PATTERN: par un modèle de fichier dans Cloud Storage contenant vos documents.Pour les données structurées ou les données non structurées avec des métadonnées, un exemple de modèle de fichier d'entrée est
gs://<your-gcs-bucket>/directory/object.jsonet un exemple de modèle correspondant à un ou plusieurs fichiers estgs://<your-gcs-bucket>/directory/*.json.Pour les documents non structurés, un exemple est
gs://<your-gcs-bucket>/directory/*.pdf. Chaque fichier correspondant au modèle devient un document.Si
<your-gcs-bucket>ne se trouve pas sousPROJECT_ID, vous devez accorder au compte de serviceservice-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.comles autorisations "Lecteur des objets de l'espace de stockage" pour le bucket Cloud Storage. Par exemple, si vous importez un bucket Cloud Storage du projet source "123" vers le projet de destination "456", accordezservice-456@gcp-sa-discoveryengine.iam.gserviceaccount.comles autorisations sur le bucket Cloud Storage sous le projet "123".DATA_SCHEMA: facultatif. Les valeurs sontdocument,custom,csvetcontent. La valeur par défaut estdocument.document: importez des données non structurées avec des métadonnées pour les documents non structurés. Chaque ligne du fichier doit respecter l'un des formats suivants. Vous pouvez définir l'ID de chaque document :{ "id": "<your-id>", "jsonData": "<JSON string>", "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }{ "id": "<your-id>", "structData": <JSON object>, "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
custom: importez du JSON pour les documents structurés. Les données sont organisées selon un schéma. Vous pouvez spécifier le schéma. Sinon, il est détecté automatiquement. Vous pouvez placer la chaîne JSON du document dans un format cohérent directement dans chaque ligne, et Gemini Enterprise génère automatiquement les ID pour chaque document importé.content: importez des documents non structurés (PDF, HTML, DOC, TXT, PPTX). L'ID de chaque document est généré automatiquement comme les 128 premiers bits de SHA256(GCS_URI) encodés sous forme de chaîne hexadécimale. Vous pouvez spécifier plusieurs modèles de fichiers d'entrée tant que les fichiers correspondants ne dépassent pas la limite de 100 000 fichiers.csv: incluez une ligne d'en-tête dans votre fichier CSV, chaque en-tête étant mappé à un champ de document. Spécifiez le chemin d'accès au fichier CSV à l'aide duinputUrischamp.
ERROR_DIRECTORY: facultatif. Répertoire Cloud Storage contenant des informations sur les erreurs d'importation , par exemplegs://<your-gcs-bucket>/directory/import_errors. Google vous recommande de laisser ce champ vide pour permettre à Gemini Enterprise de créer automatiquement un répertoire temporaire.RECONCILIATION_MODE: facultatif. Les valeurs sontFULLetINCREMENTAL. La valeur par défaut estINCREMENTAL. Si vous spécifiezINCREMENTAL, les données de Cloud Storage sont actualisées de manière incrémentielle dans votre data store. Une opération upsert est effectuée, ce qui ajoute de nouveaux documents et remplace les documents existants par des documents modifiés portant le même ID. Si vous spécifiezFULL, les documents de votre data store sont entièrement rebasés. En d'autres termes, les documents nouveaux et modifiés sont ajoutés à votre data store, et les documents qui ne se trouvent pas dans Cloud Storage sont supprimés de votre data store. Le modeFULLest utile si vous souhaitez supprimer automatiquement les documents dont vous n'avez plus besoin.AUTO_GENERATE_IDS: facultatif. Indique s'il faut générer automatiquement des ID de document. Si la valeur esttrue, les ID de document sont générés en fonction d'un hachage de la charge utile. Notez que les ID de document générés peuvent ne pas rester cohérents sur plusieurs importations. Si vous générez automatiquement des ID sur plusieurs importations, Google vous recommande vivement de définirreconciliationModesurFULLpour conserver des ID de document cohérents.Spécifiez
autoGenerateIdsuniquement lorsquegcsSource.dataSchemaest défini surcustomoucsv. Sinon, une erreurINVALID_ARGUMENTest renvoyée. Si vous ne spécifiez pasautoGenerateIdsou si vous le définissez surfalse, vous devez spécifieridField. Sinon, l'importation des documents échoue.ID_FIELD: facultatif. Spécifie les champs qui sont les ID de document. Pour les documents sources Cloud Storage,idFieldspécifie le nom des champs JSON qui sont des ID de document. Par exemple, si{"my_id":"some_uuid"}est le champ d'ID de document dans l'un de vos documents, spécifiez"idField":"my_id". Cela identifie tous les champs JSON portant le nom"my_id"comme ID de document.Spécifiez ce champ uniquement lorsque : (1)
gcsSource.dataSchemaest défini surcustomoucsv, et (2)auto_generate_idsest défini surfalseou n'est pas spécifié. Sinon, une erreurINVALID_ARGUMENTest renvoyée.Notez que le nom du champ JSON spécifié par
id_fielddoit être de type chaîne, comporter entre 1 et 63 caractères et être conforme à RFC-1034. Sinon, l'importation des documents échoue.
Se connecter à Cloud Storage avec une synchronisation périodique
Avant d'importer vos données, consultez Préparer les données à ingérer.
La procédure suivante décrit comment créer un connecteur de données qui associe un emplacement Cloud Storage à un connecteur de données Gemini Enterprise et comment spécifier un dossier ou un fichier dans cet emplacement pour le datastore que vous souhaitez créer. Les datastores enfants des connecteurs de données sont appelés datastores d'entité.
Les données sont synchronisées périodiquement avec le data store d'entité. Vous pouvez spécifier une synchronisation quotidienne, tous les trois jours ou tous les cinq jours.
Console
Dans la console Google Cloud , accédez à la page Gemini Enterprise.
Accédez à la page Datastores.
Cliquez sur Créer un datastore.
Sur la page Source, sélectionnez Cloud Storage.
Sélectionnez le type de données que vous importez.
Cliquez sur Périodique.
Sélectionnez la Fréquence de synchronisation, c'est-à-dire la fréquence à laquelle vous souhaitez que le connecteur Gemini Enterprise se synchronise avec l'emplacement Cloud Storage. Vous pourrez modifier la fréquence ultérieurement.
Dans la section Sélectionnez un dossier ou un fichier à importer, sélectionnez Dossier ou Fichier.
Cliquez sur Parcourir , sélectionnez les données que vous avez préparées pour l'ingestion, puis cliquez sur Sélectionner. Vous pouvez également saisir directement l'emplacement dans le champ
gs://.Cliquez sur Continuer.
Sélectionnez une région pour votre connecteur de données.
Attribuez un nom à votre connecteur de données.
Facultatif : Si vous avez sélectionné des documents non structurés, vous pouvez sélectionner des options d'analyse et de segmentation pour vos documents. Pour comparer les analyseurs, consultez Analyser des documents. Pour en savoir plus sur la segmentation, consultez Segmenter des documents pour RAG.
L'analyseur OCR et l'analyseur de mise en page peuvent entraîner des coûts supplémentaires.
Pour sélectionner un analyseur, développez Options de traitement des documents et spécifiez les options d'analyseur que vous souhaitez utiliser.
Cliquez sur Créer.
Vous avez créé un connecteur de données qui synchronisera périodiquement les données avec l'emplacement Cloud Storage. Vous avez également créé un data store d'entité, nommé
gcs_store.Pour vérifier l'état de l'ingestion, accédez à la page Datastores , puis cliquez sur le nom de votre connecteur de données pour afficher des informations détaillées sur la page Données.
Onglet Activité d'ingestion de données Lorsque la colonne "État" de l'onglet Activité d'ingestion de données passe de En cours à Réussie, la première ingestion est terminée.
Selon la taille de vos données, l'ingestion peut prendre de quelques minutes à plusieurs heures.
Une fois que vous avez configuré votre source de données et importé des données pour la première fois, les données sont synchronisées à partir de cette source à la fréquence que vous avez sélectionnée lors de la configuration. La première synchronisation a lieu environ une heure après la création du connecteur de données. La synchronisation suivante a lieu environ 24, 72 ou 120 heures plus tard.
Étapes suivantes
Pour associer votre data store à une application, créez une application et sélectionnez votre data store en suivant les étapes décrites dans Créer une application de recherche.
Pour prévisualiser l'apparence de vos résultats de recherche une fois votre application et votre data store configurés, consultez Prévisualiser les résultats de recherche.