תמונות לדוגמה הן תמונות שמכילות תצוגות שונות של המוצרים שלכם. ההמלצות הבאות רלוונטיות:
- צריך לוודא שהקובץ לא חורג מהגודל המקסימלי (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 Product Search Go API.
כדי לבצע אימות ב-Vision API Google Product Search, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
מידע על התקנת ספריית הלקוח של Vision API Google Product Search והשימוש בה מופיע במאמר ספריות הלקוח של Vision API Google Product Search. מידע נוסף מופיע במאמרי העזרה של Vision API Product Search Java API.
כדי לבצע אימות ב-Vision API Google Product Search, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע על התקנת ספריית הלקוח של Vision API Google Product Search והשימוש בה מופיע במאמר ספריות הלקוח של Vision API Google Product Search. מידע נוסף מופיע במאמרי העזרה של Vision API Product Search Node.js API.
כדי לבצע אימות ב-Vision API Google Product Search, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של Vision API Google Product Search והשימוש בה מופיע במאמר ספריות הלקוח של Vision API Google Product Search. מידע נוסף מופיע במאמרי העזרה של Vision API Product Search Python API.
כדי לבצע אימות ב-Vision API Google Product Search, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: צריך לפעול לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז לעבור אל מאמרי העזרה בנושא Google Product Search של Vision API ל- .NET.
PHP: עליכם לפעול לפי הוראות ההגדרה של PHP בדף של ספריות הלקוח ואז לעיין במסמכי העזר של Vision API Google Product Search ל-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 Product Search Go API.
כדי לבצע אימות ב-Vision API Google Product Search, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
מידע על התקנת ספריית הלקוח של Vision API Google Product Search והשימוש בה מופיע במאמר ספריות הלקוח של Vision API Google Product Search. מידע נוסף מופיע במאמרי העזרה של Vision API Product Search Java API.
כדי לבצע אימות ב-Vision API Google Product Search, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע על התקנת ספריית הלקוח של Vision API Google Product Search והשימוש בה מופיע במאמר ספריות הלקוח של Vision API Google Product Search. מידע נוסף מופיע במאמרי העזרה של Vision API Product Search Node.js API.
כדי לבצע אימות ב-Vision API Google Product Search, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של Vision API Google Product Search והשימוש בה מופיע במאמר ספריות הלקוח של Vision API Google Product Search. מידע נוסף מופיע במאמרי העזרה של Vision API Product Search Python API.
כדי לבצע אימות ב-Vision API Google Product Search, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: צריך לפעול לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז לעבור אל מאמרי העזרה בנושא Google Product Search של Vision API ל- .NET.
PHP: עליכם לפעול לפי הוראות ההגדרה של PHP בדף של ספריות הלקוח ואז לעיין במסמכי העזר של Vision API Google Product Search ל-PHP.
Ruby: צריך לפעול לפי ההוראות להגדרה של Ruby בדף של ספריות הלקוח ואז לעבור אל מסמכי העזר של Vision API Google Product Search ל-Ruby.
יצירת אינדקס
אינדקס החיפוש של Google Product Search מתעדכן בערך כל יום. כשמוסיפים או מוחקים תמונות, השינוי לא יופיע בתשובות של Google Product Search עד לעדכון הבא של האינדקס.
כדי לוודא שהוספת האינדקס הסתיימה בהצלחה, בודקים את השדה indexTime של קבוצת מוצרים.