Sie können das Schema für alle Daten aktualisieren, die ein Schema unterstützen, z. B. strukturierte Daten, Websitedaten mit strukturierten Daten oder andere unstrukturierte Daten mit Metadaten.
Sie können das Schema in der Google Cloud Console oder mit der API-Methode schemas.patch
aktualisieren.
Das Schema für eine Website kann nur über die REST API aktualisiert werden.
Sie können neue Felder hinzufügen, Anmerkungen zu indexierbaren, suchbaren und abrufbaren Feldern ändern oder ein Feld als Schlüsselattribut kennzeichnen, z. B. title
, uri
und description
, um das Schema zu aktualisieren.
Schema aktualisieren
Sie können Ihr Schema in der Google Cloud Console oder über die API aktualisieren.
Console
So aktualisieren Sie ein Schema in der Google Cloud Console:
Im Abschnitt Anforderungen und Einschränkungen können Sie prüfen, ob Ihre Schemaaktualisierung gültig ist.
Wenn Sie Feldanmerkungen aktualisieren (Felder als indexierbar, abrufbar, dynamische Facetable, suchbar oder ausfüllbar festlegen), finden Sie unter Feldeinstellungen konfigurieren Informationen zu den Einschränkungen und Anforderungen der einzelnen Anmerkungstypen.
Prüfen Sie, ob die Datenaufnahme abgeschlossen ist. Andernfalls ist das Schema möglicherweise noch nicht zur Bearbeitung verfügbar.
Rufen Sie in der Google Cloud Console die Seite Agent Builder auf.
Klicken Sie im Navigationsmenü auf Datenspeicher.
Klicken Sie in der Spalte Name auf den Datenspeicher mit dem Schema, das Sie aktualisieren möchten.
Klicken Sie auf den Tab Schema, um das Schema für Ihre Daten aufzurufen.
Dieser Tab ist möglicherweise leer, wenn Sie die Felder zum ersten Mal bearbeiten.
Klicken Sie auf Bearbeiten.
Aktualisieren Sie Ihr Schema:
Schlüsselattribute zuordnen:Wählen Sie in der Spalte Schlüsselattribute Ihres Schemas ein Schlüsselattribut aus, dem ein Feld zugeordnet werden soll. Wenn ein Feld namens
details
beispielsweise immer die Beschreibung eines Dokuments enthält, ordnen Sie dieses Feld der Schlüsseleigenschaft Beschreibung zu.Anzahl der Dimensionen aktualisieren (erweitert): Sie können diese Einstellung aktualisieren, wenn Sie benutzerdefinierte Vektoreinbettungen mit der Vertex AI-Suche verwenden. Weitere Informationen finden Sie unter Erweitert: Benutzerdefinierte Einbettungen verwenden.
Feldhinweise aktualisieren:Wenn Sie die Anmerkungen für ein Feld aktualisieren möchten, aktivieren oder deaktivieren Sie die Anmerkungseinstellung für das Feld. Verfügbare Anmerkungen sind Abrufbar, Indexierbar, Als dynamisches Attribut verwendbar, Suchbar und Ausfüllbar. Für einige Feldeinstellungen gelten Einschränkungen. Beschreibungen und Anforderungen für die einzelnen Annotationstypen finden Sie unter Feldeinstellungen konfigurieren.
Neues Feld hinzufügen:Wenn Sie Ihrem Schema neue Felder hinzufügen, bevor Sie neue Dokumente mit diesen Feldern importieren, kann die Zeit verkürzt werden, die Vertex AI Agent Builder benötigt, um Ihre Daten nach dem Import neu zu indexieren.
Klicken Sie auf Neue Felder hinzufügen, um den Bereich zu maximieren.
Klicken Sie auf add_box Knoten hinzufügen und geben Sie die Einstellungen für das neue Feld an.
Wenn es sich um ein Array handelt, setzen Sie Array auf Ja. Wenn Sie beispielsweise ein String-Array hinzufügen möchten, legen Sie für type den Wert
string
und für Array den WertYes
fest.Bei einem Index für einen Websitedatenspeicher sind alle hinzugefügten Felder standardmäßig Arrays.
Klicken Sie auf Speichern, um die Schemaänderungen anzuwenden.
Das Ändern des Schemas löst eine Neuindexierung aus. Bei großen Datenspeichern kann das Reindexieren Stunden dauern.
REST
So aktualisieren Sie Ihr Schema mithilfe der API:
Sehen Sie sich die Abschnitte Anforderungen und Einschränkungen und Beispiele für Einschränkungen (nur REST) an, um zu prüfen, ob Ihre Schemaänderungen gültig sind.
Wenn Sie das Schema für Datenspeicher mit Websites oder unstrukturierten Daten mit Metadaten aktualisieren möchten, fahren Sie mit Schritt 5 fort, um die Methode
schema.patch
aufzurufen.Wenn Sie Feldanmerkungen aktualisieren (Felder als indexierbar, abrufbar, dynamische Facetable oder suchbar festlegen), finden Sie unter Feldeinstellungen konfigurieren Informationen zu den Einschränkungen und Anforderungen der einzelnen Anmerkungstypen.
Wenn Sie ein automatisch erkanntes Schema bearbeiten, müssen Sie die Datenaufnahme abgeschlossen haben. Andernfalls ist das Schema möglicherweise noch nicht zur Bearbeitung verfügbar.
Suchen Sie die Datenspeicher-ID. Wenn Sie die Datenspeicher-ID bereits haben, fahren Sie mit dem nächsten Schritt fort.
Rufen Sie in der Google Cloud Console die Seite Agent Builder auf und klicken Sie im Navigationsmenü auf Datenspeicher.
Klicken Sie auf den Namen des Datenspeichers.
Rufen Sie auf der Datenseite Ihres Datenspeichers die Datenspeicher-ID ab.
Verwenden Sie die API-Methode schemas.patch, um Ihr neues JSON-Schema als JSON-Objekt anzugeben.
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 }'
Ersetzen Sie Folgendes:
PROJECT_ID
ist die ID Ihres Google Cloud-Projekts.DATA_STORE_ID
: die ID des Vertex AI Search-Datenspeichers.JSON_SCHEMA_OBJECT
: Ihr neues JSON-Schema als JSON-Objekt. Beispiel:{ "$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" } } }
Optional: Sehen Sie sich das Schema an. Folgen Sie dazu der Anleitung unter Schemadefinition ansehen.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder C# API.
Richten Sie zur Authentifizierung bei Vertex AI Agent Builder Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Go API.
Richten Sie zur Authentifizierung bei Vertex AI Agent Builder Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Java API.
Richten Sie zur Authentifizierung bei Vertex AI Agent Builder Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Python API.
Richten Sie zur Authentifizierung bei Vertex AI Agent Builder Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder Ruby API.
Richten Sie zur Authentifizierung bei Vertex AI Agent Builder Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Anforderungen und Einschränkungen
Achten Sie beim Aktualisieren eines Schemas darauf, dass das neue Schema rückwärtskompatibel mit dem Schema ist, das Sie aktualisieren. Wenn Sie ein Schema mit einem neuen Schema aktualisieren möchten, das nicht abwärtskompatibel ist, müssen Sie alle Dokumente im Datenspeicher löschen, das Schema löschen und ein neues Schema erstellen.
Das Aktualisieren eines Schemas löst eine Neuindexierung aller Dokumente aus. Das kann einige Zeit in Anspruch nehmen und zusätzliche Kosten verursachen:
Zeit Das erneute Indexieren eines großen Datenspeichers kann Stunden oder Tage dauern.
Ausgabe Je nach Parser können für die Neuindexierung Kosten anfallen. So fallen beispielsweise Kosten für die erneute Indexierung von Datenspeichern an, die den OCR-Parser oder den Layout-Parser verwenden. Weitere Informationen finden Sie unter Preise für die Document AI-Funktion.
Folgendes wird bei Schemaaktualisierungen nicht unterstützt:
- Feldtyp ändern Bei einer Schemaaktualisierung kann der Feldtyp nicht geändert werden. Ein Feld, das auf eine Ganzzahl zugeordnet ist, kann beispielsweise nicht in einen String geändert werden.
- Feld entfernen Ein Feld kann nach der Definition nicht mehr entfernt werden. Sie können weiterhin neue Felder hinzufügen, aber keine vorhandenen Felder entfernen.
Beispiele für Einschränkungen (nur REST)
Dieser Abschnitt enthält Beispiele für gültige und ungültige Schemaupdates. In diesen Beispielen wird das folgende JSON-Schema verwendet:
{
"$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"
}
}
}
}
Beispiele für unterstützte Updates
Die folgenden Änderungen am Beispielschema werden unterstützt.
Feld hinzufügen: In diesem Beispiel wurde dem Schema das Feld
properties.uri
hinzugefügt.{ "$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" } } } }
Anmerkungen zu wichtigen Properties für
title
,description
oderuri
hinzufügen oder entfernen In diesem Beispiel wurde dem Feldtitle
keyPropertyMapping
hinzugefügt.{ "$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" } } } }
Beispiele für ungültige Schemaaktualisierungen
Die folgenden Änderungen am Beispielschema werden nicht unterstützt.
Feldtyp ändern In diesem Beispiel wurde der Typ des Felds
title
von „String“ in „Zahl“ geändert. Das ist nicht möglich.{ "$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" } } } }
Feld entfernen In diesem Beispiel wurde das Feld
title
entfernt. Das ist nicht möglich.{ "$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" } } } }
Nächste Schritte
- Schemadefinition für strukturierte Daten ansehen
- Schema für strukturierte Daten löschen
- Suchergebnisse in der Vorschau ansehen