REST Resource: projects.locations.dataStores

Ressource: DataStore

Nachricht, die ein DataStore-Objekt beschreibt. Ein DataStore, der direkt zu einem Projekt gehört, enthält eine Reihe von zusammengehörigen Dokumenten, die einen einzelnen, unveränderlichen DocumentType gemeinsam haben, sowie die Konfiguration, die zu ihrer Verarbeitung verwendet wird. Importierte Dokumente werden in Segmente aufgeteilt, eingebettet und in der zugrunde liegenden Sammlung des Datenspeichers gespeichert (siehe collectionName).

JSON-Darstellung
{
  "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)
  }
}
Felder
name

string

ID. Der vollständig qualifizierte Ressourcenname des DataStore.

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

displayName

string

Optional. Vom Nutzer angegebener Anzeigename des DataStore.

description

string

Optional. Benutzerdefinierte Beschreibung des DataStore.

createTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel der Erstellung.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel der Aktualisierung.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Optional. Labels als Schlüssel/Wert-Paare.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

documentType

enum (DocumentType)

Erforderlich. Nicht veränderbar. Der unveränderliche Inhaltstyp aller Dokumente in diesem Datenspeicher.

processingConfig

object (ProcessingConfig)

Optional. Konfiguration, die steuert, wie Dokumente in diesem DataStore aufgenommen (geparst, segmentiert und eingebettet) werden.

Kann mit dataStores.patch geändert werden. Eine Änderung gilt nur für Dokumente, die danach verarbeitet werden: Dokumente, die sich bereits im Datenspeicher befinden, behalten ihre vorhandenen Segmente. Wenn Sie eine Datei, die sich nicht geändert hat, noch einmal importieren, wird sie nicht noch einmal verarbeitet.

state

enum (State)

Nur Ausgabe. Der Status des DataStore.

collectionName

string

Nur Ausgabe. Der Ressourcenname der Sammlung, die diesen DataStore unterstützt, im Format projects/{project}/locations/{location}/collections/{collectionId}. collectionId ist google-{dataStoreId} oder google-, gefolgt von einem Hash der DataStore-ID, wenn dieser länger als 63 Zeichen wäre. Wird ausgefüllt, sobald die zugrunde liegende Sammlung erstellt wurde.

documentMetadataSchema

object (DocumentMetadataSchema)

Optional. Schema für benutzerdefinierte Metadaten für Dokumente in diesem DataStore. Das Schema wird anhand von JSON Schema Draft 7 validiert.

Das Schema kann später mit „dataStores.patch“ erweitert werden, indem Attribute hinzugefügt werden. Vorhandene Attribute können nicht entfernt oder geändert werden.

DocumentType

Der Inhaltstyp der Dokumente in einem Datenspeicher. Alle Dokumente in einem Datenspeicher haben denselben unveränderlichen Dokumenttyp.

Enums
DOCUMENT_TYPE_UNSPECIFIED Standardwert, der Dokumenttyp ist nicht angegeben.
UNSTRUCTURED Textdokumente: PDF-, Nur-Text-, Word-, PowerPoint- und Excel-Dateien, optional mit Metadaten.
VIDEO Videodokumente, optional mit Metadaten.

ProcessingConfig

„ProcessingConfig“ steuert, wie Dokumente in einem DataStore geparst, segmentiert und eingebettet werden.

JSON-Darstellung
{
  "videoProcessingConfig": {
    object (VideoProcessingConfig)
  },
  "unstructuredProcessingConfig": {
    object (UnstructuredProcessingConfig)
  }
}
Felder
videoProcessingConfig

object (VideoProcessingConfig)

Optional. Konfiguration für die Videoaufnahmepipeline. Gilt, wenn der documentType des DataStore VIDEO ist.

Wenn für einen VIDEO-DataStore nichts festgelegt ist, verwendet die Pipeline standardmäßig die Segmentierung mit festem Fenster und einer Fenstergröße von 30 Sekunden. Audio ist während der Generierung von Einbettungen pro Segment deaktiviert.

unstructuredProcessingConfig

object (UnstructuredProcessingConfig)

Optional. Konfiguration für die Pipeline zur Aufnahme unstrukturierter Dokumente. Gilt, wenn der documentType des DataStore UNSTRUCTURED ist.

