מודל זיהוי המוצרים עוזר לכם לזהות ולהבין איזה מוצר מופיע בתמונה שסיפקתם. התמונה צריכה להכיל רק פריט מוצר אחד שאתם רוצים לזהות.
המודל הזה יכול לשמש כבלוק בנייה ראשי של AI לניתוח ולפרשנות של נתוני תמונות מוצרים, שאפשר לאסוף מחנויות קמעונאיות.
תרחישים לדוגמה לשימוש ב-Tag Recognizer וב-Product Recognizer
המודלים Product Recognizer ו-Tag Recognizer יכולים לשמש כאבני הבניין העיקריות של AI לניתוח ולפרשנות של נתוני תמונות שקשורים למוצרים ולתגיות, שאולי צילמתם בחנויות קמעונאיות.
המודלים של כלי זיהוי המוצרים וכלי זיהוי התגים משלבים כמה יכולות ליבה של Google בתחום ה-AI, כולל בניית מודלים וניתוח נתונים, כדי לעזור לקמעונאים ו/או לשותפים טכניים לפתור בעיות מרכזיות בהבנת נתוני התמונות של המוצרים ותגי המחיר, כולל:
- זיהוי, כלומר הבנה של המוצר שמופיע בתמונה.
- זיהוי וניתוח של התג (לדוגמה, תג מחיר או כל תג אחר של תווית טקסט) בהתאם לסכימת חילוץ של ישות מסוג צמד מפתח/ערך שהוגדרה על ידי המשתמש.
בפרט, נכללים כמה מודלים ייחודיים של Google AI כדי לתמוך בפתרון בעיות בתרחישי השימוש האלה, כמו
- מודל להטמעת תמונות ממוזערות של מוצרים, שהופך תמונה ממוזערת של מוצר לייצוג של מרחב תכונות מספרי.
- מודל ה-OCR של Google, ששולף את כל הטקסטים שרואים בתמונה.
- מודל לחילוץ ישויות של Google (שאפשר להתאים אישית), שהופך את הטקסטים הגולמיים לישויות בעלות שם של צמדי מפתח/ערך שהוגדרו על ידי המשתמש.
בנוסף למודלי ה-AI מבית Google, כלי זיהוי המוצרים מסתמך גם על מסד הנתונים הגדול של Google עם פרטי מוצרים. נתוני המוצרים במסד הנתונים הזה כוללים את מזהה ה-GTIN או ה-UPC של המוצר, את מותג המוצר, את שם הפריט ואת התיאורים בשפות שונות, את הלוגו של המוצר ואת התמונות עם וריאציות שונות של האריזה. מסד נתוני המוצרים, עם מודל ההטמעה החזותית של התמונות הממוזערות של המוצרים שצוין קודם, מאפשר למודל לזיהוי מוצרים לזהות מוצרים רבים באופן מיידי.
שתי התכונות העיקריות של ה-AI הן מודלים של זיהוי מוצרים וזיהוי תגים.
פונקציונליות של זיהוי מוצרים
המודל הזה מזהה את הזהות של מוצר בודד ברמת מספר הפריט המסחרי הגלובלי (GTIN) או ברמת קוד המוצר האוניברסלי (UPC). כדי לאפשר פתרון בעיות בתרחישי השימוש האלה, הכלי לזיהוי מוצרים כולל כמה מודלים של AI מבית Google עם יכולות שונות, כמו:
- מודל ההטמעה החזותית של המוצר, שממיר תמונת מוצר לייצוג של מרחב תכונות מספרי.
- טכנולוגיית ה-OCR של Google, ששולפת את כל הטקסט שרואים בתמונה.
- מסד הנתונים של מוצרי Google, שמשמש בשילוב עם מודל ההטמעה החזותית של התמונות הממוזערות של המוצרים, מאפשר למודל לזיהוי מוצרים לזהות מוצרים רבים באופן מיידי.
דוגמה לאובייקט JSON של פלט
{
"imageUri": "gs://test_bucket/test_image.jpg",
"productRecognitionAnnotations": [
{
"detectedText": "Bolthouse Farms Perfectly Protein Tea & Soy Beverage",
"recognitionResults": [
{
"confidence": 0.9420832,
"productMetadata": {
"brand": "Bolthouse Farms",
"gtins": [
"00071464260804"
],
"locale": "en-US",
"title": "Bolthouse Farms Perfectly Protein Tea & Soy Beverage, Vanilla Chai Tea - 52 fl oz"
},
}
]
}
]
}מושגים שקשורים ל-API
יש שישה משאבי API שזמינים כדי לעזור לכם ליצור קטלוג מוצרים, לנהל מערך נתונים של מוצרים, ליצור אינדקס ולבצע פריסה של שירות זיהוי מוצרים. הם מוסברים כך:
קטלוג: משאב הבסיס שמייצג את המאגר של כל המוצרים שהקמעונאי מציע.
מוצר: מייצג מוצר שמוצע על ידי מוכר. Product הוא משאב צאצא של Catalog.
ProductImage: תמונה שמציגה את המוצר. ProductImage
הוא משאב צאצא של Product.
ProductSet: מאגר עם רמת פירוט גבוהה יותר לארגון וקיבוץ מוצרים באותו Catalog. ProductSet יכול להכיל Product אחד או יותר, אבל הוא לא 'בבעלותו' של הProduct שמכיל אותו, אלא הוא שומר על 'קישור' אליהם.
ProductRecognitionIndex: מכיל רשימה של הטמעות תמונות שמשמשות אלגוריתמים לזיהוי מוצרים. אפשר ליצור ProductRecognitionIndex מתוך Catalog שלם או מתוך ProductSet (קבוצת משנה של Product מתוך Catalog).
נקודת קצה: מיקום שכולל את כל ההגדרות הנדרשות כדי לבצע הסקה של זיהוי מוצרים או זיהוי תגים. כדי להשתמש בתכונה 'זיהוי מוצרים', צריך לפרוס ProductRecognitionIndex.
כדי להשתמש בזיהוי תגים, צריך לציין מודלים לניתוח ישויות של תגים.
הגדרת הסביבה
בקטע הזה מוסבר איך ליצור אינטראקציה עם Store Vision AI RESTful API.
API_ENDPOINT=visionai.googleapis.com
PROJECT_ID=your project ID
בכל השיטות של create צריך לציין במפורש את השם או המזהה של המשאב שרוצים ליצור. אפשר להשתמש במזהה מחרוזת בעל משמעות, למשל 'product-ABC', או במזהה שנוצר באופן אקראי, למשל UUID.
כדי להעניק לאדם מסוים הרשאת עריכה לשימוש ב-Store Vision API, צריך להריץ את פקודת ה-IAM הבאה:
gcloud projects add-iam-policy-binding PROJECT_ID --member='user:USER_ACCOUNT' --role='roles/visionai.editor'
כדי להעניק לחשבון שירות גישת עריכה, משתמשים בפקודה הבאה:
gcloud projects add-iam-policy-binding PROJECT_ID --member='serviceAccount:SERVICE_ACCOUNT' --role='roles/visionai.editor'
תהליך השימוש בתכונה 'זיהוי מוצרים'
- יוצרים קטלוג.
- מייבאים מוצרים ו (אופציונלית)
ProductImagesאלCatalog. - אפשר להציג ולשנות את
ProductואתProductImages, ואם רוצים, אפשר ליצורProductSetכדי לארגן את רשימת המוצרים ברמת פירוט גבוהה יותר. - יוצרים
Index, מכלCatalogאו מProductSet. - יוצרים
Endpointעם הגדרות רצויות לזיהוי מוצרים ומפרסמים בוIndex. - ביצוע
BatchAnalyzeבאמצעות התכונהProductRecognition. בצד השרת, המערכת תזהה מוצרים מכל תמונת קלט ותאחזר את K המוצרים הדומים ביותר מהאינדקס שצוין באמצעות אותות חזותיים וטקסט OCR.
ניהול משאבי API (קטלוג ו-Indexset)
קטלוג
יצירת קטלוג
- CATALOG_ID=מזהה הקטלוג שלכם.
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{}' https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs?retail_catalog_id=CATALOG_ID
פלט לדוגמה
{
"name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
"done": false
}
משיכת הפעולה עד לסיום
- OPERATION_ID=Your output operation, for example, operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID
פלט לדוגמה
{
"name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
"done": true
}
ImportProduct
יש שני פורמטים נתמכים לייבוא:
- TXT: כל שורה היא מספר GTIN של מוצר לייבוא
- JSONL: כל שורה היא פורמט JSON של RetailProductIoFormat, לדוגמה,
{"retailProduct":{"name":"00040094314034","gtins":["00040094314034"]},"retailProductImages":[{"name":"1","gcsUri":"gs://shelfchecking-integration-test-data/products-data/00040094314034/1.jpg"}]}
{"retailProduct": {"name":"00123", "thirdPartyIds": {"id": "test-id", "owner": "test-owner"}}}
פרטים נוספים על RetailProductIoFormat מופיעים במאמרי העזרה של ה-API. בשלב הזה, אנחנו תומכים בייבוא של עד 10,000 מוצרים בכל פעולת ImportProduct.
חשוב גם לדעת שהשם בתוך retailProductImages צריך להיות ייחודי רק בהיקף של משאב האב retailProduct. כלומר, יכולים להיות שני משאבים מסוג retailProductImages עם אותו שם, כל עוד הם שייכים למשאבים שונים מסוג retailProduct.
- IMPORT_FILE_URI=ה-URI של קובץ הייבוא ב-Cloud Storage, לדוגמה, gs://mybucket/my_import_file.jsonl
- IMPORT_FORMAT=פורמט קובץ הייבוא, FORMAT_JSONL או FORMAT_TXT
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID:importRetailProducts \
-d '{
"gcs_source": {
"uris": "IMPORT_FILE_URI"
},
"format": "IMPORT_FORMAT"
}'
List Catalog
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs
GetCatalog
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID
DeleteCatalog
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID
מוצר
CreateProduct with GTIN
אנחנו תומכים בפורמטים GTIN-8, GTIN-13, GTIN-14 ו-UPC(שנקרא גם GTIN-12). מידע נוסף על פורמט GTIN
- PRODUCT_ID=מזהה המוצר שלך
- GTIN=GTIN של המוצר, לדוגמה, 50735854797459, 00040094314034
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts?retail_product_id=PRODUCT_ID \
-d '{"gtins": "GTIN"}'
יצירת מוצר עם מזהה של צד שלישי
- PRODUCT_ID=מזהה המוצר שלך
- THIRD_PARTY_ID=מזהה של צד שלישי
- OWNER=הישות שבבעלותה המזהה של הצד השלישי
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts?retail_product_id=PRODUCT_ID \
-d '
{
"third_party_ids": {
"id": "THIRD_PARTY_ID",
"owner": "OWNER",
}
}'
ListProducts
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts
GetProducts
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID
DeleteProduct
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID
ProductImage
CreateProductImage
- PRODUCT_IMAGE_ID=מזהה תמונת המוצר
- IMAGE_GCS_URI=ה-URI של התמונה ב-Cloud Storage, לדוגמה, gs://mybucket/my_img.jpg
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages?retail_product_image_id=PRODUCT_IMAGE_ID \
-d '{
"source_type": "SOURCE_TYPE_HAND_HELD_CAMERA",
"gcs_uri": "IMAGE_GCS_URI"
}'
ListProductImages
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages
GetProductImages
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages/PRODUCT_IMAGE_ID
DeleteProductImage
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages/PRODUCT_IMAGE_ID
ProductSet
CreateProductSet
- PRODUCT_SET_ID=מזהה קבוצת המוצרים שלך
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{}' https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets?retail_product_set_id=PRODUCT_SET_ID
ListProductSet
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets
GetProductSet
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID
AddProductsToProductSet
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID:add \
-d '{"product_ids": "PRODUCT_ID"}'
RemoveProductsFromProductSet
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID:remove \
-d '{"product_ids": "PRODUCT_ID"}'
DeleteProductSet
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID
ProductRecognitionIndex
יצירת ProductRecognitionIndex
יש שתי דרכים ליצור ProductRecognitionIndex: מ-Catalog, שבו נעשה שימוש בכל מה שכלול בקטלוג הזה, או מ-ProductSet, שבו נעשה שימוש רק במוצרים ובתמונות המוצרים המשויכים.
- INDEX_ID=מזהה האינדקס שלך
- COVERAGE_CSV_OUTPUT_DIRECTORY=<Cloud Storage location of the directory where index coverage file will be written to
# Create from Catalog
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes?retail_product_recognition_index_id=INDEX_ID
# Create from Catalog and output index coverage CSV file to a Cloud Storage directory.
# This API method is especially useful when you want to understand the
# actual number of images used to construct the index per imported GTIN, and
# the image can be sourced from the Google Product database, your own importing,
# and other means (such as with the Google Data Labeling service.
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" "https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes?retail_product_recognition_index_id=INDEX_ID&coverage_output.output_uri_prefix=COVERAGE_CSV_OUTPUT_DIRECTORY"
# Create from ProductSet, by adding the following to the previous Curl command
-d '{"retail_product_set": "projects/PROJECT_ID/locations/us-central1/retailCatalogs/'CATALOG_ID'/retailProductSets/PRODUCT_SET_ID"}'
Get ProductRecognitionIndex
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID
List ProductRecognitionIndex
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes
מחיקת ProductRecognitionIndex
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID
נקודת קצה (endpoint)
יצירת נקודת קצה
- ENDPOINT_ID=מזהה נקודת הקצה
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints?retail_endpoint_id=ENDPOINT_ID -d '{
"productRecognitionConfig": {
"recognitionConfidenceThreshold": 0.4
}
}'
DeployProductRecognitionIndex
אפשר לפרוס נקודת קצה רק עם ProductRecognitionIndex אחד, אבל אפשר לפרוס ProductRecognitionIndex אחד לכמה נקודות קצה.
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID:deployRetailProductRecognitionIndex \
-d '{
"retail_product_recognition_index": "projects/PROJECT_ID/locations/us-central1/retailCatalogs/'CATALOG_ID'/retailProductRecognitionIndexes/INDEX_ID"
}'
GetEndpoint
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID
ListEndpoints
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints
UndeployProductRecognitionIndex
הסרת הפריסה תסיר רק את ProductRecognitionIndex שנפרס מנקודת הקצה הנוכחית שקוראת ל-API, ולא תשפיע על נקודות קצה אחרות אם ProductRecognitionIndex הזה נפרס גם בהן.
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID:undeployRetailProductRecognitionIndex
DeleteEndpoint
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID
ניתוח היסק ב-Batch (זיהוי מוצרים)
קובץ קלט לדוגמה בכתובת gs://my-bucket/input-file.csv:
gs://my-bucket/my-image1.jpg
gs://my-bucket/my-image2.jpg
gs://my-bucket/my-image3.jpg
- INPUT_FILE_URI=Cloud Storage uri of your input file> כל שורה בקובץ הקלט היא רק Cloud Storage uri של תמונה לעיבוד, לדוגמה, gs://my-bucket/my-image.jpg
- OUTPUT_URI_PREFIX=קידומת URI של Cloud Storage לקובץ תוצאות הפלט, לדוגמה, gs://my-bucket/my-output-dir
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID:batchAnalyze -d '{
"gcsSource": {
"uris": ["INPUT_FILE_URI"]
},
"features": [
{
"type": "TYPE_PRODUCT_RECOGNITION",
}
],
"outputGcsDestination": {
"outputUriPrefix": "OUTPUT_URI_PREFIX"
}
}'
"features": [
{
"type": "TYPE_PRODUCT_RECOGNITION",
"productRecognitionConfig": {
"recognitionConfidenceThreshold": 0.4
}
}
],
יש גם שדות נוספים שאפשר להגדיר ב-productRecognitionConfig, שהוא אובייקט RetailProductRecognitionConfig.
פרטים נוספים מופיעים בתיאור המשאב במאמרי העזרה של ה-API.
מאמרי העזרה של ה-API
משאב: projects.locations.retailCatalogs
ייצוג ב-JSON
{
"name": string,
"displayName": string,
"createTime": string,
"updateTime": string,
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
}
שדות
name |
מחרוזת |
פלט בלבד. שם המשאב של RetailCatalog |
|---|---|---|
displayName |
מחרוזת |
אופציונלי. השם המוצג של RetailCatalog. |
createTime |
מחרוזת (פורמט חותמת זמן) |
פלט בלבד. חותמת הזמן שבה נוצר קובץ RetailCatalog. |
updateTime |
מחרוזת (פורמט חותמת זמן) |
פלט בלבד. חותמת הזמן של העדכון. |
resourceState |
enum |
פלט בלבד. הסטטוס של RetailCatalog. |
labels |
map (key: string, value: string) |
התוויות עם המטא-נתונים שהמשתמש הגדיר כדי לארגן את RetailCatalog. המפתחות והערכים של התוויות יכולים להכיל עד 64 תווים (נקודות קוד של Unicode), שמורכבים רק מאותיות קטנות, ספרות, קווים תחתונים ומקפים. אפשר להשתמש בתווים בינלאומיים. מידע נוסף על תוויות ודוגמאות לתוויות זמין בכתובת https://goo.gl/xmQnxf. אובייקט שמכיל רשימה של צמדי מפתח: ערך. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
Method: projects.locations.retailCatalogs.create
בקשת HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs
פרמטרים של נתיב
| הורה | מחרוזת | חובה. מזהה ההורה. |
גוף הבקשה
גוף הבקשה מכיל מופע של RetailCatalog.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע חדש של RetailCatalog.
Method: projects.locations.retailCatalogs.get
בקשת HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}
פרמטרים של נתיב
| name | מחרוזת | חובה. RetailCatalog מזהה. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של RetailCatalog.
Method: projects.locations.retailCatalogs.list
בקשת HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs
פרמטרים של נתיב
| הורה | מחרוזת | חובה. מזהה ההורה. |
פרמטרים של שאילתה
| מסנ | מחרוזת | זה שינוי אופציונלי. ביטוי לסינון התוצאות של הבקשה. |
|---|---|---|
| pageToken | מחרוזת | זה שינוי אופציונלי. אסימון שמזהה דף תוצאות שהשרת צריך להחזיר. |
| pageSize | מספר שלם | זה שינוי אופציונלי. גודל הדף המבוקש. יכול להיות שהשרת יחזיר פחות פריטים ממה שביקשתם. אם לא מציינים ערך, השרת יבחר ברירת מחדל מתאימה. |
| orderBy | מחרוזת | זה שינוי אופציונלי. רשימה מופרדת בפסיקים של שדות למיון בסדר עולה. אחרי שם השדה, כותבים desc כדי למיין בסדר יורד. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה מצליחה, גוף התגובה מכיל נתונים במבנה הבא: ייצוג JSON
{
"retailCatalogs": [
{
object (RetailCatalog)
}
],
"nextPageToken": string
}
Method: projects.locations.retailCatalogs.delete
בקשת HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}
פרמטרים של נתיב
| name | מחרוזת | חובה. RetailCatalog מזהה. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של Operation.
Method: projects.locations.retailCatalogs.importRetailProducts
בקשת HTTP
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}:importRetailProducts
פרמטרים של נתיב
| name | מחרוזת | חובה. RetailCatalog שם המשאב. |
גוף הבקשה
ייצוג ב-JSON
{
"gcsSource": { object(GcsSource) },
"format": enum(Format)
}
שדות
| gcsSource | אובייקט | חובה. המיקום ב-Cloud Storage של תוכן הקלט.
אפשר לספק כמה מיקומי קלט. התוכן של כל מיקומי הקלט יובא באצווה אחת. סיומות קבצים נתמכות: 1.
קובץ JSONL. כל שורה היא בפורמט JSON של RetailProductIoFormat. 2. קובץ TXT. כל שורה היא מספר GTIN של מוצר שרוצים לייבא. |
| פורמט | enum | חובה. פורמט הקובץ לייבוא. |
פורמט ערכי ENUM
| FORMAT_UNSPECIFIED | אין להשתמש. |
|---|---|
| FORMAT_TXT | בפורמט TXT. |
| FORMAT_JSONL | פורמט JSONL. |
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של Operation.
משאב: projects.locations.retailProducts
ייצוג ב-JSON
{
"name": string,
"gtins": [string],
"normalizedGtins": [string],
"thirdPartyIds": [ { object(ThirdPartyId) }],
"locale": string,
"brand": string,
"title": string,
"productUri": string,
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
שדות
name |
מחרוזת |
פלט בלבד. שם המשאב של RetailProductImage |
|---|---|---|
displayName |
מחרוזת |
אופציונלי. השם המוצג של תמונת המוצר הקמעונאי. |
sourceType |
enum |
אופציונלי. סוג המקור |
gcsUri |
string |
אופציונלי. מיקום ב-Cloud Storage של RetailProductImage. צריך להגדיר את המאפיין הזה, אלא אם התמונה מסופקת על ידי Google, למשל, כשסוג המקור הוא SOURCE_TYPE_GOOGLE. |
resourceState |
enum |
פלט בלבד. המצב של RetailProductImage. |
labels |
map (key: string, value: string) |
התוויות עם המטא-נתונים שהוגדרו על ידי המשתמש כדי לארגן את RetailProductImage. המפתחות והערכים של התוויות יכולים להכיל עד 64 תווים (נקודות קוד של Unicode), שמורכבים רק מאותיות קטנות, ספרות, קווים תחתונים ומקפים. אפשר להשתמש בתווים בינלאומיים. מידע נוסף על תוויות ודוגמאות לתוויות זמין בכתובת https://goo.gl/xmQnxf. אובייקט שמכיל רשימה של צמדי מפתח: ערך. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
string (פורמט Timestamp) |
פלט בלבד. חותמת הזמן של היצירה. |
updateTime |
string (Timestamp format) |
פלט בלבד. חותמת הזמן של העדכון. |
RetailThirdPartyId מצגת JSON
{
"id": string,
"owner": string
}
שדות
| id | מחרוזת | מזהה צד שלישי שבו משתמש הקמעונאי או היצרן (לדוגמה, מק"ט או קוד MPN). |
| בעלים | מחרוזת | הישות ש 'בבעלותה' המזהה של הצד השלישי, למשל היצרן או הקמעונאי שמוכר את המוצר הזה. |
Method: projects.locations.retailCatalogs.retailProducts.create
בקשת HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts
פרמטרים של נתיב
| הורה | מחרוזת | חובה. מזהה ההורה. |
גוף הבקשה
גוף הבקשה מכיל מופע של RetailProduct.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע חדש של RetailProduct.
Method: projects.locations.retailCatalogs.retailProducts.get
בקשת HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*
פרמטרים של נתיב
| name | מחרוזת | חובה. RetailProduct מזהה. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של RetailProduct.
Method: projects.locations.retailCatalogs.retailProducts.list
בקשת HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts
פרמטרים של נתיב
| הורה | מחרוזת | חובה. מזהה ההורה. |
פרמטרים של שאילתה
| מסנ | מחרוזת | זה שינוי אופציונלי. ביטוי לסינון התוצאות של הבקשה. |
|---|---|---|
| pageToken | מחרוזת | זה שינוי אופציונלי. אסימון שמזהה דף תוצאות שהשרת צריך להחזיר. |
| pageSize | מספר שלם | זה שינוי אופציונלי. גודל הדף המבוקש. יכול להיות שהשרת יחזיר פחות פריטים ממה שביקשתם. אם לא מציינים ערך, השרת יבחר ברירת מחדל מתאימה. |
| orderBy | מחרוזת | זה שינוי אופציונלי. רשימה מופרדת בפסיקים של שדות למיון בסדר עולה. אחרי שם השדה, כותבים desc כדי למיין בסדר יורד. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה מצליחה, גוף התגובה מכיל נתונים במבנה הבא: ייצוג JSON
{
"retailProducts": [
{
object (RetailProducts)
}
],
"nextPageToken": string
}
Method: projects.locations.retailCatalogs.retailProducts.delete
בקשת HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*
פרמטרים של נתיב
| name | מחרוזת | חובה. RetailProduct מזהה. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יהיה ריק.
משאב: projects.locations.retailProductImages
ייצוג ב-JSON
{
"name": string,
"displayName": string,
"sourceType": enum(SourceType),
"gcsUri": string,
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
שדות
name |
מחרוזת |
פלט בלבד. שם המשאב של RetailProductImage |
|---|---|---|
displayName |
מחרוזת |
אופציונלי. השם המוצג של תמונת המוצר הקמעונאי. |
sourceType |
enum |
אופציונלי. סוג המקור |
gcsUri |
string |
אופציונלי. מיקום ב-Cloud Storage של RetailProductImage. צריך להגדיר את המאפיין הזה, אלא אם התמונה מסופקת על ידי Google, למשל, כשסוג המקור הוא SOURCE_TYPE_GOOGLE. |
resourceState |
enum |
פלט בלבד. המצב של RetailProductImage. |
labels |
map (key: string, value: string) |
התוויות עם המטא-נתונים שהוגדרו על ידי המשתמש כדי לארגן את RetailProductImage. המפתחות והערכים של התוויות יכולים להכיל עד 64 תווים (נקודות קוד של Unicode), שמורכבים רק מאותיות קטנות, ספרות, קווים תחתונים ומקפים. אפשר להשתמש בתווים בינלאומיים. מידע נוסף על תוויות ודוגמאות לתוויות זמין בכתובת https://goo.gl/xmQnxf. אובייקט שמכיל רשימה של צמדי מפתח: ערך. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
מחרוזת (פורמט חותמת זמן) |
פלט בלבד. חותמת הזמן של היצירה. |
updateTime |
מחרוזת (פורמט חותמת זמן) |
פלט בלבד. חותמת הזמן של העדכון. |
ערכי הטיפוס בן המנייה (enum) SourceType
| SOURCE_TYPE_UNSPECIFIED | מקור נתונים לא ידוע. אין להשתמש. |
|---|---|
| SOURCE_TYPE_FIXED_CAMERA | התמונה צולמה ממצלמה קבועה. |
| SOURCE_TYPE_HAND_HELD_CAMERA | התמונה צולמה במצלמה ידנית. |
| SOURCE_TYPE_CRAWLED | התמונה נסרקת מהאינטרנט. |
| SOURCE_TYPE_SYSTEM_GENERATED | התמונה נחתכה מתמונה מקורית עם תיוג אנושי. |
Method: projects.locations.retailCatalogs.retailProducts.retailProductImages.create
בקשת HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*/retailProducts/*}/retailProductImages
פרמטרים של נתיב
| הורה | מחרוזת | חובה. מזהה ההורה. |
גוף הבקשה
גוף הבקשה מכיל מופע של RetailProductImage.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע חדש של RetailProductImage.
Method: projects.locations.retailCatalogs.retailProducts.retailProductImages.get
בקשת HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*
פרמטרים של נתיב
| name | מחרוזת | חובה. RetailProductImage מזהה. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של RetailProductImage.
Method: projects.locations.retailCatalogs.retailProducts.retailProductImages.list
בקשת HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*/retailProducts/*}/retailProductImages
פרמטרים של נתיב
| הורה | מחרוזת | חובה. מזהה ההורה. |
פרמטרים של שאילתה
| מסנ | מחרוזת | זה שינוי אופציונלי. ביטוי לסינון התוצאות של הבקשה. |
|---|---|---|
| pageToken | מחרוזת | זה שינוי אופציונלי. אסימון שמזהה דף תוצאות שהשרת צריך להחזיר. |
| pageSize | מספר שלם | זה שינוי אופציונלי. גודל הדף המבוקש. יכול להיות שהשרת יחזיר פחות פריטים ממה שביקשתם. אם לא מציינים ערך, השרת יבחר ברירת מחדל מתאימה. |
| orderBy | מחרוזת | זה שינוי אופציונלי. רשימה מופרדת בפסיקים של שדות למיון בסדר עולה. אחרי שם השדה, כותבים desc כדי למיין בסדר יורד. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל נתונים במבנה הבא:
ייצוג ב-JSON
{
"retailProductImages": [
{
object (RetailProductImages)
}
],
"nextPageToken": string
}
Method: projects.locations.retailCatalogs.retailProducts.retailProductImages.delete
בקשת HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*
פרמטרים של נתיב
| name | מחרוזת | חובה. RetailProductImage מזהה. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יהיה ריק.
משאב: projects.locations.retailCatalogs.retailProductSets
ייצוג ב-JSON
{
"name": string,
"displayName": string,
"retailProductIds": [string],
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
שדות
name |
מחרוזת |
פלט בלבד. שם המשאב של RetailProductSet |
|---|---|---|
displayName |
מחרוזת |
אופציונלי. השם המוצג של קבוצת מוצרים קמעונאיים. |
retailProductIds [] |
מחרוזת |
פלט בלבד. מזהי משאבים של מוצרים ששייכים ל-RetailProductSet הזה. המוצרים ב-RetailProductSet צריכים להיות באותו קטלוג. |
resourceState |
enum |
פלט בלבד. המצב של RetailProductSet. |
labels |
map (key: string, value: string) |
התוויות עם המטא-נתונים שהוגדרו על ידי המשתמש כדי לארגן את RetailProductSet. המפתחות והערכים של התוויות יכולים להכיל עד 64 תווים (נקודות קוד של Unicode), שמורכבים רק מאותיות קטנות, ספרות, קווים תחתונים ומקפים. אפשר להשתמש בתווים בינלאומיים. מידע נוסף על תוויות ודוגמאות לתוויות זמין בכתובת https://goo.gl/xmQnxf. אובייקט שמכיל רשימה של צמדי מפתח: ערך. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
string (Timestamp format) |
פלט בלבד. חותמת הזמן של היצירה. |
updateTime |
string (Timestamp format) |
פלט בלבד. חותמת הזמן של העדכון. |
Method: projects.locations.retailCatalogs.retailProductSets.create
בקשת HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets
פרמטרים של נתיב
| הורה | מחרוזת | חובה. מזהה ההורה. |
גוף הבקשה
גוף הבקשה מכיל מופע של RetailProductSet.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע חדש של RetailProductSet.
Method: projects.locations.retailCatalogs.retailProductSets.get
בקשת HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*
פרמטרים של נתיב
| name | מחרוזת | חובה. מזהה של קבוצת מוצרים קמעונאיים. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה בהצלחה, גוף התגובה יכיל מופע של RetailProductSet.
Method: projects.locations.retailCatalogs.retailProductSets.list
בקשת HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets
פרמטרים של נתיב
| הורה | מחרוזת | חובה. מזהה ההורה. |
פרמטרים של שאילתה
| מסנ | מחרוזת | זה שינוי אופציונלי. ביטוי לסינון התוצאות של הבקשה. |
|---|---|---|
| pageToken | מחרוזת | זה שינוי אופציונלי. אסימון שמזהה דף תוצאות שהשרת צריך להחזיר. |
| pageSize | מספר שלם | זה שינוי אופציונלי. גודל הדף המבוקש. יכול להיות שהשרת יחזיר פחות פריטים ממה שביקשתם. אם לא מציינים ערך, השרת יבחר ברירת מחדל מתאימה. |
| orderBy | מחרוזת | זה שינוי אופציונלי. רשימה מופרדת בפסיקים של שדות למיון בסדר עולה. אחרי שם השדה, כותבים desc כדי למיין בסדר יורד. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל נתונים במבנה הבא:
ייצוג ב-JSON
{
"retailProductSets": [
{
object (RetailProductSets)
}
],
"nextPageToken": string
}
Method: projects.locations.retailCatalogs.retailProductSets.delete
בקשת HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*
פרמטרים של נתיב
| name | מחרוזת | חובה. מזהה של קבוצת מוצרים קמעונאיים. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יהיה ריק.
Method: projects.locations.retailCatalogs.retailProductSets.add
בקשת HTTP
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*}:remove
פרמטרים של נתיב
| name | מחרוזת | חובה. שם המשאב RetailProductSet. |
גוף הבקשה
ייצוג ב-JSON
{
"productIds": [string],
"productFilter": string
}
שדות
productIds[ ] |
string |
מזהה המשאב של RetailProducts שרוצים להוסיף. כולם צריכים להיות שייכים לאותו RetailCatalog כמו RetailProductSet היעד שצוין. אפשר לציין עד 200 מזהים של מוצרים קמעונאיים בבקשה אחת. אי אפשר להשתמש בו יחד עם productFilter. |
|---|---|---|
productFilter |
string |
מסנן רגיל שיוחל על כל RetailProducts ב-RetailCatalog של ההורה, בחירת פריטים שעומדים בתנאי המסנן והוספתם ל-RetailProductSet. אי אפשר להשתמש בו יחד עם product_ids. מסננים נתמכים: https://google.aip.dev/160 |
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של Operation.
Method: projects.locations.retailCatalogs.retailProductSets.remove
בקשת HTTP
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*}:add
פרמטרים של נתיב
| name | מחרוזת | חובה. שם המשאב RetailProductSet. |
גוף הבקשה
ייצוג ב-JSON
{
"productIds": [string],
"productFilter": string
}
שדות
productIds[ ] |
string |
מזהי המשאבים של מוצרי הקמעונאות שרוצים להסיר. אם המוצרים הקמעונאיים שצוינו לא שייכים לקבוצת המוצרים הקמעונאיים הזו, המערכת תתעלם מהם. אפשר לציין עד 200 מזהים של מוצרים קמעונאיים בבקשה אחת. אי אפשר להשתמש בו יחד עם products_filter. |
|---|---|---|
productFilter |
string |
מסנן רגיל שיוחל על כל RetailProducts ב-RetailProductSet שצוין, יבחר פריטים שעומדים בתנאי הסינון ויסיר אותם מ-RetailProductSet. אי אפשר להשתמש בו יחד עם product_ids. מסננים נתמכים:https://google.aip.dev/160 |
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של Operation.
משאב: projects.locations.retailCatalogs.retailProductRecognitionIndexes
ייצוג ב-JSON
{
"name": string,
"displayName": string,
"description": string,
"retailProductSet": [string],
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
שדות
name |
מחרוזת |
פלט בלבד. שם המשאב של משאב RetailProductRecognitionIndex. |
|---|---|---|
displayName |
מחרוזת |
אופציונלי. השם המוצג של RetailProductRecognitionIndex. |
תיאור |
מחרוזת |
אופציונלי. תיאור של RetailProductRecognitionIndex. |
retailProductSet[] |
string |
אופציונלי. שם המשאב של RetailProductSet שבו רוצים להשתמש ליצירת המשאב הזה. אם המאפיין הזה מוגדר, הוא יכיל רק מוצרים ב-RetailProductSet שצוין. אם לא מגדירים את המאפיין, המערכת תשתמש בכל המוצרים בקטלוג האב. |
resourceState |
enum |
פלט בלבד. המצב של RetailProductRecognitionIndex. |
labels |
map (key: string, value: string) |
התוויות עם המטא-נתונים שהוגדרו על ידי המשתמש כדי לארגן את RetailProductRecognitionIndex. המפתחות והערכים של התוויות יכולים להכיל עד 64 תווים (נקודות קוד של Unicode), שמורכבים רק מאותיות קטנות, ספרות, קווים תחתונים ומקפים. אפשר להשתמש בתווים בינלאומיים. מידע נוסף על תוויות ודוגמאות לתוויות זמין בכתובת https://goo.gl/xmQnxf. אובייקט שמכיל רשימה של צמדי מפתח: ערך. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
מחרוזת (פורמט חותמת זמן) |
פלט בלבד. חותמת הזמן של היצירה. |
updateTime |
מחרוזת (פורמט חותמת זמן) |
פלט בלבד. חותמת הזמן של העדכון. |
Method: projects.locations.retailCatalogs.retailProductRecognitionIndexes.create
בקשת HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes
פרמטרים של נתיב
| הורה | מחרוזת | חובה. מזהה ההורה. |
גוף הבקשה
גוף הבקשה מכיל מופע של RetailProductRecognitionIndex.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע חדש של RetailProductRecognitionIndex.
Method: projects.locations.retailCatalogs.retailProductRecognitionIndexes.get
בקשת HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*
פרמטרים של נתיב
| name | מחרוזת | חובה. RetailProductRecognitionIndex מזהה. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של RetailProductRecognitionIndex.
Method: projects.locations.retailCatalogs.retailProductRecognitionIndexes.list
בקשת HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes
פרמטרים של נתיב
| הורה | מחרוזת | חובה. מזהה ההורה. |
פרמטרים של שאילתה
| מסנ | מחרוזת | זה שינוי אופציונלי. ביטוי לסינון התוצאות של הבקשה. |
|---|---|---|
| pageToken | מחרוזת | זה שינוי אופציונלי. אסימון שמזהה דף תוצאות שהשרת צריך להחזיר. |
| pageSize | מספר שלם | זה שינוי אופציונלי. גודל הדף המבוקש. יכול להיות שהשרת יחזיר פחות פריטים ממה שביקשתם. אם לא מציינים ערך, השרת יבחר ברירת מחדל מתאימה. |
| orderBy | מחרוזת | זה שינוי אופציונלי. רשימה מופרדת בפסיקים של שדות למיון בסדר עולה. אחרי שם השדה, כותבים desc כדי למיין בסדר יורד. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל נתונים במבנה הבא:
ייצוג ב-JSON
{
"retailProductRecognitionIndexes": [
{
object (RetailProductRecognitionIndex)
}
],
"nextPageToken": string
}
Method: projects.locations.retailCatalogs.retailProductRecognitionIndexes.delete
בקשת HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*
פרמטרים של נתיב
| name | מחרוזת | חובה. מזהה של ProductRecognitionIndex. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של Operation.
משאב: projects.locations.retailEndpoints
ייצוג ב-JSON
{
"name": string,
"displayName": string,
"description": string,
"deployedProductRecognitionIndex": string,
"resourceState": enum(RetailResourceState),
"productRecognitionConfig": { object(RetailProductRecognitionConfig) },
"tagRecognitionConfig": { object(RetailTagRecognitionConfig) },
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
שדות
name |
מחרוזת |
פלט בלבד. שם המשאב של משאב RetailEndpoint. |
|---|---|---|
displayName |
מחרוזת |
אופציונלי. השם המוצג של RetailEndpoint. |
תיאור |
מחרוזת |
אופציונלי. התיאור של RetailEndpoint. |
deployedProductRecognitionIndex |
מחרוזת |
פלט בלבד. שם המשאב של ProductRecognitionIndex שנפרס ב-RetailEndpoint הזה. |
productRecognitionConfig |
object |
אופציונלי. הגדרות לזיהוי מוצרים. |
tagRecognitionConfig |
object |
אופציונלי. הגדרות לזיהוי תגים. |
resourceState |
enum |
פלט בלבד. המצב של RetailProductRecognitionIndex. |
labels |
map (key: string, value: string) |
התוויות עם המטא-נתונים שהוגדרו על ידי המשתמש כדי לארגן את RetailProductRecognitionIndex. המפתחות והערכים של התוויות יכולים להכיל עד 64 תווים (נקודות קוד של Unicode), שמורכבים רק מאותיות קטנות, ספרות, קווים תחתונים ומקפים. אפשר להשתמש בתווים בינלאומיים. מידע נוסף על תוויות ודוגמאות לתוויות זמין בכתובת https://goo.gl/xmQnxf. אובייקט שמכיל רשימה של צמדי מפתח: ערך. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
מחרוזת (פורמט חותמת זמן) |
פלט בלבד. חותמת הזמן של היצירה. |
updateTime |
מחרוזת (פורמט חותמת זמן) |
פלט בלבד. חותמת הזמן של העדכון. |
RetailProductRecognitionConfig
ייצוג ב-JSON
{
"productDetectionModel": string,
"detectionConfidenceThreshold": float,
"recognitionConfidenceThreshold": float,
"additionalConfig": { object }
}
שדות
|
| productDetectionModel | מחרוזת | חובה. המודל שבו יש להשתמש כדי לזהות מוצרים בתמונות קלט. הערכים הנתמכים: builtin/stable (ברירת המחדל) או שם משאב של מודל Vertex AI. |
|---|---|---|
| detectionConfidenceThreshold | מספר ממשי (float) | זה שינוי אופציונלי. סף המהימנות לסינון תוצאות הזיהוי. אם לא מגדירים את המדיניות, המערכת תשתמש בערך ברירת מחדל. |
| recognitionConfidenceThreshold | מספר ממשי (float) | זה שינוי אופציונלי. סף המהימנות לסינון תוצאות הזיהוי. אם לא מגדירים את המדיניות, המערכת תשתמש בערך ברירת מחדל. |
| additionalConfig | אובייקט (פורמט Struct) | זה שינוי אופציונלי. הגדרות נוספות לזיהוי מוצרים. |
RetailTagRecognitionConfig
ייצוג ב-JSON
{
"tagDetectionModel": string,
"tagParsingModel": string,
"detectionConfidenceThreshold": float,
"parsingConfidenceThreshold": float,
"additionalConfig": { object }
}
שדות
| tagDetectionModel | מחרוזת | חובה. מודל שישמש לזיהוי תגים בתמונות קלט. ערכים נתמכים: משאב מודל של Vertex AI. |
|---|---|---|
| tagParsingModel | מחרוזת | חובה. מודל לניתוח טקסט בתגים שזוהו. ערכים נתמכים: משאב מודל של Vertex AI. |
| detectionConfidenceThreshold | מספר ממשי (float) | זה שינוי אופציונלי. סף המהימנות לסינון תוצאות הזיהוי. אם לא מגדירים את המדיניות, המערכת תשתמש בערך ברירת מחדל. |
| parsingConfidenceThreshold | מספר ממשי (float) | זה שינוי אופציונלי. סף המהימנות לסינון תוצאות של ניתוח טקסט. אם לא מגדירים את המדיניות, המערכת תשתמש בערך ברירת מחדל. |
| additionalConfig | אובייקט (פורמט Struct) | זה שינוי אופציונלי. הגדרות נוספות לזיהוי תגים. |
Method: projects.locations.retailEndpoints.create
בקשת HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*}/retailEndpoints
פרמטרים של נתיב
| הורה | מחרוזת | חובה. מזהה ההורה. |
גוף הבקשה
גוף הבקשה מכיל מופע של RetailEndpoint.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע חדש של RetailEndpoint.
Method: projects.locations.retailEndpoints.get
בקשת HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*}
פרמטרים של נתיב
| name | מחרוזת | חובה. RetailEndpoint מזהה. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של RetailEndpoint.
Method: projects.locations.retailEndpoints.list
בקשת HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*}/retailEndpoints
פרמטרים של נתיב
| הורה | מחרוזת | חובה. מזהה ההורה. |
פרמטרים של שאילתה
| מסנ | מחרוזת | זה שינוי אופציונלי. ביטוי לסינון התוצאות של הבקשה. |
|---|---|---|
| pageToken | מחרוזת | זה שינוי אופציונלי. אסימון שמזהה דף תוצאות שהשרת צריך להחזיר. |
| pageSize | מספר שלם | זה שינוי אופציונלי. גודל הדף המבוקש. יכול להיות שהשרת יחזיר פחות פריטים ממה שביקשתם. אם לא מציינים ערך, השרת יבחר ברירת מחדל מתאימה. |
| orderBy | מחרוזת | זה שינוי אופציונלי. רשימה מופרדת בפסיקים של שדות למיון בסדר עולה. אחרי שם השדה, כותבים desc כדי למיין בסדר יורד. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל נתונים במבנה הבא:
ייצוג ב-JSON
{
"retailEndpoints": [
{
object (RetailEndpoint)
}
],
"nextPageToken": string
}
Method: projects.locations.retailEndpoints.delete
בקשת HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*
פרמטרים של נתיב
| name | מחרוזת | חובה. RetailEndpoint מזהה. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יהיה ריק.
Method: projects.locations.retailEndpoints.deployRetailProductRecognitionIndex
בקשת HTTP
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:deployRetailProductRecognitionIndex
פרמטרים של נתיב
| retailEndpoint | מחרוזת | חובה. שם המשאב של משאב RetailEndpoint שאליו נפרס RetailProductRecognitionIndex. |
גוף הבקשה
ייצוג ב-JSON
{
"retailProductRecognitionIndex": string,
}
שדות
| retailProductRecognitionIndex | מחרוזת | חובה. שם המשאב של
RetailProductRecognitionIndex
לפריסה. |
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של Operation.
Method: projects.locations.retailEndpoints.undeployRetailProductRecognitionIndex
בקשת HTTP
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:undeployRetailProductRecognitionIndex
פרמטרים של נתיב
| retailEndpoint | מחרוזת | חובה. שם המשאב של RetailEndpoint
המשאב שעליו תתבצע ביטול הפריסה. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של Operation.
Method: projects.locations.retailEndpoints.batchAnalyze
בקשת HTTP
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:batchAnalyze
פרמטרים של נתיב
| retailEndpoint | מחרוזת | חובה. שם המשאב של RetailEndpoint שמשמש להצגת בקשת ההסקה. |
גוף הבקשה
ייצוג ב-JSON
{
"gcsSource": string,
"features": { object(Feature) },
// Union field output can be only one of the following:
"outputGcsDestination": string,
"corpus": string,
// End of list of possible types for union field output.
"bigqueryTable": string
}
שדות
| gcsSource | מחרוזת | חובה. המיקום ב-Cloud Storage של תוכן הקלט. אפשר לספק כמה מיקומי קלט. התוכן של כל מיקומי הקלט יעובד באצווה אחת. תוכן נתמך: קובץ TXT, שכל שורה בו היא הנתיב המלא לתמונה. אפשר לתמוך בעד 50,000 תמונות בבקשה אחת. |
|---|---|---|
| outputGcsDestination | מחרוזת | זה שינוי אופציונלי. המיקום ב-Cloud Storage של הספרייה שאליה ייכתב הפלט. |
| קורפוס | מחרוזת | זה שינוי אופציונלי. שם המשאב של מאגר התמונות. עדיין אין תמיכה. |
| bigqueryTable | מחרוזת | זה שינוי אופציונלי. שם המשאב של טבלת BigQuery לייצוא הערות. בפורמט 'projects/*/datasets/*/tables/*'. אם תגדירו את האפשרות הזו, גם הערות שנוצרו מהסקת מסקנות של ML ייוצאו לטבלת BigQuery שצוינה. עדיין אין תמיכה. |
| features[] | אובייקט | חובה. סוג ההסקה של למידת המכונה שרוצים לבצע. |
תכונה
ייצוג ב-JSON
{
"type": enum(Type),
"productRecognitionConfig": object(RetailProductRecognitionConfig),
"tagRecognitionConfig": object(RetailTagRecognitionConfig)
}
שדות
| סוג | enum | חובה. סוג התכונה. |
|---|---|---|
| productRecognitionConfig | אובייקט | זה שינוי אופציונלי. שינויים שחלים על כל בקשה בנפרד בתכונה לזיהוי מוצרים. הוא יעיל רק אם הסוג מוגדר כ-TYPE_PRODUCT_RECOGNITION. |
| tagRecognitionConfig | אובייקט | זה שינוי אופציונלי. לכל בקשה שינויים בתכונה של זיהוי תגים. היא יעילה רק אם הסוג מוגדר כ-TYPE_TAG_RECOGNITION. |
גוף התגובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של Operation.
סוגים
GcsSource
ייצוג ב-JSON
{
"uris": [string]
}
שדות
| uris[] | מחרוזת | חובה. הפניות לנתיבים ב-Cloud Storage. |
סוג
ערכים של טיפוסים בני מנייה (enum)
| TYPE_UNSPECIFIED | ערך ברירת המחדל. אין להשתמש. |
|---|---|
| TYPE_PRODUCT_RECOGNITION | זיהוי מוצרים. חובה להשתמש ב-RetailEndpoint עם RetailProductRecognitionIndex שהוטמעו. |
| TYPE_TAG_RECOGNITION | זיהוי וניתוח של תגים. חובה להשתמש ב-RetailEndpoint עם RetailTagRecognitionConfig. |
RetailProductIoFormat
ייצוג ב-JSON
{
"retailProduct": { object(RetailProduct) },
"retailProductImages": [ { object(RetailProductImage) }]
}
שדות
| retailProduct | אובייקט | חובה. RetailProduct לייבא |
|---|---|---|
| retailProductImages[ ] | אובייקט | אופציונלי. RetailProductImages of the
given RetailProduct to be imported. |
RetailResourceState
ערכים של טיפוסים בני מנייה (enum)
| RETAIL_RESOURCE_STATE_UNSPECIFIED | ערך ברירת המחדל. אין להשתמש. |
|---|---|
| RETAIL_RESOURCE_STATE_CREATING | המצב הוא 'יצירה'. |
| RETAIL_RESOURCE_STATE_CREATED | המדינה נוצרה. |
| RETAIL_RESOURCE_STATE_UPDATING | מתבצע עדכון של המצב. |
| RETAIL_RESOURCE_STATE_DELETED | המצב הוא 'נמחקה'. |
| RETAIL_RESOURCE_STATE_ERROR | שגיאת מצב. |