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 aktualisieren oder
mithilfe der
schemas.patch
.
Das Aktualisieren des Schemas für eine Website wird nur über die REST API unterstützt.
Um das Schema zu aktualisieren, können Sie neue Felder hinzufügen, „Indexierbar“, „Suchbar“ und
abgerufen werden können oder ein Feld als Schlüsselattribut zu markieren, z. B.
title
, uri
und description
.
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 Sie die Datenaufnahme abgeschlossen haben. 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 anzuzeigen.
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 z. B. ein Feld namens
details
enthält immer die Beschreibung eines Dokuments, ordnen dieses Feld zu in die Schlüsseleigenschaft Description ein.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 des Felds. Verfügbare Anmerkungen sind Abrufbar, Indexierbar, Als dynamisches Attribut verwendbar, Suchbar und Ausfüllbar. Für einige Feldeinstellungen gelten Einschränkungen. Weitere Informationen finden Sie unter Feldeinstellungen für Beschreibungen konfigurieren und die Anforderungen für die einzelnen Anmerkungstypen.
Neues Feld hinzufügen:Dem Schema werden vor dem Import neue Felder hinzugefügt. Dokumente mit diesen Feldern die benötigte Zeit Vertex AI Agent Builder, 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 Add node und Einstellungen für das neue Feld festlegen.
Wenn es sich um ein Array handelt, setzen Sie Array auf Ja. Um beispielsweise ein String-Array, setzen Sie type auf
string
und Array aufYes
.Bei einem Website-Datenspeicherindex sind alle Felder, die Sie hinzufügen, Arrays Standardeinstellung.
Klicken Sie auf Speichern, um die Schemaänderungen zu übernehmen.
Das Ändern des Schemas löst eine Neuindexierung aus. Bei großen Datenspeichern kann dies Stunden dauern.
REST
So aktualisieren Sie Ihr Schema mit der API:
Lesen Sie sich die Anforderungen und Einschränkungen sowie die Einschränkung Beispiele (nur REST), um zu prüfen, ob sich Ihr Schema ändert. sind gültig.
Um das Schema für Datenspeicher mit Websites oder unstrukturierten Daten mit 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, benötigen Sie abgeschlossene Datenaufnahme abgeschlossen. Andernfalls ist das Schema möglicherweise nicht für bearbeitet haben.
Suchen Sie Ihre Datenspeicher-ID. Wenn Sie bereits einen Datenspeicher haben ID verwenden, 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: Überprüfen Sie das Schema, indem Sie der Anleitung unter Schemadefinition ansehen folgen.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Agent Builder C# API.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Vertex AI Agent Builder zu authentifizieren. 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 Standardanmeldedaten für Anwendungen ein, um sich bei Vertex AI Agent Builder zu authentifizieren. 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 Vertex AI Agent Builder Python API Referenzdokumentation.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Vertex AI Agent Builder zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Weitere Informationen finden Sie in der Vertex AI Agent Builder Ruby API Referenzdokumentation.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Vertex AI Agent Builder zu authentifizieren. 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. So aktualisieren Sie ein Schema: mit einem neuen Schema, das nicht abwärtskompatibel ist, die Dokumente im Datenspeicher, löschen das Schema und erstellen ein neues Schema.
Das Aktualisieren eines Schemas löst eine Neuindexierung aller Dokumente aus. Das kann einige Zeit dauern und zusätzliche Kosten verursachen:
Zeit Die Neuindexierung 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 Document AI-Funktion Preise.
Folgendes wird bei Schemaaktualisierungen nicht unterstützt:
- Feldtyp ändern: Bei einer Schemaaktualisierung kann der Typ nicht geändert werden auf diesem Gebiet. Ein Feld, das auf eine Ganzzahl zugeordnet ist, kann beispielsweise nicht in einen String geändert werden.
- Feld entfernen Einmal definiert, kann ein Feld 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 Typen von Schemaaktualisierungen. 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 das Feld
properties.uri
dem Schema hinzugefügt wurden.{ "$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" } } } }
Hinweise 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 hat der Feldtyp
title
von Zeichenfolge in Zahl geändert. Dies wird nicht unterstützt.{ "$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. Dies wird nicht unterstützt.{ "$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