Wenn für einen UNSTRUCTURED-DataStore nichts festgelegt ist, verwendet die Pipeline standardmäßig die Segmentierung in Blöcke mit einem chunkSize von 500, digitales Parsen und die Generierung von Nur-Text-Einbettungen pro Segment.

VideoProcessingConfig

Konfiguriert die Pipeline für die Videoaufnahme, die auf Dokumente angewendet wird, die in diesen Datenspeicher aufgenommen werden. Die Einstellungen für die Segmentierung und Einbettung können sich unabhängig voneinander entwickeln, bleiben aber in dieser Nachricht gruppiert.

Alle Unterkonfigurationen sind optional. Für alle weggelassenen Unterkonfigurationen wird die Plattformstandardeinstellung verwendet, die für dieses Feld dokumentiert ist.

JSON-Darstellung
{
  "segmentationConfig": {
    object (VideoSegmentationConfig)
  },
  "embeddingConfig": {
    object (VideoEmbeddingGenerationConfig)
  }
}
Felder
segmentationConfig

object (VideoSegmentationConfig)

Optional. Steuert, wie Videos vor dem Einbetten in Segmente aufgeteilt werden.

Wenn nicht festgelegt, wird standardmäßig die Segmentierung mit festem Fenster und einem 30-Sekunden-Fenster verwendet. Wenn festgelegt, muss ein Segmentierungsmodus wie fixedWindowConfig festgelegt werden. Eine leere Konfiguration wird abgelehnt.

embeddingConfig

object (VideoEmbeddingGenerationConfig)

Optional. Steuert, wie die multimodale Einbettung pro Segment generiert wird.

VideoSegmentationConfig

Konfiguriert, wie Videos vor dem Einbetten in Segmente unterteilt werden.

JSON-Darstellung
{

  // 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.
}
Felder
Erforderlich. Es muss genau ein Segmentierungsmodus ausgewählt werden. Dadurch wird die Konfiguration isoliert, sodass Nutzer keine Felder festlegen können, die für den ausgewählten Modus nicht gelten. Im Folgenden finden Sie eine Liste der Felder, die sich gegenseitig ausschließen. In einer Antwort wird höchstens eines der Felder festgelegt:
fixedWindowConfig

object (FixedWindowConfig)

Segmentierung mit festem Fenster (deterministisch).

Ende der sich gegenseitig ausschließenden Felder.

FixedWindowConfig

Konfiguriert die Segmentierung mit festem Fenster. Segmente werden als deterministische, nicht überlappende Fenster von jeweils segmentDuration erstellt.

JSON-Darstellung
{
  "segmentDuration": string
}
Felder
segmentDuration

string (Duration format)

Optional. Gibt die feste Fenstergröße für jedes ausgegebene Segment an.

Wenn nicht festgelegt, beträgt der Standardwert 30 Sekunden. Wenn explizit festgelegt, muss der Wert größer als 5 Sekunden und kleiner oder gleich 80 Sekunden sein.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „s“. Beispiel: "3.5s".

VideoEmbeddingGenerationConfig

Konfiguriert, wie multimodale Einbettungen pro Segment für die Videomodalität generiert werden.

JSON-Darstellung
{
  "audioMode": enum (AudioMode)
}
Felder
audioMode

enum (AudioMode)

Optional. Steuert, ob der Audiotrack zur Einbettung beiträgt. Die Standardeinstellung ist DISABLED.

AudioMode

Gibt an, wie die Audiospur des Quellvideos beim Generieren von segmentbasierten Einbettungen behandelt werden soll.

Dieses Enum ist eingefroren. Es werden keine neuen Werte erwartet.

Enums
AUDIO_MODE_UNSPECIFIED Nicht angegeben. Wird als DEAKTIVIERT behandelt.
ENABLED Multiplexiert den Audiotrack zusammen mit Videoframes in die multimodale Einbettung. Verbessert den Recall für Abfragen, die von gesprochenen Inhalten oder Umgebungsgeräuschen abhängen (z.B. dialogorientierte Nachrichten, Sportkommentare), auf Kosten einer größeren Tokengröße für Einbettungsanfragen.
DISABLED Der Audiotrack wird verworfen und Einbettungen werden nur aus visuellen Frames generiert. Standard.

