מודל זיהוי המוצר עוזר לכם לזהות ולהבין איזה מוצר מופיע בתמונה שסיפקתם. התמונה צריכה להכיל רק פריט מוצר אחד שאתם רוצים לזהות.
המודל הזה יכול לשמש כרכיב AI ראשי לניתוח ולפרשנות של נתוני תמונות מוצרים, שאפשר לצלם בחנויות קמעונאיות.
תרחישים לדוגמה לשימוש בכלי לזיהוי תגים ובכלי לזיהוי מוצרים
המודלים Product Recognizer ו-Tag Recognizer יכולים לשמש כאבני הבניין העיקריות של AI לניתוח ולפרשנות של נתוני תמונות שקשורים למוצרים ולתגיות, שאולי צילמתם בחנויות קמעונאיות.
המודלים של כלי זיהוי המוצרים וכלי זיהוי התגים משלבים כמה יכולות ליבה של Google בתחום ה-AI, כולל יכולות של בניית מודלים וניתוח נתונים. המודלים האלה עוזרים לקמעונאים ו/או לשותפים טכניים לפתור בעיות מרכזיות בהבנת נתוני התמונות של המוצרים ותגי המחיר, כולל:
- זיהוי, כלומר הבנה איזה מוצר מופיע בתמונה.
- זיהוי וניתוח של התג (לדוגמה, price-tag או כל תג אחר של תווית טקסט) בהתאם לסכימת חילוץ של ישות מסוג צמד מפתח/ערך שהוגדרה על ידי המשתמש.
בפרט, נכללים כמה מודלים ייחודיים של Google AI כדי לתמוך בפתרון בעיות בתרחישי השימוש האלה, כמו
- מודל להטמעה חזותית של תמונות ממוזערות של מוצרים, שממיר תמונה ממוזערת של מוצר לייצוג של מרחב תכונות מספרי.
- מודל OCR של Google, ששולף את כל הטקסט שמופיע בתמונה.
- מודל לחילוץ ישויות של Google (שאפשר להתאים אישית), שהופך את הטקסטים הגולמיים לישויות בעלות שם שהן צמדים של מפתח/ערך שהוגדרו על ידי המשתמש.
בנוסף למודלים של AI מבית Google, מזהה המוצרים מסתמך גם על מסד הנתונים הגדול של Google עם פרטי מוצרים. נתוני המוצרים במסד הנתונים הזה כוללים את מזהה ה-GTIN או קוד מוצר אוניברסלי (UPC) של המוצר, המותג, השם והתיאורים בשפות שונות, הלוגו ותמונות עם וריאציות שונות של האריזה. מסד הנתונים של המוצרים, עם מודל ההטמעה החזותית של התמונות הממוזערות של המוצרים שצוין קודם, מאפשר למודל לזיהוי מוצרים לזהות מוצרים רבים באופן מיידי.
שתי התכונות העיקריות של ה-AI הן מודלים של זיהוי מוצרים וזיהוי תגים.
פונקציונליות של הכלי לזיהוי מוצרים
המודל הזה מזהה את הזהות של מוצר בודד ברמת מספר הפריט המסחרי הגלובלי (GTIN) או ברמת קוד המוצר האוניברסלי (UPC). כדי לאפשר פתרון בעיות בתרחישי השימוש האלה, שולבו ב-Product Recognizer כמה מודלים של 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).
נקודת קצה (endpoint): מיקום שכולל את כל ההגדרות הנדרשות כדי לבצע הסקה של זיהוי מוצרים או זיהוי תגים. כדי להשתמש בזיהוי מוצרים, צריך לפרוס 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=פעולת הפלט שלכם, לדוגמה, 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"
}'
הצגת רשימה של קטלוגים
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"}'
CreateProduct with Third-party ID
- 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"}'
קבלת 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
ניתוח מסקנות (זיהוי מוצרים) באצווה
קובץ קלט לדוגמה ב-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> כל שורה בקובץ הקלט היא רק URI של Cloud Storage של תמונה לעיבוד, לדוגמה, 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 |
מחרוזת (פורמט Timestamp) |
פלט בלבד. חותמת הזמן שבה נוצר קובץ RetailCatalog. |
updateTime |
מחרוזת (פורמט Timestamp) |
פלט בלבד. חותמת הזמן של העדכון. |
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) |
התוויות עם מטא-נתונים שהוגדרו על ידי המשתמש כדי לארגן את התמונה של מוצר קמעונאי. המפתחות והערכים של התוויות יכולים להכיל עד 64 תווים (נקודות קוד של Unicode), שמורכבים רק מאותיות קטנות, ספרות, קווים תחתונים ומקפים. אפשר להשתמש בתווים בינלאומיים. מידע נוסף על תוויות ודוגמאות לתוויות זמינים בכתובת https://goo.gl/xmQnxf. אובייקט שמכיל רשימה של צמדי מפתח:ערך. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
string (פורמט Timestamp) |
פלט בלבד. חותמת הזמן של היצירה. |
updateTime |
string (פורמט Timestamp) |
פלט בלבד. חותמת הזמן של העדכון. |
RetailThirdPartyId מצגת JSON
{
"id": string,
"owner": string
}
שדות
| id | מחרוזת | מזהה צד שלישי שבו משתמש הקמעונאי או היצרן (לדוגמה, מק"ט או קוד MPN). |
| בעלים | מחרוזת | הישות ש 'בבעלותה' המזהה של הצד השלישי, למשל היצרן או הקמעונאי שמוכר את המוצר הזה. |
שיטה: projects.locations.retailCatalogs.retailProducts.create
בקשת HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts
פרמטרים של נתיב
| הורה | מחרוזת | חובה. מזהה ההורה. |
גוף הבקשה
גוף הבקשה מכיל מופע של RetailProduct.
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע חדש של RetailProduct.
שיטה: 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) |
התוויות עם מטא-נתונים שהוגדרו על ידי המשתמש כדי לארגן את התמונה של מוצר קמעונאי. המפתחות והערכים של התוויות יכולים להכיל עד 64 תווים (נקודות קוד של Unicode), שמורכבים רק מאותיות קטנות, ספרות, קווים תחתונים ומקפים. אפשר להשתמש בתווים בינלאומיים. מידע נוסף על תוויות ודוגמאות לתוויות זמינים בכתובת https://goo.gl/xmQnxf. אובייקט שמכיל רשימה של צמדי מפתח: ערך. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
מחרוזת (פורמט Timestamp) |
פלט בלבד. חותמת הזמן של היצירה. |
updateTime |
מחרוזת (פורמט Timestamp) |
פלט בלבד. חותמת הזמן של העדכון. |
ערכי ה-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 |
מחרוזת |
אופציונלי. השם המוצג של RetailProductSet. |
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) |
פלט בלבד. חותמת הזמן של היצירה. |
updateTime |
string (פורמט Timestamp) |
פלט בלבד. חותמת הזמן של העדכון. |
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 | מחרוזת | חובה. מזהה של קבוצת מוצרים קמעונאיים. |
גוף הבקשה
גוף הבקשה צריך להיות ריק.
גוף התשובה
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יהיה ריק.
שיטה: 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 |
מסנן רגיל שיחול על כל מוצרי הקמעונאות בקטלוג הקמעונאי הראשי, בוחר פריטים שעומדים בתנאי המסנן ומוסיף אותם ל-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 |
מסנן רגיל שיחול על כל RetailProduct ב-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 |
מחרוזת (פורמט Timestamp) |
פלט בלבד. חותמת הזמן של היצירה. |
updateTime |
מחרוזת (פורמט Timestamp) |
פלט בלבד. חותמת הזמן של העדכון. |
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 |
אובייקט |
אופציונלי. הגדרות לזיהוי מוצרים. |
tagRecognitionConfig |
אובייקט |
אופציונלי. הגדרות לזיהוי תגים. |
resourceState |
enum |
פלט בלבד. המצב של RetailProductRecognitionIndex. |
labels |
map (key: string, value: string) |
התוויות עם מטא-נתונים שהוגדרו על ידי המשתמש כדי לארגן את RetailProductRecognitionIndex. המפתחות והערכים של התוויות יכולים להכיל עד 64 תווים (נקודות קוד של Unicode), שמורכבים רק מאותיות קטנות, ספרות, קווים תחתונים ומקפים. אפשר להשתמש בתווים בינלאומיים. מידע נוסף על תוויות ודוגמאות לתוויות זמינים בכתובת https://goo.gl/xmQnxf. אובייקט שמכיל רשימה של צמדי מפתח: ערך. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
מחרוזת (פורמט Timestamp) |
פלט בלבד. חותמת הזמן של היצירה. |
updateTime |
מחרוזת (פורמט Timestamp) |
פלט בלבד. חותמת הזמן של העדכון. |
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 של RetailProduct שרוצים לייבא. |
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 | שגיאת מצב. |