תמונות לדוגמה הן תמונות שמציגות את המוצרים שלכם מזוויות שונות. ההמלצות הבאות רלוונטיות:
- צריך לוודא שהקובץ לא חורג מהגודל המקסימלי (20MB).
- כדאי לבחור נקודות מבט שמציגות את המוצר בצורה הגיונית ומכילות מידע חזותי רלוונטי.
- יוצרים תמונות לדוגמה שמשלימות נקודות מבט חסרות. לדוגמה, אם יש לכם רק תמונות של הנעל הימנית מתוך זוג, אתם יכולים לספק גרסאות הפוכות של הקבצים האלה בתור הנעל השמאלית.
- מעלים את התמונה ברזולוציה הגבוהה ביותר שזמינה.
- המוצר מוצג על רקע לבן.
- המרת קובצי PNG עם רקע שקוף לרקע אחיד.
התמונות צריכות להיות מאוחסנות בקטגוריה של Cloud Storage. אם אתם מאמתים את הקריאה ליצירת תמונה באמצעות מפתח API, הקטגוריה צריכה להיות ציבורית. אם אתם מבצעים אימות באמצעות חשבון שירות, לחשבון השירות הזה צריכה להיות גישת קריאה לקטגוריה.
יצירת תמונה לדוגמה אחת
אפשר להוסיף תמונה לדוגמה למוצר קיים. אחרי שתעשו את זה, תוכלו לחפש את המוצר לפי התמונה.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- LOCATION_ID: מזהה מיקום תקין. מזהי מיקום תקינים:
us-west1,us-east1,europe-west1ו-asia-east1. - PRODUCT_ID: המזהה של המוצר שמשויך לתמונה לדוגמה. המזהה הזה מוגדר באופן אקראי או מצוין על ידי המשתמש בזמן יצירת המוצר.
- CLOUD_STORAGE_IMAGE_URI: הנתיב לקובץ תמונה תקין בקטגוריה של Cloud Storage. צריכות להיות לכם לפחות הרשאות קריאה לקובץ.
דוגמה:
gs://storage-bucket/filename.jpg
ה-method של ה-HTTP וכתובת ה-URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages
גוף בקשת JSON:
{
"uri": "cloud-storage-image-uri",
"boundingPolys": [
{
"vertices": [
{
"x": X_MIN,
"y": Y_MIN
},
{
"x": X_MAX,
"y": Y_MIN
},
{
"x": X_MAX,
"y": Y_MAX
},
{
"x": X_MIN,
"y": Y_MAX
}
]
}
]
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages" | Select-Object -Expand Content
אם הבקשה תתבצע בהצלחה, השרת יחזיר קוד סטטוס 200 OK של HTTP ואת התשובה בפורמט JSON.
הפלט שיוצג אמור להיות דומה לזה שמופיע כאן. בדוגמה של הבקשה צוין boundingPoly אחד בתמונה. הקודקודים של התיבה התוחמת לא מנורמלים. ערכי הקודקודים הם ערכי הפיקסלים בפועל, והם לא יחסיים לתמונה המקורית ומוגדרים בקנה מידה מ-0 עד 1. הקודקודים האלה כוללים את הערכים הבאים: [(33,22),(282,22),(282,278),(33,278)].
{
"name": "projects/project-id/locations/location-id/products/product-id/referenceImages/image-id",
"uri": "gs://storage-bucket/filename.jpg",
"boundingPolys": [
{
"vertices": [
{
"x": 33,
"y": 22
},
{
"x": 282,
"y": 22
},
{
"x": 282,
"y": 278
},
{
"x": 33,
"y": 278
}
]
}
]
}
Go
מידע על התקנת ספריית הלקוח של Vision API Google Product Search ושימוש בה מופיע במאמר ספריות הלקוח של Vision API Google Product Search. מידע נוסף מופיע במאמרי העזרה של Vision API Google Product Search Go API.
כדי לבצע אימות ב-Google Product Search של Vision API, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
מידע על התקנת ספריית הלקוח של Vision API Google Product Search ושימוש בה מופיע במאמר ספריות הלקוח של Vision API Google Product Search. מידע נוסף מופיע במאמרי העזרה של Vision API Google Product Search Java API.
כדי לבצע אימות ב-Google Product Search של Vision API, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע על התקנת ספריית הלקוח של Vision API Google Product Search ושימוש בה מופיע במאמר ספריות הלקוח של Vision API Google Product Search. מידע נוסף מופיע במאמרי העזרה של Vision API Google Product Search Node.js API.
כדי לבצע אימות ב-Google Product Search של Vision API, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של Vision API Google Product Search ושימוש בה מופיע במאמר ספריות הלקוח של Vision API Google Product Search. מידע נוסף מופיע במאמרי העזרה של Vision API Google Product Search Python API.
כדי לבצע אימות ב-Google Product Search של Vision API, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: צריך לפעול לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז לעבור אל מאמרי העזרה בנושא Google Product Search ב-Vision API עבור .NET.
PHP: עליכם לפעול לפי הוראות ההגדרה של PHP בדף של ספריות הלקוח ואז לעבור אל מסמכי העזר של Google Product Search ב-Vision API ל-PHP.
Ruby: צריך לפעול לפי ההוראות להגדרת Ruby בדף של ספריות הלקוח ולעיין במסמכי העזר של Vision API Google Product Search ל-Ruby.
יצירת כמה תמונות עזר באמצעות ייבוא בכמות גדולה
אפשר גם ליצור תמונות לדוגמה כשיוצרים קבוצת מוצרים וכמה מוצרים.
כדי ליצור תמונות להשוואה בכמות גדולה, מעבירים את המיקום ב-Cloud Storage של קובץ CSV לשיטה import. לכן, קובץ ה-CSV והתמונות שאליהן הוא מפנה חייבים להיות בקטגוריה של Cloud Storage.
אם אתם מאמתים את הקריאה לייבוא בכמות גדולה באמצעות מפתח API, קובץ המקור הזה בפורמט CSV צריך להיות ציבורי.
אם אתם מבצעים אימות באמצעות חשבון שירות, לחשבון השירות הזה צריכה להיות גישת קריאה לקובץ המקור בפורמט CSV.
פורמט CSV
image-uri,[image-id],product-set-id,product-id,product-category,[product-display-name],[label(s)],[bounding-poly]
במאמר בנושא פורמט CSV יש מידע מפורט יותר על עיצוב קובץ ה-CSV.
בקשה ליצירת כמות גדולה של משתמשים
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- LOCATION_ID: מזהה מיקום תקין. מזהי מיקום תקינים:
us-west1,us-east1,europe-west1ו-asia-east1. - STORAGE_PATH: קטגוריה או ספרייה ב-Cloud Storage שבה מאוחסן קובץ ה-CSV של הקלט. למשתמש ששולח את הבקשה צריכה להיות לפחות הרשאת קריאה לדלי.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import
גוף בקשת JSON:
{
"inputConfig": {
"gcsSource": {
"csvFileUri": "storage-path"
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import" | Select-Object -Expand Content
הפלט שיוצג אמור להיות דומה לזה שמופיע כאן. אפשר להשתמש במזהה הפעולה (f10f34e32c40a710, במקרה הזה) כדי לקבל את סטטוס המשימה. לדוגמה, אפשר לעיין במאמר קבלת הסטטוס של פעולה.
{
"name": "projects/project-id/locations/location-id/operations/f10f34e32c40a710"
}אחרי שהפעולה הממושכת מסתיימת, אפשר לקבל את פרטי פעולת הייבוא. התגובה אמורה להיראות כך:
{
"name": "locations/location-id/operations/f10f34e32c40a710",
"metadata": {
"@type": "type.googleapis.com/google.cloud.vision.v1.BatchOperationMetadata",
"state": "SUCCESSFUL",
"submitTime": "2019-12-06T21:16:04.476466873Z",
"endTime": "2019-12-06T21:16:40.594258084Z"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.vision.v1.ImportProductSetsResponse",
"referenceImages": [
{
"name": "projects/project-id/locations/location-id/products/product_id0/referenceImages/image0",
"uri": "gs://my-storage-bucket/img_039.jpg"
},
{
"name": "projects/project-id/locations/location-id/products/product_id1/referenceImages/image1",
"uri": "gs://my-storage-bucket/img_105.jpg"
},
{
"name": "projects/project-id/locations/location-id/products/product_id2/referenceImages/image2",
"uri": "gs://my-storage-bucket/img_224.jpg"
},
{
"name": "projects/project-id/locations/location-id/products/product_id3/referenceImages/image3",
"uri": "gs://my-storage-bucket/img_385.jpg"
}
],
"statuses": [
{},
{},
{},
{}
]
}
}
Go
מידע על התקנת ספריית הלקוח של Vision API Google Product Search ושימוש בה מופיע במאמר ספריות הלקוח של Vision API Google Product Search. מידע נוסף מופיע במאמרי העזרה של Vision API Google Product Search Go API.
כדי לבצע אימות ב-Google Product Search של Vision API, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
מידע על התקנת ספריית הלקוח של Vision API Google Product Search ושימוש בה מופיע במאמר ספריות הלקוח של Vision API Google Product Search. מידע נוסף מופיע במאמרי העזרה של Vision API Google Product Search Java API.
כדי לבצע אימות ב-Google Product Search של Vision API, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע על התקנת ספריית הלקוח של Vision API Google Product Search ושימוש בה מופיע במאמר ספריות הלקוח של Vision API Google Product Search. מידע נוסף מופיע במאמרי העזרה של Vision API Google Product Search Node.js API.
כדי לבצע אימות ב-Google Product Search של Vision API, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של Vision API Google Product Search ושימוש בה מופיע במאמר ספריות הלקוח של Vision API Google Product Search. מידע נוסף מופיע במאמרי העזרה של Vision API Google Product Search Python API.
כדי לבצע אימות ב-Google Product Search של Vision API, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: צריך לפעול לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז לעבור אל מאמרי העזרה בנושא Google Product Search ב-Vision API עבור .NET.
PHP: עליכם לפעול לפי הוראות ההגדרה של PHP בדף של ספריות הלקוח ואז לעבור אל מסמכי העזר של Google Product Search ב-Vision API ל-PHP.
Ruby: צריך לפעול לפי ההוראות להגדרת Ruby בדף של ספריות הלקוח ולעיין במסמכי העזר של Vision API Google Product Search ל-Ruby.
יצירת אינדקס
אינדקס החיפוש של Google Product Search מתעדכן בערך כל 30 דקות. כשמוסיפים או מוחקים תמונות, השינוי לא יופיע בתשובות של Google Product Search עד לעדכון הבא של האינדקס.
כדי לוודא שהוספת האינדקס הסתיימה בהצלחה, בודקים את השדה indexTime של קבוצת מוצרים.