איך מתחילים לחפש מדיה
אתם יכולים ליצור במהירות אפליקציה מתקדמת לחיפוש מדיה. חיפוש המדיה מאפשר לקהלים שלכם לגלות תוכן, עם תוצאות באיכות של Google.
מידע כללי על חיפוש מבוסס סוכנים עבור מדיה זמין במאמר מבוא לחיפוש מדיה ולהמלצות.במדריך הזה למתחילים, נשתמש במערך הנתונים Movielens כדי להדגים איך להעלות את קטלוג תוכן המדיה שלכם לחיפוש מבוסס סוכנים. מערך הנתונים Movielens מכיל קטלוג של סרטים (מסמכים).
אחרי העלאת נתוני הסרט, יוצרים אפליקציית חיפוש ובודקים אותה באמצעות דף התצוגה המקדימה.
אם השלמתם את המדריך תחילת העבודה עם המלצות למדיה ועדיין יש לכם את מאגר הנתונים (השם המוצע הוא quickstart-media-data-store), אתם יכולים להשתמש בו במקום ליצור מאגר נתונים חדש. במקרה כזה, כדאי להתחיל את המדריך מהקטע יצירת אפליקציה לחיפוש מדיה.
הזמן המשוער להשלמת המדריך הזה: כשעה.
מטרות
- איך מייבאים מסמכי מדיה כדי ליצור מאגר נתוני מדיה.
- ליצור, להגדיר ולבדוק אפליקציית חיפוש.
לפני שממשיכים במדריך הזה, חשוב לוודא שביצעתם את השלבים שבקטע לפני שמתחילים.
לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Search (Discovery Engine), Cloud Storage, BigQuery APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Make sure that you have the following role or roles on the project: Discovery Engine Admin and BigQuery Admin.
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the email address for a Google Account.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Search (Discovery Engine), Cloud Storage, BigQuery APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Make sure that you have the following role or roles on the project: Discovery Engine Admin and BigQuery Admin.
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the email address for a Google Account.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
הכנת מערך הנתונים
הערה: אם השלמתם את המדריך תחילת העבודה עם המלצות למדיה ועדיין יש לכם את מאגר הנתונים (השם המוצע הואquickstart-media-data-store), אתם יכולים לדלג אל יצירת אפליקציה לחיפוש מדיה.
משתמשים ב-Cloud Shell כדי לייבא את מערך הנתונים של Movielens ולשנות את המבנה של מערך הנתונים עבור חיפוש מבוסס סוכנים למדיה.
פתיחת Cloud Shell
- פותחים את Google Cloud console.
- בוחרים את הפרויקט Google Cloud .
- רושמים את מזהה הפרויקט בכרטיס Project info בדף לוח הבקרה. תצטרכו את מזהה הפרויקט כדי לבצע את הפעולות הבאות.
לוחצים על הלחצן Activate Cloud Shell (הפעלת Cloud Shell) בחלק העליון של המסוף. בחלק התחתון של מסוףGoogle Cloud ייפתח סשן של Cloud Shell בתוך מסגרת חדשה, ותופיע הודעה של שורת הפקודה. במאמר הפעלת Cloud Shell מוסבר על דרכים נוספות להפעלת Cloud Shell.
ייבוא מערך הנתונים
מערך הנתונים של Movielens זמין בקטגוריה של Cloud Storage ציבורית כדי להקל על הייבוא.
מריצים את הפקודה הבאה עם מזהה הפרויקט כדי להגדיר את פרויקט ברירת המחדל לשורת הפקודה.
gcloud config set project PROJECT_IDיוצרים מערך נתונים ב-BigQuery:
bq mk movielensטעינת
movies.csvלתוך טבלתmoviesחדשה ב-BigQuery:bq load --skip_leading_rows=1 movielens.movies \ gs://cloud-samples-data/gen-app-builder/media-recommendations/movies.csv \ movieId:integer,title,genresטעינת
ratings.csvלתוך טבלתratingsחדשה ב-BigQuery:bq load --skip_leading_rows=1 movielens.ratings \ gs://cloud-samples-data/gen-app-builder/media-recommendations/ratings.csv \ userId:integer,movieId:integer,rating:float,time:timestamp
יצירת תצוגות מפורטות ב-BigQuery
בשלב הזה, משנים את המבנה של מערך הנתונים Movielens כך שיתאים לפורמט הצפוי של מאגרי נתונים של מדיה.
במדריך הזה, יוצרים אירועי משתמשים פיקטיביים view-item במהלך 90 הימים האחרונים מתוך דירוגים חיוביים (>= 4).
יוצרים תצוגה שממירה את הטבלה movies לסכימת
Document:bq mk --project_id=PROJECT_ID \ --use_legacy_sql=false \ --view ' WITH t AS ( SELECT CAST(movieId AS string) AS id, SUBSTR(title, 0, 128) AS title, SPLIT(genres, "|") AS categories FROM `PROJECT_ID.movielens.movies`) SELECT id, "default_schema" as schemaId, null as parentDocumentId, TO_JSON_STRING(STRUCT(title as title, categories as categories, CONCAT("http://mytestdomain.movie/content/", id) as uri, "2023-01-01T00:00:00Z" as available_time, "2033-01-01T00:00:00Z" as expire_time, "movie" as media_type)) as jsonData FROM t;' \ movielens.movies_viewעכשיו לתצוגה החדשה יש את הסכימה שממשק Discovery Engine API מצפה לה.
עוברים לדף BigQuery במסוף Google Cloud .
בחלונית Explorer, מרחיבים את שם הפרויקט, לוחצים על Datasets (מערכי נתונים), בוחרים את מערך הנתונים
movielensולוחצים עלmovies_viewכדי לפתוח את דף הסכימה של התצוגה הזו.לחלופין, בחלונית Explorer, בוחרים בכרטיסייה Classic explorer, מרחיבים את שם הפרויקט, מרחיבים את מערך הנתונים
movielensולוחצים עלmovies_viewכדי לפתוח את דף הסכימה של התצוגה הזו.
עוברים לכרטיסייה Table explorer.
בחלונית Generated query, לוחצים על הלחצן Copy to query. עורך השאילתות ייפתח.
לוחצים על הפעלה כדי לראות את נתוני הסרט בסקירה שיצרתם.
כדי ליצור אירועי משתמשים פיקטיביים מנתוני דירוג סרטים, מריצים את הפקודה הבאה ב-Cloud Shell:
bq mk --project_id=PROJECT_ID \ --use_legacy_sql=false \ --view ' WITH t AS ( SELECT MIN(UNIX_SECONDS(time)) AS old_start, MAX(UNIX_SECONDS(time)) AS old_end, UNIX_SECONDS(TIMESTAMP_SUB( CURRENT_TIMESTAMP(), INTERVAL 90 DAY)) AS new_start, UNIX_SECONDS(CURRENT_TIMESTAMP()) AS new_end FROM `PROJECT_ID.movielens.ratings`) SELECT CAST(userId AS STRING) AS userPseudoId, "view-item" AS eventType, FORMAT_TIMESTAMP("%Y-%m-%dT%X%Ez", TIMESTAMP_SECONDS(CAST( (t.new_start + (UNIX_SECONDS(time) - t.old_start) * (t.new_end - t.new_start) / (t.old_end - t.old_start)) AS int64))) AS eventTime, [STRUCT(movieId AS id, null AS name)] AS documents, FROM `PROJECT_ID.movielens.ratings`, t WHERE rating >= 4;' \ movielens.user_events
הפעלת חיפוש מבוסס סוכנים
נכנסים לדף AI Applications במסוף Google Cloud .
אופציונלי: לוחצים על אני רוצה לאפשר ל-Google לבצע דגימה סלקטיבית של קלט ותגובות של המודל.
לוחצים על המשך והפעלת ה-API.
יצירת אפליקציה לחיפוש מדיה
בקטע הזה מוסבר איך ליצור ולפרוס אפליקציה לחיפוש מדיה.
נכנסים לדף AI Applications במסוף Google Cloud .
לוחצים על
יצירת אפליקציה .בדף יצירת אפליקציה, בקטע חיפוש בקטלוג המדיה, לוחצים על יצירה.
בשדה Your app name, מזינים שם לאפליקציה, למשל
quickstart-media-search. מזהה האפליקציה מופיע מתחת לשם המנוע.לוחצים על Continue.
אם השלמתם את המדריך תחילת העבודה עם המלצות למדיה ועדיין יש לכם את מאגר הנתונים (השם המוצע הוא
quickstart-media-data-store), בוחרים אותו, לוחצים על יצירה ומדלגים אל תצוגה מקדימה של החיפוש.אם אין לכם מאגר נתונים שמכיל את מערך הנתונים movielens, יוצרים מאגר נתונים חדש ובוחרים אותו:
בדף מאגרי נתונים, לוחצים על יצירת מאגר נתונים.
מזינים שם לתצוגה של מאגר הנתונים, למשל
quickstart-media-data-store, ואז לוחצים על יצירה.בוחרים את מאגר הנתונים שיצרתם ולוחצים על יצירה כדי ליצור את האפליקציה. תועברו לדף בחירת מקור נתונים.
ייבוא נתונים
לאחר מכן, מייבאים את נתוני הסרטים ואירועי המשתמשים שפורמטו קודם.
ייבוא מסמכים
אם לא מועברים אוטומטית לדף בחירת מקור נתונים:
- פותחים את הכרטיסייה מסמכים.
- לוחצים על ייבוא נתונים.
בדף Select a data source (בחירת מקור נתונים), בוחרים באפשרות BigQuery.
מזינים את השם של התצוגה המפורטת ב-BigQuery
moviesשיצרתם ולוחצים על ייבוא.PROJECT_ID.movielens.movies_viewממתינים עד שכל המסמכים יובאו. התהליך אמור להימשך כ-15 דקות. אחרי ההשלמה, אמורים להיות 86537 מסמכים.
אפשר לבדוק את הסטטוס של פעולת הייבוא בכרטיסייה פעילות. כשהייבוא מסתיים, סטטוס פעולת הייבוא משתנה להושלם.
ייבוא אירועים ברמת המשתמש
פותחים את הכרטיסייה אירועים.
לוחצים על ייבוא אירועים.
בוחרים באפשרות BigQuery.
מזינים את השם של התצוגה המפורטת ב-BigQuery
user_eventsשיצרתם ולוחצים על ייבוא.PROJECT_ID.movielens.user_eventsאפשר לעבור לשלב הבא לפני שהאירועים יובאו, אבל תוצאות החיפוש עדיין לא יכללו את קבוצת הנתונים המלאה.
אפשר לבדוק את סטטוס הפעולה בכרטיסייה פעילות. התהליך נמשך כשעה כי מייבאים מיליוני שורות.
תצוגה מקדימה והגדרת חיפוש
בתפריט הניווט, לוחצים על
Configurations (הגדרות).בתיבה חיפוש כאן, מקלידים את שם הסרט, למשל 'שר הטבעות'.
שימו לב שתוצאות החיפוש רלוונטיות לשם הסרט שהוזן.
בדף הזה אפשר להתאים אישית את האופן שבו ווידג'ט החיפוש מציג את המידע על תוצאות החיפוש. מידע נוסף מופיע במאמר הגדרת התוצאות בווידג'ט החיפוש.
באפליקציות לחיפוש מדיה, אתם יכולים:
אחרי שמבצעים שינויים, לוחצים על שמירה ופרסום כדי לעדכן את הווידג'ט.
פריסת ווידג'ט החיפוש
בתפריט הניווט, לוחצים על שילוב.
מוודאים שהכרטיסייה ווידג'ט נבחרה.
בוחרים באפשרות מבוסס JWT או OAuth בתור סוג ההרשאה של הווידג'ט.
בשדה דומיין, מזינים את שם הדומיין של דף האינטרנט שבו רוצים להציב את הווידג'ט. לדוגמה, אם אתם רוצים להעתיק את הווידג'ט לדף האינטרנט
example.com/ai.html, צריך להזין אתexample.comכדומיין.לוחצים על הוספה ואז על שמירה.
מעתיקים את קטע הקוד שמופיע בקטע Copy the following code to your web application (העתקת הקוד הבא לאפליקציית האינטרנט).
בבסיס הקוד, יוצרים אסימון הרשאה.
כדי להעביר את אסימון ההרשאה לווידג'ט, משתמשים בקטע הקוד Set authorization token שמופיע בקטע העתקת הקוד הבא לאפליקציית האינטרנט ומחליפים את הטקסט
<JWT or OAuth token provided by you backend>באסימון ההרשאה.כדי לקבל עזרה בשילוב אפליקציית החיפוש באפליקציית האינטרנט, אפשר לעיין בדוגמאות הקוד במאמר קבלת תוצאות חיפוש.
הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:
אתם יכולים לעשות שימוש חוזר במאגר הנתונים שיצרתם עבור המלצות למדיה במדריך תחילת העבודה עם המלצות למדיה. מומלץ לנסות את המדריך הזה לפני שמבצעים את תהליך הניקוי הזה.
- כדי להימנע מחיובים מיותרים Google Cloud , כדאי להשתמש בGoogle Cloud console כדי למחוק את הפרויקט אם הוא לא נחוץ לכם.
- אם יצרתם פרויקט חדש כדי ללמוד על חיפוש מבוסס סוכנים ואתם כבר לא צריכים את הפרויקט, אפשר למחוק אותו.
- אם השתמשתם בפרויקט קיים Google Cloud , מחקו את המשאבים שיצרתם כדי להימנע מחיובים בחשבון. מידע נוסף זמין במאמרים בנושא מחיקת אפליקציה, מחיקת נתונים ממאגר נתונים ומחיקת מאגר נתונים.
- פועלים לפי השלבים שמפורטים במאמר השבתת התכונה 'חיפוש מבוסס סוכנים'.
אם יצרתם מערך נתונים ב-BigQuery, אתם צריכים למחוק אותו ב-Cloud Shell:
bq rm --recursive --dataset movielens