REST Resource: projects.locations.dataStores

Ressource : DataStore

Message décrivant un objet DataStore. Un DataStore, détenu directement par un projet, contient un ensemble de documents associés qui partagent un seul DocumentType immuable, ainsi que la configuration utilisée pour les traiter. Les documents importés sont divisés en segments, intégrés et stockés dans la collection de sauvegarde du datastore (voir collectionName).

Représentation JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "documentType": enum (DocumentType),
  "processingConfig": {
    object (ProcessingConfig)
  },
  "state": enum (State),
  "collectionName": string,
  "documentMetadataSchema": {
    object (DocumentMetadataSchema)
  }
}
Champs
name

string

Identifiant. Nom complet de la ressource du datastore.

Format : projects/{project}/locations/{location}/dataStores/{dataStoreId}

displayName

string

Facultatif. Nom à afficher du datastore spécifié par l'utilisateur.

description

string

Facultatif. Description du datastore spécifiée par l'utilisateur.

createTime

string (Timestamp format)

Uniquement en sortie. Code temporel de création

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Uniquement en sortie. Code temporel de mise à jour

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Facultatif. Étiquettes sous forme de paires clé/valeur.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

documentType

enum (DocumentType)

Obligatoire. Immuable. Type de contenu immuable de tous les documents de ce datastore.

processingConfig

object (ProcessingConfig)

Facultatif. Configuration contrôlant la façon dont les documents de ce datastore sont ingérés (analysés, segmentés et intégrés).

Peut être modifié avec dataStores.patch. Une modification ne s'applique qu'aux documents traités après celle-ci : les documents déjà présents dans le datastore conservent leurs segments existants, et la réimportation d'un fichier qui n'a pas changé ne le traite pas à nouveau.

state

enum (State)

Uniquement en sortie. État du datastore.

collectionName

string

Uniquement en sortie. Nom de ressource de la collection qui sauvegarde ce DataStore, au format projects/{project}/locations/{location}/collections/{collectionId}. collectionId est google-{dataStoreId} ou google- suivi d'un hachage de l'ID du datastore s'il dépasse 63 caractères. Renseigné une fois que la collection de sauvegarde a été créée.

documentMetadataSchema

object (DocumentMetadataSchema)

Facultatif. Schéma des métadonnées définies par l'utilisateur sur les documents de ce datastore. Le schéma sera validé par rapport au brouillon 7 du schéma JSON.

Le schéma peut être étendu ultérieurement avec dataStores.patch en ajoutant des propriétés. Les propriétés existantes ne peuvent pas être supprimées ni modifiées.

DocumentType

Type de contenu des documents d'un datastore. Tous les documents d'un DataStore partagent un seul DocumentType immuable.

Enums
DOCUMENT_TYPE_UNSPECIFIED Valeur par défaut, le type de document n'est pas spécifié.
UNSTRUCTURED Documents texte : fichiers PDF, texte brut, Word, PowerPoint et Excel, éventuellement avec des métadonnées.
VIDEO Documents vidéo, éventuellement avec des métadonnées.

ProcessingConfig

ProcessingConfig contrôle la façon dont les documents d'un DataStore sont analysés, segmentés et intégrés.

Représentation JSON
{
  "videoProcessingConfig": {
    object (VideoProcessingConfig)
  },
  "unstructuredProcessingConfig": {
    object (UnstructuredProcessingConfig)
  }
}
Champs
videoProcessingConfig

object (VideoProcessingConfig)

Facultatif. Configuration du pipeline d'ingestion de vidéos. S'applique lorsque le documentType du datastore est VIDEO.

Si ce champ n'est pas défini pour un datastore VIDEO, le pipeline utilise par défaut une segmentation à fenêtre fixe avec une taille de fenêtre de 30 secondes, et l'audio est désactivé lors de la génération d'embeddings par segment.

unstructuredProcessingConfig

object (UnstructuredProcessingConfig)

Facultatif. Configuration du pipeline d'ingestion de documents non structurés. S'applique lorsque le documentType du DataStore est UNSTRUCTURED.

Si ce champ n'est pas défini pour un datastore UNSTRUCTURED, le pipeline utilise par défaut la segmentation par fragments avec un chunkSize de 500, l'analyse numérique et la génération d'embeddings par segment de texte uniquement.

VideoProcessingConfig

Configure le pipeline d'ingestion de vidéos appliqué aux documents ingérés dans ce datastore. Les paramètres de segmentation et d'embedding peuvent évoluer indépendamment tout en restant regroupés dans ce message.

Toutes les sous-configurations sont facultatives. Toute sous-configuration omise revient à la valeur par défaut de la plate-forme documentée dans ce champ.

Représentation JSON
{
  "segmentationConfig": {
    object (VideoSegmentationConfig)
  },
  "embeddingConfig": {
    object (VideoEmbeddingGenerationConfig)
  }
}
Champs
segmentationConfig

object (VideoSegmentationConfig)

Facultatif. Contrôle la façon dont les vidéos sont divisées en segments avant l'embedding.

