Resource: DataStore
Message describing a DataStore object. A DataStore, owned directly by a Project, holds a set of related Documents that share a single, immutable DocumentType, together with the configuration used to process them. Imported Documents are split into segments, embedded, and stored in the DataStore's backing Collection (see collectionName).
| JSON representation |
|---|
{ "name": string, "displayName": string, "description": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "documentType": enum ( |
| Fields | |
|---|---|
name |
Identifier. The fully qualified resource name of the DataStore. Format: |
displayName |
Optional. User-specified display name of the DataStore. |
description |
Optional. User-specified description of the DataStore. |
createTime |
Output only. Create time stamp Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime |
Output only. Update time stamp Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
labels |
Optional. Labels as key value pairs. An object containing a list of |
documentType |
Required. Immutable. The immutable content type of all Documents in this DataStore. |
processingConfig |
Optional. Configuration controlling how Documents in this DataStore are ingested (parsed, segmented and embedded). Can be changed with dataStores.patch. A change applies only to Documents processed after it: Documents already in the DataStore keep their existing segments, and re-importing a file that hasn't changed doesn't reprocess it. |
state |
Output only. The state of the DataStore. |
collectionName |
Output only. The resource name of the Collection backing this DataStore, in the form |
documentMetadataSchema |
Optional. Schema for user-defined metadata on Documents in this DataStore. The schema will be validated against JSON Schema Draft 7. The schema can be extended later with dataStores.patch by adding properties; existing properties can't be removed or changed. |
DocumentType
The content type of the Documents in a DataStore. All Documents in a DataStore share a single, immutable DocumentType.
| Enums | |
|---|---|
DOCUMENT_TYPE_UNSPECIFIED |
Default value, the document type is not specified. |
UNSTRUCTURED |
Text documents: PDF, plain text, Word, PowerPoint and Excel files, optionally with metadata. |
VIDEO |
Video documents, optionally with metadata. |
ProcessingConfig
ProcessingConfig controls how Documents in a DataStore are parsed, segmented and embedded.
| JSON representation |
|---|
{ "videoProcessingConfig": { object ( |
| Fields | |
|---|---|
videoProcessingConfig |
Optional. Configuration for the video ingestion pipeline. Applies when the DataStore's If unset for a |
unstructuredProcessingConfig |
Optional. Configuration for the unstructured document ingestion pipeline. Applies when the DataStore's If unset for an |
VideoProcessingConfig
Configures the video ingestion pipeline applied to Documents ingested into this DataStore. Segmentation and embedding settings can evolve independently while remaining grouped in this message.
All sub-configurations are optional. Any omitted sub-configuration falls back to the platform default documented on that field.
| JSON representation |
|---|
{ "segmentationConfig": { object ( |
| Fields | |
|---|---|
segmentationConfig |
Optional. Controls how videos are split into segments prior to embedding. If unset, defaults to fixed-window segmentation with a 30s window. If set, a segmentation mode such as |
embeddingConfig |
Optional. Controls how the per-segment multimodal embedding is generated. |
VideoSegmentationConfig
Configures how videos are broken down into segments prior to embedding.
| JSON representation |
|---|
{
// The following is a list of mutually exclusive fields. At most one of the
// fields will be set in a response:
"fixedWindowConfig": {
object ( |
| Fields | |
|---|---|
| Required. Exactly one segmentation mode must be chosen. This isolates configuration so users cannot set fields that do not apply to their selected mode. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
fixedWindowConfig |
Fixed-window (deterministic) segmentation. |
| End of mutually exclusive fields. | |
FixedWindowConfig
Configures fixed-window segmentation. Segments are produced as deterministic, non-overlapping windows of segmentDuration each.
| JSON representation |
|---|
{ "segmentDuration": string } |
| Fields | |
|---|---|
segmentDuration |
Optional. Specifies the fixed window size for each emitted segment. If unset, defaults to 30s. When explicitly set, must be greater than 5s and less than or equal to 80s. A duration in seconds with up to nine fractional digits, ending with ' |
VideoEmbeddingGenerationConfig
Configures how per-segment multimodal embeddings are generated for the video modality.
| JSON representation |
|---|
{
"audioMode": enum ( |
| Fields | |
|---|---|
audioMode |
Optional. Controls whether the audio track contributes to the embedding. Defaults to DISABLED. |
AudioMode
Specifies how the audio track of the source video should be treated when generating per-segment embeddings.
This enum is frozen; new values are not expected.
| Enums | |
|---|---|
AUDIO_MODE_UNSPECIFIED |
Unspecified. Treated as DISABLED. |
ENABLED |
Multiplexes the audio track into the multimodal embedding alongside video frames. Improves recall for queries that depend on spoken content or ambient sound (e.g. dialog-driven news, sports commentary), at the cost of a larger embedding-request token size. |
DISABLED |
Drops the audio track and generates embeddings from visual frames only. Default. |
UnstructuredProcessingConfig
Configuration for the unstructured document ingestion pipeline applied to Documents ingested into this DataStore. Segmentation and parsing settings can evolve independently while remaining grouped in this message.
All sub-configurations are optional; any omitted sub-configuration falls back to the platform default documented on that field.
| JSON representation |
|---|
{ "segmentationConfig": { object ( |
| Fields | |
|---|---|
segmentationConfig |
Optional. Controls how unstructured documents are split into segments prior to embedding. If unset, defaults to chunk segmentation with a |
parsingConfig |
Optional. The parsing config, applied to all file types for unstructured document parsing. Plain-text ( If unset, defaults to digital (native text extraction) parsing, or to layout-aware parsing when |
embeddingConfig |
Optional. Controls how the per-segment embedding is generated. |
UnstructuredSegmentationConfig
Configures how unstructured documents are broken down into segments prior to embedding.
| JSON representation |
|---|
{ // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "chunkSegmentationConfig": { object ( |
| Fields | |
|---|---|
| Required. Exactly one segmentation mode must be chosen. This isolates configuration so users cannot set fields that do not apply to their selected mode. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
chunkSegmentationConfig |
Chunk-level segmentation. |
pageSegmentationConfig |
Page-level segmentation. |
| End of mutually exclusive fields. | |
ChunkSegmentationConfig
The chunk segmentation configurations for unstructured documents. Segments are produced as semantic chunks (e.g. by paragraph).
| JSON representation |
|---|
{ "chunkSize": integer, "includeAncestorHeadings": boolean } |
| Fields | |
|---|---|
chunkSize |
Optional. The token size limit for each chunk. Supported values: 100-500 (inclusive). If unset, defaults to 500. |
includeAncestorHeadings |
Optional. Whether each chunk also includes the headings of the sections it belongs to, so that a chunk taken from the middle of a section keeps its context. Headings are only detected by layout parsing ( If unset, defaults to false. |
PageSegmentationConfig
This type has no fields.
The page segmentation configurations for unstructured documents. Segments are produced at the page level.
Use with digital parsing. With layoutParsingConfig, PDF files fail to import, and Word, PowerPoint and Excel files are split into chunks instead.
UnstructuredParsingConfig
Related configurations applied to a specific type of unstructured document parser.
| JSON representation |
|---|
{ // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "digitalParsingConfig": { object ( |
| Fields | |
|---|---|
| Required. Exactly one parsing mode must be chosen. This isolates configuration so users cannot set fields that do not apply to their selected mode. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
digitalParsingConfig |
Digital (native text extraction) parsing. |
layoutParsingConfig |
Layout-aware parsing. |
| End of mutually exclusive fields. | |
DigitalParsingConfig
This type has no fields.
The digital parsing configurations for unstructured documents. Extracts the text stored in the file, without OCR or layout detection: text that appears only in images isn't extracted, and headings and tables aren't detected.
LayoutParsingConfig
This type has no fields.
The layout parsing configurations for unstructured documents. Detects the document's structure, such as headings and tables, and runs OCR on PDF files. Required for includeAncestorHeadings to have an effect, and for MULTIMODAL embedding.
UnstructuredEmbeddingConfig
Configures how per-segment embeddings are generated for the unstructured document modality.
| JSON representation |
|---|
{
"mode": enum ( |
| Fields | |
|---|---|
mode |
Optional. Controls what a segment's embedding is computed from. Defaults to |
EmbeddingMode
What a segment's embedding is computed from.
| Enums | |
|---|---|
EMBEDDING_MODE_UNSPECIFIED |
Unspecified. Treated as TEXT. |
TEXT |
Text only. Images extracted from the document do not contribute to the embedding. Default. |
State
The state of the DataStore.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
The default value. This value is used if the state is omitted. |
CREATING |
The DataStore is being created. |
ACTIVE |
The DataStore is ready for use. |
DELETING |
The DataStore is being deleted. |
DocumentMetadataSchema
Schema for user-defined metadata on Documents in a DataStore.
| JSON representation |
|---|
{ "schema": { object } } |
| Fields | |
|---|---|
schema |
Optional. The JSON schema for Document metadata. The schema will be validated against JSON Schema Draft 7. Property names may contain only letters, digits, |
Methods |
|
|---|---|
|
Creates a new DataStore in a given project and location. |
|
Deletes a single DataStore. |
|
Gets details of a single DataStore. |
|
Initiates a Long-Running Operation to import Documents into a DataStore. |
|
Lists DataStores in a given project and location. |
|
Updates the parameters of a single DataStore. |
|
Initiates a Long-Running Operation to purge Documents from a DataStore. |