UnstructuredProcessingConfig

Konfiguration für die Pipeline zur Aufnahme unstrukturierter Dokumente, die auf Dokumente angewendet wird, die in diesen Datenspeicher aufgenommen werden. Die Einstellungen für Segmentierung und Parsing können sich unabhängig voneinander entwickeln, bleiben aber in dieser Nachricht gruppiert.

Alle Unterkonfigurationen sind optional. Für alle weggelassenen Unterkonfigurationen wird der Plattformstandard verwendet, der für dieses Feld dokumentiert ist.

JSON-Darstellung
{
  "segmentationConfig": {
    object (UnstructuredSegmentationConfig)
  },
  "parsingConfig": {
    object (UnstructuredParsingConfig)
  },
  "embeddingConfig": {
    object (UnstructuredEmbeddingConfig)
  }
}
Felder
segmentationConfig

object (UnstructuredSegmentationConfig)

Optional. Steuert, wie unstrukturierte Dokumente vor dem Einbetten in Segmente aufgeteilt werden.

Wenn nicht festgelegt, wird standardmäßig die Chunk-Segmentierung mit einer chunkSize von 500 verwendet. Wenn festgelegt, muss genau eines von chunkSegmentationConfig und pageSegmentationConfig festgelegt sein. Eine leere Konfiguration wird abgelehnt.

parsingConfig

object (UnstructuredParsingConfig)

Optional. Die Parsing-Konfiguration, die auf alle Dateitypen für das Parsing unstrukturierter Dokumente angewendet wird. Nur-Text-Dateien (.txt) werden immer digital geparst.

Wenn nicht festgelegt, wird standardmäßig das digitale Parsen (native Textextraktion) oder das layoutsensitive Parsen verwendet, wenn embeddingConfig.mode auf MULTIMODAL gesetzt ist. Wenn festgelegt, muss genau eines von digitalParsingConfig und layoutParsingConfig festgelegt sein. Eine leere Konfiguration wird abgelehnt.

embeddingConfig

object (UnstructuredEmbeddingConfig)

Optional. Steuert, wie die Einbettung pro Segment generiert wird.

UnstructuredSegmentationConfig

Konfiguriert, wie unstrukturierte Dokumente vor dem Einbetten in Segmente aufgeteilt werden.

JSON-Darstellung
{

  // 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.
}
Felder
Erforderlich. Es muss genau ein Segmentierungsmodus ausgewählt werden. Dadurch wird die Konfiguration isoliert, sodass Nutzer keine Felder festlegen können, die für den ausgewählten Modus nicht gelten. Im Folgenden finden Sie eine Liste der Felder, die sich gegenseitig ausschließen. In einer Antwort wird höchstens eines der Felder festgelegt:
chunkSegmentationConfig

object (ChunkSegmentationConfig)

Segmentierung auf Chunk-Ebene.

pageSegmentationConfig

object (PageSegmentationConfig)

Segmentierung auf Seitenebene.

Ende der sich gegenseitig ausschließenden Felder.

ChunkSegmentationConfig

Die Konfigurationen für die Segmentierung von Chunks für unstrukturierte Dokumente. Segmente werden als semantische Chunks erstellt (z.B. nach Absatz).

JSON-Darstellung
{
  "chunkSize": integer,
  "includeAncestorHeadings": boolean
}
Felder
chunkSize

integer

Optional. Das Tokengrößenlimit für jeden Block

Unterstützte Werte: 100–500 (einschließlich). Wenn nicht festgelegt, wird standardmäßig 500 verwendet.

includeAncestorHeadings

boolean

Optional. Gibt an, ob jeder Block auch die Überschriften der Abschnitte enthält, zu denen er gehört, damit ein Block aus der Mitte eines Abschnitts seinen Kontext behält.

Überschriften werden nur durch Layout-Parsing (layoutParsingConfig) erkannt. Beim digitalen Parsing und bei Nur-Text-Dateien hat diese Einstellung keine Auswirkungen.

Wenn nicht festgelegt, wird standardmäßig „false“ verwendet.

PageSegmentationConfig

Dieser Typ hat keine Felder.

Die Konfigurationen für die Seitensegmentierung für unstrukturierte Dokumente. Segmente werden auf Seitenebene erstellt.