Si ce champ n'est pas défini, la segmentation par fenêtre fixe avec une fenêtre de 30 secondes est utilisée par défaut. Si ce champ est défini, un mode de segmentation tel que fixedWindowConfig doit être défini. Une configuration vide est rejetée.

embeddingConfig

object (VideoEmbeddingGenerationConfig)

Facultatif. Contrôle la façon dont l'embedding multimodal par segment est généré.

VideoSegmentationConfig

Configure la façon dont les vidéos sont divisées en segments avant l'embedding.

Représentation JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "fixedWindowConfig": {
    object (FixedWindowConfig)
  }
  // End of mutually exclusive fields.
}
Champs
Obligatoire. Vous devez choisir un seul mode de segmentation. Cela isole la configuration afin que les utilisateurs ne puissent pas définir de champs qui ne s'appliquent pas au mode sélectionné. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
fixedWindowConfig

object (FixedWindowConfig)

Segmentation à fenêtre fixe (déterministe).

Fin des champs mutuellement exclusifs.

FixedWindowConfig

Configure la segmentation par fenêtre fixe. Les segments sont produits sous forme de fenêtres déterministes qui ne se chevauchent pas, de segmentDuration chacune.

Représentation JSON
{
  "segmentDuration": string
}
Champs
segmentDuration

string (Duration format)

Facultatif. Spécifie la taille de fenêtre fixe pour chaque segment émis.

Si ce champ n'est pas défini, la valeur par défaut est de 30 s. Lorsqu'elle est explicitement définie, elle doit être supérieure à 5 s et inférieure ou égale à 80 s.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

VideoEmbeddingGenerationConfig

Configure la façon dont les embeddings multimodaux par segment sont générés pour la modalité vidéo.

Représentation JSON
{
  "audioMode": enum (AudioMode)
}
Champs
audioMode

enum (AudioMode)

Facultatif. Détermine si la piste audio contribue à l'embedding. La valeur par défaut est DISABLED.

AudioMode

Spécifie comment la piste audio de la vidéo source doit être traitée lors de la génération d'embeddings par segment.

Cet énumérateur est figé. Aucune nouvelle valeur n'est attendue.

Enums
AUDIO_MODE_UNSPECIFIED Non spécifié. Traité comme DISABLED.
ENABLED Multiplexe la piste audio dans l'embedding multimodal avec les images vidéo. Améliore le rappel pour les requêtes qui dépendent du contenu parlé ou du son ambiant (par exemple, les actualités basées sur des dialogues, les commentaires sportifs), au détriment d'une taille de jeton de requête d'embedding plus importante.
DISABLED Supprime la piste audio et génère des embeddings à partir des images visuelles uniquement. Par défaut.

UnstructuredProcessingConfig

Configuration du pipeline d'ingestion de documents non structurés appliqué aux documents ingérés dans ce datastore. Les paramètres de segmentation et d'analyse peuvent évoluer indépendamment tout en restant regroupés dans ce message.

Toutes les sous-configurations sont facultatives. Toute sous-configuration omise revient à la valeur par défaut de la plate-forme documentée dans ce champ.

Représentation JSON
{
  "segmentationConfig": {
    object (UnstructuredSegmentationConfig)
  },
  "parsingConfig": {
    object (UnstructuredParsingConfig)
  },
  "embeddingConfig": {
    object (UnstructuredEmbeddingConfig)
  }
}
Champs
segmentationConfig

object (UnstructuredSegmentationConfig)

Facultatif. Contrôle la façon dont les documents non structurés sont divisés en segments avant l'embedding.

Si ce champ n'est pas défini, la segmentation par fragments est utilisée par défaut avec un chunkSize de 500. Si elle est définie, vous devez spécifier soit chunkSegmentationConfig, soit pageSegmentationConfig. Une configuration vide est refusée.

parsingConfig

object (UnstructuredParsingConfig)

Facultatif. Configuration d'analyse, appliquée à tous les types de fichiers pour l'analyse de documents non structurés. Les fichiers en texte brut (.txt) sont toujours analysés numériquement.

Si ce champ n'est pas défini, l'analyse numérique (extraction de texte native) est utilisée par défaut, ou l'analyse tenant compte de la mise en page lorsque embeddingConfig.mode est défini sur MULTIMODAL. Si elle est définie, vous devez spécifier soit digitalParsingConfig, soit layoutParsingConfig. Une configuration vide est refusée.

embeddingConfig

object (UnstructuredEmbeddingConfig)

Facultatif. Contrôle la façon dont l'embedding par segment est généré.

UnstructuredSegmentationConfig

Configure la façon dont les documents non structurés sont décomposés en segments avant l'embedding.

Représentation JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "chunkSegmentationConfig": {
    object (ChunkSegmentationConfig)
  },
  "pageSegmentationConfig": {
    object (PageSegmentationConfig)
  }
  // End of mutually exclusive fields.
}
Champs
Obligatoire. Vous devez choisir un seul mode de segmentation. Cela isole la configuration afin que les utilisateurs ne puissent pas définir de champs qui ne s'appliquent pas au mode sélectionné. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
chunkSegmentationConfig

