יצירת מאגר סרטונים מוכן לשימוש לחיפוש.
הגדרת מאגר מינימלי של סרטונים לעיבוד באצווה
יש שתי דרכים נפוצות להגדיר Batch Video Warehouse מינימלי.
אפשרות 1: קודם פורסים אינדקס ריק, ואז מוסיפים בהדרגה נכסי וידאו. הרצף האופייני של קריאות ה-API בגישה הזו הוא:
- מגדירים מאגר:
CreateCorpusואזCreateDataSchema. - הגדרת אינדקס ריק:
CreateIndex,CreateIndexEndpointוDeployIndex. - הוספת נכסי וידאו:
CreateAsset,UploadAsset,AnalyzeAssetו-IndexAsset.- (אופציונלי) מוסיפים הערות לסרטון:
CreateAnnotation.
- (אופציונלי) מוסיפים הערות לסרטון:
- מגדירים מאגר:
אפשרות 2: מייבאים קודם נכסי וידאו ואז פורסים אינדקס. הרצף האופייני של קריאות ה-API בגישה הזו הוא:
- מגדירים מאגר:
CreateCorpusואזCreateDataSchema. - הוספת נכסי וידאו:
CreateAsset,UploadAssetו-AnalyzeAsset.- (אופציונלי) מוסיפים הערות לסרטון:
CreateAnnotation.
- (אופציונלי) מוסיפים הערות לסרטון:
- הגדרת אינדקס עם נכסים קיימים:
CreateIndex,CreateIndexEndpointו-DeployIndex.
- מגדירים מאגר:
בחירת גישה: הגישה הכי טובה בשבילכם תלויה בצרכים הספציפיים שלכם. אם אתם צריכים להתחיל לחפש סרטונים בהקדם האפשרי, כדאי להשתמש בגישה הראשונה. אם אתם רוצים לייבא מספר גדול של סרטונים, כדאי להשתמש באפשרות השנייה.
יצירת מאגר
כדי להתחיל, צריך ליצור משאב קורפוס. כשיוצרים מאגר של סרטונים בכמות גדולה, צריך לציין EMBEDDING_SEARCH כערך ברירת המחדל של המאפיין searchCapabilitySetting.
REST ושורת הפקודה
יוצר משאב של קורפוס בפרויקט שצוין, עם אפשרות לציין את השם המוצג והתיאור של הקורפוס.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- 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": "VIDEO_ON_DEMAND",
"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": "VIDEO_ON_DEMAND",
"search_capability_setting": {
"search_capabilities": {
"type": "EMBEDDING_SEARCH"
}
}
}
}
יצירה, העלאה וניתוח של נכסים
כדי להוסיף סרטון למאגר הסרטונים של Batch, קודם צריך ליצור נכס.
REST ושורת הפקודה
כדי ליצור משאב מסוג נכס, שולחים בקשת POST באמצעות ה-method projects.locations.corpora.assets.create.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
- ASSET_ID: (אופציונלי) ערך שסופק על ידי המשתמש למזהה הנכס. בבקשה הזו, הערך
מוסף לכתובת ה-URL של הבקשה בפורמט:
- https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets?asset_id=ASSET_ID
- TIME_TO_LIVE: אורך החיים (TTL) של כל הנכסים בקורפוס, או אורך החיים של נכס ספציפי. לדוגמה, אם יש לכם מאגר נכסים עם TTL של 100 ימים, צריך להזין את הערך
8640000(בשניות).
ה-method של ה-HTTP וכתובת ה-URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets
גוף בקשת JSON:
{
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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"
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" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
}
השלב הבא הוא להעלות את הסרטון מ-URI של Cloud Storage.
הערה: Batch Video Warehouse לא שומר עותק של קובץ הווידאו.
UploadAsset API מאמת רק את המטא-נתונים של הסרטון כדי לוודא שלא חרגתם ממכסות או ממגבלות.
REST ושורת הפקודה
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
- ASSET_ID: המזהה של נכס היעד.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:upload
גוף בקשת JSON:
{
"asset_source": {
"asset_gcs_source": {
"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/ASSET_ID:upload"
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/ASSET_ID:upload" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID",
}
לפני שהסרטון שהועלה נכנס לאינדקסים של החיפוש, הוא צריך לעבור ניתוח.
REST ושורת הפקודה
לנתח נכס וידאו באמצעות השיטה
projects.locations.corpora.assets.analyze.
כברירת מחדל, Batch Video Warehouse מריץ ניתוח הטמעה על תוכן וידאו.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
- ASSET_ID: המזהה של נכס היעד.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:analyze
גוף בקשת JSON:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_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/assets/ASSET_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/assets/ASSET_ID:analyze" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_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: המזהה של מאגר הידע היעד.
- 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"
}
}
}
יצירת אנוטציות
אפשר להוסיף הערות לסרטון ברמת הנכס או הערות עם חלוקות זמניות יחסיות. כל הערה צריכה להיות מוגדרת עם מפתח סכימת נתונים קיים.
REST ושורת הפקודה
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
- ASSET_ID: המזהה של נכס היעד.
- ANNOTATION_ID: (אופציונלי) ערך שסופק על ידי המשתמש למזהה ההערה. בבקשה הזו, הערך מתווסף לכתובת ה-URL של הבקשה בפורמט:
- https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets/ASSET_ID/annotations?annotation_id=ANNOTATION_ID
ה-method של ה-HTTP וכתובת ה-URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations
גוף בקשת JSON:
{
"user_specified_annotation": {
"key": "object-detected",
"value": {
"str_value": "cat"
},
"partition": {
"relative_temporal_partition": {
"start_offset": {
"seconds": "60"
},
"end_offset": {
"seconds": "300"
}
}
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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/ASSET_ID/annotations"
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/ASSET_ID/annotations" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID",
"userSpecifiedAnnotation": {
"key": "object-detected",
"value": {
"strValue": "cat"
},
"partition": {
"relative_temporal_partition": {
"start_offset": "60s",
"end_offset": "300s"
}
}
}
}
יצירת אינדקס
אחרי שמוסיפים נכסי וידאו והערות, אפשר להמשיך ליצירת אינדקס על אוסף טקסטים. האינדקס מתעד את מצב הקורפוס בזמן היצירה, כולל כל הנכסים וההערות שנותחו.
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"
}
}
עדכון נכסים באינדקס באמצעות סטרימינג
אפשר להשתמש בשיטות IndexAsset או RemoveIndexAsset כדי לעדכן או להסיר נכס יחיד באינדקס שנפרס. עדכון סטרימינג מאפשר לעדכן את האינדקס ולחפש בו תוך זמן קצר.
בדוגמה הזו מוסבר איך לעדכן נכס באינדקס.
REST ושורת הפקודה
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-
LOCATION_ID, כמוeurope-west4-. מידע נוסף על נקודות קצה אזוריות - PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - CORPUS_ID: המזהה של מאגר הידע היעד.
- ASSET_ID: המזהה של נכס היעד.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:index
גוף בקשת JSON:
{
"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/corpora/CORPUS_ID/assets/ASSET_ID:index"
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/ASSET_ID:index" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_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: המזהה של מאגר הידע היעד.
- ASSET_ID: המזהה של נכס היעד.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:removeIndex
גוף בקשת JSON:
{
"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/corpora/CORPUS_ID/assets/ASSET_ID:removeIndex"
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/ASSET_ID:removeIndex" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID",
}
המאמרים הבאים
- איך מחפשים ב-Batch Video Warehouse