Zur Verwendung mit digitalem Parsen. Bei layoutParsingConfig können PDF-Dateien nicht importiert werden. Word-, PowerPoint- und Excel-Dateien werden stattdessen in Blöcke aufgeteilt.

UnstructuredParsingConfig

Zugehörige Konfigurationen, die auf einen bestimmten Parser für unstrukturierte Dokumente angewendet werden.

JSON-Darstellung
{

  // 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.
}
Felder
Erforderlich. Es muss genau ein Parsing-Modus ausgewählt werden. Dadurch wird die Konfiguration isoliert, sodass Nutzer keine Felder festlegen können, die für den ausgewählten Modus nicht gelten. Im Folgenden finden Sie eine Liste der Felder, die sich gegenseitig ausschließen. In einer Antwort wird höchstens eines der Felder festgelegt:
digitalParsingConfig

object (DigitalParsingConfig)

Digitales Parsen (native Textextraktion).

layoutParsingConfig

object (LayoutParsingConfig)

Layoutbezogenes Parsen.

Ende der sich gegenseitig ausschließenden Felder.

DigitalParsingConfig

Dieser Typ hat keine Felder.

Die Konfigurationen für das digitale Parsing von unstrukturierten Dokumenten. Extrahiert den in der Datei gespeicherten Text ohne OCR oder Layouterkennung: Text, der nur in Bildern vorkommt, wird nicht extrahiert und Überschriften und Tabellen werden nicht erkannt.

LayoutParsingConfig

Dieser Typ hat keine Felder.

Die Konfigurationen für das Parsing des Layouts von unstrukturierten Dokumenten. Erkennt die Struktur des Dokuments, z. B. Überschriften und Tabellen, und führt eine OCR für PDF-Dateien aus. Erforderlich, damit includeAncestorHeadings wirksam wird und MULTIMODAL eingebettet werden kann.

UnstructuredEmbeddingConfig

Konfiguriert, wie segmentweise Einbettungen für die Modalität unstrukturierter Dokumente generiert werden.

JSON-Darstellung
{
  "mode": enum (EmbeddingMode)
}
Felder
mode

enum (EmbeddingMode)

Optional. Steuert, woraus die Einbettung eines Segments berechnet wird. Die Standardeinstellung ist TEXT.

EmbeddingMode

Woraus die Einbettung eines Segments berechnet wird.

Enums
EMBEDDING_MODE_UNSPECIFIED Nicht angegeben. Wird als TEXT behandelt.
TEXT Nur Text Aus dem Dokument extrahierte Bilder tragen nicht zur Einbettung bei. Standard.

Bundesland

Der Status des Datenspeichers.

Enums
STATE_UNSPECIFIED Der Standardwert. Dieser Wert wird verwendet, wenn der Status weggelassen wird.
CREATING Der DataStore wird erstellt.
ACTIVE Der DataStore ist einsatzbereit.
DELETING Der DataStore wird gelöscht.

DocumentMetadataSchema

Schema für benutzerdefinierte Metadaten für Dokumente in einem DataStore.

JSON-Darstellung
{
  "schema": {
    object
  }
}
Felder
schema

object (Struct format)

Optional. Das JSON-Schema für Dokumentmetadaten. Das Schema wird anhand von JSON Schema Draft 7 validiert.

Attributnamen dürfen nur Buchstaben, Ziffern, _ und - enthalten und dürfen nicht mit google beginnen, unabhängig von der Groß-/Kleinschreibung. Dieses Präfix ist reserviert. Das Keyword additionalProperties wird in properties nicht unterstützt.

Methoden

create

Erstellt einen neuen DataStore in einem bestimmten Projekt und an einem bestimmten Standort.

delete

Löscht einen einzelnen DataStore.

get

Ruft Details zu einem einzelnen DataStore ab.

importDocuments

Initiiert einen Vorgang mit langer Ausführungszeit, um Dokumente in einen Datenspeicher zu importieren.

list

Listet DataStores in einem angegebenen Projekt und an einem angegebenen Standort auf.

patch

Aktualisiert die Parameter eines einzelnen DataStore.

purgeDocuments

Initiiert einen Vorgang mit langer Ausführungszeit, um Dokumente aus einem Datenspeicher dauerhaft zu löschen.