Ein verbundenes Vision Warehouse (corpus
) in einer bereitgestellten App für die Datenaufnahme enthält mindestens ein Medienobjekt assets
. Sie können weitere Details zu diesem Medienobjekt assets
mit dataSchema
und von Nutzern bereitgestellten annotation
-Ressourcen angeben.
Datenschemaressourcen müssen vor dem Erstellen einer annotation
-Ressource mit diesem Datenschemaschlüssel erstellt werden. Nachdem Sie ein Datenschema (dataSchema
-Ressourcen) erstellt haben, um der Vertex AI Vision API mitzuteilen, wie Medienhinweise interpretiert werden sollen, können Sie annotation
-Ressourcen für Medien in einem Warehouse erstellen.
Datenschema erstellen (API)
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- REGIONALIZED_ENDPOINT: Der Endpunkt kann ein Präfix enthalten, das mit dem
LOCATION_ID
übereinstimmt, z. B.europe-west4-
. Weitere Informationen zu regionalisierten Endpunkten - PROJECT_NUMBER: Ihre Google Cloud Projektnummer.
- LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiel:
us-central1
,europe-west4
. Weitere Informationen zu verfügbaren Regionen - CORPUS_ID: Die ID des Zielkorpus.
- DATASCHEMA_KEY: Dieser Schlüssel muss mit dem Schlüssel einer von Nutzern angegebenen Anmerkung übereinstimmen und innerhalb einer
corpus
eindeutig sein. Beispiel:data-key
- ANNOTATION_DATA_TYPE: Der Datentyp der Anmerkung. Verfügbare Werte:
DATA_TYPE_UNSPECIFIED
INTEGER
FLOAT
STRING
DATETIME
GEO_COORDINATE
PROTO_ANY
BOOLEAN
Weitere Informationen finden Sie in der API-Referenzdokumentation.
- ANNOTATION_GRANULARITY: Die Detaillierung der Anmerkungen unter diesem
dataSchema
. Verfügbare Werte:GRANULARITY_UNSPECIFIED
– nicht angegebener Detaillierungsgrad.GRANULARITY_ASSET_LEVEL
– Detailebene auf Asset-Ebene (Anmerkungen dürfen keine Informationen zur zeitlichen Partitionierung des Media-Assets enthalten).GRANULARITY_PARTITION_LEVEL
– Detaillierung auf Partitionsebene (Anmerkungen müssen zeitliche Partitionsinformationen für das Medien-Asset enthalten).
- SEARCH_STRATEGY: Einer der verfügbaren Enum-Werte. Die Arten von Suchstrategien, die auf den Anmerkungsschlüssel angewendet werden sollen. Verfügbare Werte:
NO_SEARCH
EXACT_SEARCH
SMART_SEARCH
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
JSON-Text der Anfrage:
{ "key": "DATASCHEMA_KEY", "schema_details": { "type": "ANNOTATION_DATA_TYPE", "granularity": "ANNOTATION_GRANULARITY", "search_strategy": { "search_strategy_type": "SEARCH_STRATEGY" } } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID", "key": "data-key", "schemaDetails": { "type": "BOOLEAN", "granularity": "GRANULARITY_ASSET_LEVEL", "searchStrategy": { "search_strategy_type": "EXACT_SEARCH" } } }
Datenschema aktualisieren (API)
REST UND BEFEHLSZEILE
Im folgenden Code wird ein dataSchema
mit der Methode projects.locations.corpora.dataSchemas.patch
aktualisiert.
In diesem Beispiel wird ?updateMask=schemaDetails.type,schemaDetails.granularity
in der Anfrage-URL verwendet und es sind neue schemaDetails.type
- und schemaDetails.granularity
-Werte im Anfragetext enthalten, um das Datenschema zu aktualisieren.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- REGIONALIZED_ENDPOINT: Der Endpunkt kann ein Präfix enthalten, das mit dem
LOCATION_ID
übereinstimmt, z. B.europe-west4-
. Weitere Informationen zu regionalisierten Endpunkten - PROJECT_NUMBER: Ihre Google Cloud Projektnummer.
- LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiel:
us-central1
,europe-west4
. Weitere Informationen finden Sie unter Verfügbare Regionen. - CORPUS_ID: Die ID des Zielkorpus.
- DATASCHEMA_ID: Die ID des Zieldatenschemas.
?updateMask=fieldToUpdate
: Eines der verfügbaren Felder, auf das einupdateMask
angewendet werden kann. Geben Sie den entsprechenden neuen Feldwert im Anfragetext an. Dieser neue Wert ersetzt den vorhandenen Feldwert. Verfügbare Felder:- Schlüssel:
?updateMask=key
- Schematyp:
?updateMask=schemaDetails.type
- Schemagranularität:
?updateMask=schemaDetails.granularity
- Typ der Schemasuchstrategie:
?updateMask=schemaDetails.searchStrategy.searchStrategyType
- Aktualisieren Sie alle Felder:
?updateMask=*
- Schlüssel:
HTTP-Methode und URL:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity
JSON-Text der Anfrage:
{ "key": "original-data-key", "schemaDetails": { "type":"INTEGER", "granularity":"GRANULARITY_PARTITION_LEVEL" "searchStrategy": { "searchStrategyType": "NO_SEARCH" } } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID", "key": "original-data-key", "schemaDetails": { "type": "INTEGER", "granularity": "GRANULARITY_PARTITION_LEVEL", "searchStrategy": { "searchStrategyType": "NO_SEARCH" } } }
Benutzerdefiniertes Schema für strukturierte Daten hinzufügen
Mit benutzerdefinierten Strukturen können Nutzer komplexere Container zum Speichern von Werten und zum Bereitstellen von Suchfunktionen definieren. Um diese Funktion zu verwenden, muss das Datenschema definiert werden, z. B.:
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- REGIONALIZED_ENDPOINT: Der Endpunkt kann ein Präfix enthalten, das mit dem
LOCATION_ID
übereinstimmt, z. B.europe-west4-
. Weitere Informationen zu regionalisierten Endpunkten - PROJECT_NUMBER: Ihre Google Cloud Projektnummer.
- LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiel:
us-central1
,europe-west4
. Weitere Informationen zu verfügbaren Regionen - CORPUS_ID: Die ID des Zielkorpus.
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
JSON-Text der Anfrage:
{ "key": "person", "schema_details" : { "type":"CUSTOMIZED_STRUCT", "granularity":"GRANULARITY_ASSET_LEVEL", "customized_struct_config": { "field_schemas": { "name": { "type":"STRING", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } }, "age": { "type":"FLOAT", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } } } } } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID", "key": "person", "schemaDetails" : { "type":"CUSTOMIZED_STRUCT", "granularity":"GRANULARITY_ASSET_LEVEL", "customized_struct_config": { "field_schemas": { "name": { "type":"STRING", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } }, "age": { "type":"FLOAT", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } } } } } }
Danach können wir Anmerkungen einfügen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- REGIONALIZED_ENDPOINT: Der Endpunkt kann ein Präfix enthalten, das mit dem
LOCATION_ID
übereinstimmt, z. B.europe-west4-
. Weitere Informationen zu regionalisierten Endpunkten - PROJECT_NUMBER: Ihre Google Cloud Projektnummer.
- LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiel:
us-central1
,europe-west4
. Weitere Informationen finden Sie unter Verfügbare Regionen. - CORPUS_ID: Die ID des Zielkorpus.
- ASSET_ID: Die ID des Ziel-Assets.
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations
JSON-Text der Anfrage:
{ "user_specified_annotation" : { "key": "person", "value": { "customized_struct_value":{ "elements" : { "name": { "str_value":"John" }, "age": { "float_value":10.5 } } } } } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID", "userSpecifiedAnnotation": { "key": "person", "value": { "customized_struct_value":{ "elements" : { "name": { "str_value":"John" }, "age": { "float_value":10.5 } } } } } }
Sobald die Anmerkung indexiert ist, kann eine Suchanfrage wie hier ausgegeben werden:
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- REGIONALIZED_ENDPOINT: Der Endpunkt kann ein Präfix enthalten, das mit dem
LOCATION_ID
übereinstimmt, z. B.europe-west4-
. Weitere Informationen zu regionalisierten Endpunkten - PROJECT_NUMBER: Ihre Google Cloud Projektnummer.
- LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiel:
us-central1
,europe-west4
. Weitere Informationen zu verfügbaren Regionen - CORPUS_ID: Die ID des Zielkorpus.
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:searchAssets
JSON-Text der Anfrage:
{ "page_size": 10, "criteria": { "field": "person.name", "text_array": { "txt_values": "John" }, }, }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:searchAssets"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:searchAssets" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
Details zum Warehouse-Schema ändern (Konsole)
Schemafelder werden von den Modellen über die Anwendungen generiert. Sie können auch benutzerdefinierte Felder hinzufügen.
Nachdem Sie die Felder der Facetable geändert haben, können Sie sie verwenden, um im Lager zu suchen.
Console
Öffnen Sie im Vertex AI Vision Dashboard den Tab Warehouses (Lagerhäuser).
Suchen Sie das gewünschte Lager und wählen Sie seinen Namen aus. Die Seite Lagerdetails wird angezeigt.
Wählen Sie die Felder aus, die Sie für die Suche aktivieren möchten.