object (ChunkSegmentationConfig)

Segmentation au niveau des fragments.

pageSegmentationConfig

object (PageSegmentationConfig)

Segmentation au niveau de la page.

Fin des champs mutuellement exclusifs.

ChunkSegmentationConfig

Configurations de segmentation des fragments pour les documents non structurés. Les segments sont produits sous forme de fragments sémantiques (par exemple, par paragraphe).

Représentation JSON
{
  "chunkSize": integer,
  "includeAncestorHeadings": boolean
}
Champs
chunkSize

integer

Facultatif. Taille limite des fragments (en nombre de jetons).

Valeurs acceptées : de 100 à 500 (inclus). Si cette valeur n'est pas définie, la valeur par défaut est de 500.

includeAncestorHeadings

boolean

Facultatif. Indique si chaque fragment inclut également les titres des sections auxquelles il appartient, de sorte qu'un fragment extrait du milieu d'une section conserve son contexte.

Les titres ne sont détectés que par l'analyse de la mise en page (layoutParsingConfig). Avec l'analyse numérique et pour les fichiers en texte brut, ce paramètre n'a aucun effet.

Si cette option n'est pas définie, la valeur par défaut est "false".

PageSegmentationConfig

Ce type ne comporte aucun champ.

Configurations de segmentation de page pour les documents non structurés. Les segments sont produits au niveau de la page.

À utiliser avec l'analyse numérique. Avec layoutParsingConfig, l'importation des fichiers PDF échoue, et les fichiers Word, PowerPoint et Excel sont divisés en plusieurs parties.

UnstructuredParsingConfig

Configurations associées appliquées à un type spécifique d'analyseur de documents non structurés.

Représentation JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "digitalParsingConfig": {
    object (DigitalParsingConfig)
  },
  "layoutParsingConfig": {
    object (LayoutParsingConfig)
  }
  // End of mutually exclusive fields.
}
Champs
Obligatoire. Vous devez choisir un seul mode d'analyse. Cela isole la configuration afin que les utilisateurs ne puissent pas définir de champs qui ne s'appliquent pas au mode sélectionné. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
digitalParsingConfig

object (DigitalParsingConfig)

Analyse numérique (extraction de texte natif).

layoutParsingConfig

object (LayoutParsingConfig)

Analyse tenant compte de la mise en page.

Fin des champs mutuellement exclusifs.

DigitalParsingConfig

Ce type ne comporte aucun champ.

Configurations d'analyse numérique pour les documents non structurés. Extrait le texte stocké dans le fichier, sans OCR ni détection de la mise en page : le texte qui n'apparaît que dans les images n'est pas extrait, et les titres et les tableaux ne sont pas détectés.

LayoutParsingConfig

Ce type ne comporte aucun champ.

Configurations d'analyse de la mise en page pour les documents non structurés. Détecte la structure du document, comme les en-têtes et les tableaux, et exécute la reconnaissance optique des caractères (OCR) sur les fichiers PDF. Obligatoire pour que includeAncestorHeadings ait un effet et pour l'intégration de MULTIMODAL.

UnstructuredEmbeddingConfig

Configure la façon dont les embeddings par segment sont générés pour la modalité de document non structuré.

Représentation JSON
{
  "mode": enum (EmbeddingMode)
}
Champs
mode

enum (EmbeddingMode)

Facultatif. Contrôle à partir de quoi l'embedding d'un segment est calculé. La valeur par défaut est TEXT.

EmbeddingMode

Éléments à partir desquels l'embedding d'un segment est calculé.

Enums
EMBEDDING_MODE_UNSPECIFIED Non spécifié. Traité comme TEXT.
TEXT Texte uniquement. Les images extraites du document ne contribuent pas à l'embedding. Par défaut.

État

État du datastore.

Enums
STATE_UNSPECIFIED Valeur par défaut. Cette valeur est utilisée si l'état est omis.
CREATING Le datastore est en cours de création.
ACTIVE Le datastore est prêt à être utilisé.
DELETING Le datastore est en cours de suppression.

DocumentMetadataSchema

Schéma des métadonnées définies par l'utilisateur sur les documents d'un datastore.

Représentation JSON
{
  "schema": {
    object
  }
}
Champs
schema

object (Struct format)

Facultatif. Schéma JSON pour les métadonnées du document. Le schéma sera validé par rapport au brouillon 7 du schéma JSON.

Les noms de propriétés ne peuvent contenir que des lettres, des chiffres, _ et -, et ne doivent pas commencer par google, quelle que soit la casse. Ce préfixe est réservé. Le mot clé additionalProperties n'est pas compatible avec properties.

Méthodes

create

Crée un DataStore dans un projet et un emplacement donnés.

delete

Supprime un seul DataStore.

get

Récupère les détails d'un seul DataStore.

importDocuments

Lance une opération de longue durée pour importer des documents dans un datastore.

list

Liste les DataStores d'un projet et d'un emplacement donnés.

patch

Met à jour les paramètres d'un seul DataStore.

purgeDocuments

Lance une opération de longue durée pour supprimer des documents d'un datastore.