מחסן תמונות הוא מקום שבו אפשר לאחסן ולנהל תמונות, וגם להוסיף הערות לתמונות.
יצירת מחסן תמונות
קודם צריך ליצור קורפוס.
REST ושורת הפקודה
יוצר משאב של קורפוס בפרויקט הנתון, עם אפשרות לציין את Corpus השם המוצג והתיאור.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - DISPLAY_NAME: השם המוצג של מחסן הנתונים.
- WAREHOUSE_DESCRIPTION: תיאור המחסן (
corpus).
ה-method של ה-HTTP וכתובת ה-URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora
גוף בקשת JSON:
{
"display_name": "DISPLAY_NAME",
"description": "WAREHOUSE_DESCRIPTION",
"type": "IMAGE",
"search_capability_setting": {
"search_capabilities": {
"type": "EMBEDDING_SEARCH"
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"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"
}
}
}
}
יצירת סכימת נתונים
אם רוצים לייבא הערות, צריך ליצור סכימת נתונים תואמת לפני שמבצעים קריאה ל-Import API.
REST ושורת הפקודה
בדוגמה הזו מוסבר איך ליצור סכימת נתונים בקורפוס קיים.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
- DATASCHEMA_KEY: המפתח הזה חייב להיות זהה למפתח של הערה שצוינה על ידי המשתמש, והוא חייב להיות ייחודי בתוך
corpus. לדוגמה,data-key. - ANNOTATION_DATA_TYPE: סוג הנתונים של ההערה. הערכים הזמינים הם:
DATA_TYPE_UNSPECIFIEDINTEGERFLOATSTRINGDATETIMEGEO_COORDINATEPROTO_ANYBOOLEAN
מידע נוסף מופיע במאמרי העזרה של ה-API.
- ANNOTATION_GRANULARITY: רמת הפירוט של ההערות בקטע
dataSchema. הערכים הזמינים הם:-
GRANULARITY_UNSPECIFIED– רמת פירוט לא מוגדרת. -
GRANULARITY_ASSET_LEVEL– רמת פירוט ברמת הנכס (ההערות לא יכולות להכיל מידע על חלוקה זמנית של נכס המדיה). -
GRANULARITY_PARTITION_LEVEL– רמת פירוט של מחיצה (ההערות צריכות להכיל פרטי מחיצה זמנית של נכס המדיה).
-
- SEARCH_STRATEGY: אחד מערכי ה-enum הזמינים. סוגי אסטרטגיות החיפוש
שיוחלו על מפתח ההערה. הערכים הזמינים הם:
NO_SEARCHEXACT_SEARCHSMART_SEARCH
ה-method של ה-HTTP וכתובת ה-URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
גוף בקשת JSON:
{
"key": "DATASCHEMA_KEY",
"schema_details": {
"type": "ANNOTATION_DATA_TYPE",
"granularity": "ANNOTATION_GRANULARITY",
"search_strategy": {
"search_strategy_type": "SEARCH_STRATEGY"
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"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"
}
}
}
ייבוא נכסים למאגר תמונות
לייבא נכסים (ואפשר גם הערות) למאגר קיים בפרויקט הנתון.
קובץ Cloud Storage של בקשת ImportAsset צריך להיות בפורמט JSONL. בקובץ, כל שורה תואמת לנכס אחד ותומר ל-InputImageAsset proto. לדוגמה,
{"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 ושורת הפקודה
בדוגמה הזו אפשר לראות איך מייבאים נכסים (ואפשרותית גם הערות) למשאב corpus בפרויקט הנתון.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets:import
גוף בקשת JSON:
{
"parent": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID,
"assets_gcs_uri": GCS_URI
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}
ניתוח נכסים במאגר
כדי להתכונן לחיפוש תמונות, צריך להריץ את AnalyzeCorpus כדי ליצור את אותות ההטמעה מהתמונות.
REST ושורת הפקודה
בדוגמה הזו מוסבר איך לבצע AnalyzeCorpus במשאב corpus.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:analyze
גוף בקשת JSON:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}
יצירת אינדקס
REST ושורת הפקודה
בדוגמה הזו מוסבר איך ליצור אינדקס במשאב של קורפוס.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
- INDEX_ID: (אופציונלי) ערך שסופק על ידי המשתמש למזהה האינדקס. בבקשה הזו, הערך
מוסף לכתובת ה-URL של הבקשה בפורמט:
- https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID
ה-method של ה-HTTP וכתובת ה-URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes
גוף בקשת JSON:
{
"display_name": "DISPLAY_NAME",
"description": "INDEX_DESCRIPTION",
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"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"
}
}
יצירת נקודת קצה של אינדקס
REST ושורת הפקודה
בדוגמה הזו מוסבר איך ליצור נקודת קצה של אינדקס.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - INDEX_ENDPOINT_ID: (אופציונלי) ערך שסופק על ידי המשתמש למזהה של נקודת הקצה של האינדקס. בבקשה הזו, הערך
מוסף לכתובת ה-URL של הבקשה בפורמט:
- https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID
ה-method של ה-HTTP וכתובת ה-URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints
גוף בקשת JSON:
{
"display_name": "DISPLAY_NAME",
"description": "DESCRIPTION",
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexEndpointMetadata"
}
}
פריסת האינדקס לנקודת קצה של אינדקס
REST ושורת הפקודה
בדוגמה הזו מוסבר איך לפרוס אינדקס למשאב של נקודת קצה של אינדקס.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - INDEX_ENDPOINT_ID: המזהה של נקודת הקצה של אינדקס היעד.
- CORPUS_ID: המזהה של מאגר הידע היעד.
- INDEX_ID: המזהה של אינדקס היעד.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex
גוף בקשת JSON:
{
"deployedIndex": {
"index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"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"
}
}