In einem Image Warehouse können Sie Ihre Bilder und Anmerkungen zu Bildern speichern und verwalten.
Image Warehouse erstellen
Zuerst müssen Sie einen Korpus erstellen.
REST UND BEFEHLSZEILE
Erstellt eine Corpusressource unter dem angegebenen Projekt mit der Möglichkeit, den Anzeigenamen und die Beschreibung von Corpus
anzugeben.
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. - DISPLAY_NAME: Anzeigename für das Lager.
- WAREHOUSE_DESCRIPTION: Die Beschreibung des Lagers (
corpus
).
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora
JSON-Text der Anfrage:
{ "display_name": "DISPLAY_NAME", "description": "WAREHOUSE_DESCRIPTION", "type": "IMAGE", "search_capability_setting": { "search_capabilities": { "type": "EMBEDDING_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"
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" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCorpusMetadata" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.visionai.v1.Corpus", "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID", "displayName": "DISPLAY_NAME", "description": "WAREHOUSE_DESCRIPTION", "type": "IMAGE", "search_capability_setting": { "search_capabilities": { "type": "EMBEDDING_SEARCH" } } } }
Datenschema erstellen
Wenn Sie Anmerkungen importieren möchten, müssen Sie ein entsprechendes Datenschema erstellen, bevor Sie die Import API aufrufen.
REST UND BEFEHLSZEILE
In diesem Beispiel wird gezeigt, wie Sie ein Datenschema in einem vorhandenen Korpus erstellen.
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_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" } } }
Assets in einen Bildkorpus importieren
Assets (und optional Anmerkungen) in einen vorhandenen Corpus im angegebenen Projekt importieren.
Die Cloud Storage-Datei für die ImportAsset-Anfrage muss im JSONL-Format vorliegen. In der Datei entspricht jede Zeile einem Asset und wird in InputImageAsset
proto konvertiert. Beispiel:
{"gcsUri":"gs://test/test1.png","assetId":"asset1","annotations":[{"key":"title","value":{"strValue":"cat"}}]}
{"gcsUri":"gs://test/test2.png","assetId":"asset2","annotations":[{"key":"title","value":{"strValue":"dog"}}]}
{"gcsUri":"gs://test/test3.png","assetId":"asset3","annotations":[{"key":"title","value":{"strValue":"rabbit"}}]}
REST UND BEFEHLSZEILE
In diesem Beispiel wird gezeigt, wie Sie Assets (und optional Anmerkungen) in eine Corpusressource im jeweiligen Projekt importieren.
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.
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets:import
JSON-Text der Anfrage:
{ "parent": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID, "assets_gcs_uri": GCS_URI }
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:import"
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:import" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID", }
Assets im Korpus analysieren
Zur Vorbereitung auf die Bildsuche muss AnalyzeCorpus ausgeführt werden, um die Einbettungssignale aus Bildern zu generieren.
REST UND BEFEHLSZEILE
In diesem Beispiel wird gezeigt, wie Sie „AnalyzeCorpus“ auf einer Korpusressource ausführen.
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.
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:analyze
JSON-Text der Anfrage:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID }
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:analyze"
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:analyze" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID", }
Index erstellen
REST UND BEFEHLSZEILE
In diesem Beispiel wird gezeigt, wie Sie einen Index für eine Korpusressource erstellen.
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.
- INDEX_ID: (Optional) Ein vom Nutzer angegebener Wert für die Index-ID. In dieser Anfrage wird der Wert der Anfrage-URL in folgendem Format hinzugefügt:
- https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes
JSON-Text der Anfrage:
{ "display_name": "DISPLAY_NAME", "description": "INDEX_DESCRIPTION", }
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/indexes"
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/indexes" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexMetadata" } }
Indexendpunkt erstellen
REST UND BEFEHLSZEILE
In diesem Beispiel wird gezeigt, wie Sie einen Indexendpunkt erstellen.
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. - INDEX_ENDPOINT_ID: (Optional) Ein vom Nutzer angegebener Wert für die Indexendpunkt-ID. In dieser Anfrage wird der Wert der Anfrage-URL in folgendem Format hinzugefügt:
- https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints
JSON-Text der Anfrage:
{ "display_name": "DISPLAY_NAME", "description": "DESCRIPTION", }
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/indexEndpoints"
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/indexEndpoints" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexEndpointMetadata" } }
Index für den Indexendpunkt bereitstellen
REST UND BEFEHLSZEILE
In diesem Beispiel wird gezeigt, wie Sie einen Index auf einer Indexendpunktressource bereitstellen.
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. - INDEX_ENDPOINT_ID: Die ID des Zielindexendpunkts.
- CORPUS_ID: Die ID des Zielkorpus.
- INDEX_ID: Die ID des Zielindexes.
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex
JSON-Text der Anfrage:
{ "deployedIndex": { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" } }
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/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex"
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/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.DeployIndexMetadata", "deployedIndex": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" } }