אינדקס של מחסן Vision (זמין לקטגוריות של תמונות ושל סרטונים בכמות גדולה) הוא משאב ברמת הקורפוס, שהוא ייצוג מנוהל של נכסים והערות שעברו ניתוח. אפשר לראות אינדקס כמערך נתונים של וקטורי הטמעה והגבלות סמנטיות שמייצגים את המשמעות של תוכן המדיה. אפשר לפרוס אינדקסים בנקודות קצה של אינדקסים לחיפוש.
כשיוצרים אינדקס ב-corpus, האינדקס יכלול את כל הנכסים הדיגיטליים שעברו ניתוח ואת כל ההערות הקיימות במאגר המידע.
אם מוסיפים נכסים או הערות אחרי שיוצרים את האינדקס, צריך לנתח מחדש את הקורפוס או את הנכסים האלה ולעדכן את האינדקס כדי לכלול אותם בו.
יצירת אינדקס של מחסן נתונים
REST
כדי ליצור משאב אינדקס, שולחים בקשת POST באמצעות השיטה projects.locations.corpora.indexes.create.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- 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"
}
}
עדכון אינדקס של מחסן נתונים
ה-API UpdateIndex מאפשר לעדכן את שדות המטא-נתונים של האינדקס, כמו display_name ו-description, וגם את תוכן האינדקס הבסיסי (assets וה-annotations שלהם).
השדה update_mask בבקשה, שנקרא גם מסכת השדה, משמש כדי לציין את השדות שיידרסו במשאב Index על ידי העדכון. השדות שצוינו ב-update_mask הם יחסיים למשאב, ולא לבקשה המלאה. שדה של המשאב יידרס אם הוא נמצא במסכה. אסור להשתמש באנונימיזציה ריקה של שדה. אם המסכה היא '*', היא מפעילה עדכון מלא של האינדקס, וגם בנייה מחדש של נתוני האינדקס.
REST
כדי לעדכן משאב אינדקס, שולחים בקשת PATCH באמצעות השיטה projects.locations.corpora.indexes.patch.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
- INDEX_ID: המזהה של אינדקס היעד.
-
?update_mask=fieldToUpdate: רשימה של השדות הזמינים שרוצים להחיל עליהםupdate_mask. מציינים את הערכים המתאימים לשדות החדשים בגוף הבקשה. הערך החדש הזה מחליף את הערך הקיים בשדה. אפשר לציין כמה שדות כערכים מופרדים בפסיקים. השדות הזמינים:- השם המוצג:
?update_mask=display_name - תיאור:
?update_mask=description - עדכון נתוני המדד הבסיסיים:
?update_mask=entire_corpus - עדכון כל השדות:
?update_mask=*
- השם המוצג:
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID?update_mask=display_name,entire_corpus
גוף בקשת JSON:
{
"display_name": "DISPLAY_NAME",
"entire_corpus": true
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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/indexes/INDEX_ID?update_mask=display_name,entire_corpus"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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/indexes/INDEX_ID?update_mask=display_name,entire_corpus" | 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.UpdateIndexMetadata"
}
}
עדכונים של אינדקסים בסטרימינג
ממשקי ה-API IndexAsset ו-RemoveIndexAsset מאפשרים עדכונים בזמן אמת לאינדקסים. ממשקי ה-API האלה נתמכים רק במחסן Vision עבור סרטונים שמועלים בקבוצות.
הצגת רשימת האינדקסים במחסן נתונים
REST
כדי לפרט את האינדקסים בקורפוס, שולחים בקשת GET באמצעות השיטה projects.locations.corpora.indexes.list.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"indexes": [
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID_1",
"display_name": "DISPLAY_NAME_1",
"description": "DESCRIPTION_1",
"entireCorpus": true,
"state": "CREATED"
},
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID_2",
"display_name": "DISPLAY_NAME_2",
"description": "DESCRIPTION_2",
"entireCorpus": true,
"state": "CREATED"
}
]
}
קבלת אינדקס
REST
כדי לקבל פרטים על אינדקס, שולחים בקשת GET באמצעות השיטה projects.locations.corpora.indexes.get.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
- INDEX_ID: המזהה של אינדקס היעד.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID",
"display_name": "DISPLAY_NAME",
"description": "DESCRIPTION",
"entireCorpus": true,
"state": "CREATED"
}
הצגת נכסים באינדקס
REST
כדי לקבל פרטים על הנכסים שקיימים באינדקס, שולחים בקשת GET באמצעות השיטה projects.locations.corpora.indexes.viewAssets.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
- INDEX_ID: המזהה של אינדקס היעד.
- PAGE_SIZE: (אופציונלי) מספר התוצאות שיוחזרו.
- PAGE_TOKEN: (אופציונלי) הערך
nextPageTokenשסופק בתגובה של הקריאה הקודמת. אפשר להשתמש בו כדי לקבל את דף התוצאות הבא.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"indexedAssets": [
{
"index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID",
"asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1"
},
{
"index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID",
"asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2"
}
],
"nextPageToken": "NEXT_PAGE_TOKEN"
}
הצגת נכסים שעברו אינדוקס באמצעות מסנן
אפשר לספק רשימה של מזהי נכסים מופרדים בפסיקים באמצעות השדה filter בשיטה projects.locations.corpora.indexes.viewAssets כדי לסנן את כל הנכסים באינדקס ולהציג רק את הנכסים שסופקו.
REST
כדי להציג ולסנן נכסים שקיימים באינדקס, שולחים בקשת GET באמצעות השיטה projects.locations.corpora.indexes.viewAssets.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
- INDEX_ID: המזהה של אינדקס היעד.
- PAGE_SIZE: (אופציונלי) מספר התוצאות שיוחזרו.
- PAGE_TOKEN: (אופציונלי) הערך
nextPageTokenשסופק בתגובה של הקריאה הקודמת. אפשר להשתמש בו כדי לקבל את דף התוצאות הבא. - ASSET_ID_FILTER: (אופציונלי) רשימה מופרדת בפסיקים של מזהי נכסים שרוצים לסנן ברשימה שמוחזרת. לדוגמה:
?filter=ASSET_ID_1"?filter=ASSET_ID_1,ASSET_ID_2"
ה-method של ה-HTTP וכתובת ה-URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"indexedAssets": [
{
"index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID",
"asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1"
},
{
"index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID",
"asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2"
}
],
"nextPageToken": "NEXT_PAGE_TOKEN"
}
מחיקת אינדקס
אפשר למחוק אינדקס רק אם הוא לא נפרס ב-indexEndpoint.
לפני שמוחקים אינדקס שפרסתם, צריך לפעול לפי המדריך בנושא ביטול הפריסה של אינדקס.
REST
כדי למחוק משאב אינדקס, שולחים בקשת DELETE באמצעות השיטה projects.locations.corpora.indexes.delete.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
- INDEX_ID: המזהה של אינדקס היעד.
ה-method של ה-HTTP וכתובת ה-URL:
DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID",
}