איך מתחילים לחפש מדיה

אתם יכולים ליצור במהירות אפליקציה מתקדמת לחיפוש מדיה. חיפוש המדיה מאפשר לקהלים שלכם לגלות תוכן, עם תוצאות באיכות של Google.

מידע כללי על חיפוש מבוסס סוכנים עבור מדיה זמין במאמר מבוא לחיפוש מדיה ולהמלצות.

במדריך הזה למתחילים, נשתמש במערך הנתונים Movielens כדי להדגים איך להעלות את קטלוג תוכן המדיה שלכם לחיפוש מבוסס סוכנים. מערך הנתונים Movielens מכיל קטלוג של סרטים (מסמכים).

אחרי העלאת נתוני הסרט, יוצרים אפליקציית חיפוש ובודקים אותה באמצעות דף התצוגה המקדימה.

אם השלמתם את המדריך תחילת העבודה עם המלצות למדיה ועדיין יש לכם את מאגר הנתונים (השם המוצע הוא quickstart-media-data-store), אתם יכולים להשתמש בו במקום ליצור מאגר נתונים חדש. במקרה כזה, כדאי להתחיל את המדריך מהקטע יצירת אפליקציה לחיפוש מדיה.

הזמן המשוער להשלמת המדריך הזה: כשעה.

מטרות

  • איך מייבאים מסמכי מדיה כדי ליצור מאגר נתוני מדיה.
  • ליצור, להגדיר ולבדוק אפליקציית חיפוש.

לפני שממשיכים במדריך הזה, חשוב לוודא שביצעתם את השלבים שבקטע לפני שמתחילים.


לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :

תראו לי איך


לפני שמתחילים

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Make sure that you have the following role or roles on the project: Discovery Engine Admin and BigQuery Admin.

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. 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.

    4. 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

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. Click Grant access.
    4. In the New principals field, enter your user identifier. This is typically the email address for a Google Account.

    5. Click Select a role, then search for the role.
    6. To grant additional roles, click Add another role and add each additional role.
    7. Click Save.
  6. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Verify that billing is enabled for your Google Cloud project.

  8. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  9. Make sure that you have the following role or roles on the project: Discovery Engine Admin and BigQuery Admin.

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. 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.

    4. 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

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. Click Grant access.
    4. In the New principals field, enter your user identifier. This is typically the email address for a Google Account.

    5. Click Select a role, then search for the role.
    6. To grant additional roles, click Add another role and add each additional role.
    7. Click Save.

הכנת מערך הנתונים

הערה: אם השלמתם את המדריך תחילת העבודה עם המלצות למדיה ועדיין יש לכם את מאגר הנתונים (השם המוצע הוא quickstart-media-data-store), אתם יכולים לדלג אל יצירת אפליקציה לחיפוש מדיה.

משתמשים ב-Cloud Shell כדי לייבא את מערך הנתונים של Movielens ולשנות את המבנה של מערך הנתונים עבור חיפוש מבוסס סוכנים למדיה.

פתיחת Cloud Shell

  1. פותחים את Google Cloud console.
  2. בוחרים את הפרויקט Google Cloud .
  3. רושמים את מזהה הפרויקט בכרטיס Project info בדף לוח הבקרה. תצטרכו את מזהה הפרויקט כדי לבצע את הפעולות הבאות.
  4. לוחצים על הלחצן Activate Cloud Shell (הפעלת Cloud Shell) בחלק העליון של המסוף. בחלק התחתון של מסוףGoogle Cloud ייפתח סשן של Cloud Shell בתוך מסגרת חדשה, ותופיע הודעה של שורת הפקודה. במאמר הפעלת Cloud Shell מוסבר על דרכים נוספות להפעלת Cloud Shell.

    Cloud Shell

ייבוא מערך הנתונים

מערך הנתונים של Movielens זמין בקטגוריה של Cloud Storage ציבורית כדי להקל על הייבוא.

  1. מריצים את הפקודה הבאה עם מזהה הפרויקט כדי להגדיר את פרויקט ברירת המחדל לשורת הפקודה.

    gcloud config set project PROJECT_ID
    
  2. יוצרים מערך נתונים ב-BigQuery:

    bq mk movielens
    
  3. טעינת 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
    
  4. טעינת 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).

  1. יוצרים תצוגה שממירה את הטבלה 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 מצפה לה.

  2. עוברים לדף BigQuery במסוף Google Cloud .

    כניסה לדף BigQuery

  3. בחלונית Explorer, מרחיבים את שם הפרויקט, לוחצים על Datasets (מערכי נתונים), בוחרים את מערך הנתונים movielens ולוחצים על movies_view כדי לפתוח את דף הסכימה של התצוגה הזו.

    לחלופין, בחלונית Explorer, בוחרים בכרטיסייה Classic explorer, מרחיבים את שם הפרויקט, מרחיבים את מערך הנתונים movielens ולוחצים על movies_view כדי לפתוח את דף הסכימה של התצוגה הזו. תצוגת המוצרים

  4. עוברים לכרטיסייה Table explorer. תצוגת המוצרים

  5. בחלונית Generated query, לוחצים על הלחצן Copy to query. עורך השאילתות ייפתח.

  6. לוחצים על הפעלה כדי לראות את נתוני הסרט בסקירה שיצרתם.

  7. כדי ליצור אירועי משתמשים פיקטיביים מנתוני דירוג סרטים, מריצים את הפקודה הבאה ב-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
    

הפעלת חיפוש מבוסס סוכנים

  1. נכנסים לדף AI Applications במסוף Google Cloud .

    אפליקציות AI

  2. אופציונלי: לוחצים על אני רוצה לאפשר ל-Google לבצע דגימה סלקטיבית של קלט ותגובות של המודל.

  3. לוחצים על המשך והפעלת ה-API.

בקטע הזה מוסבר איך ליצור ולפרוס אפליקציה לחיפוש מדיה.

  1. נכנסים לדף AI Applications במסוף Google Cloud .

    אפליקציות AI

  2. לוחצים על יצירת אפליקציה.

  3. בדף יצירת אפליקציה, בקטע חיפוש בקטלוג המדיה, לוחצים על יצירה.

  4. בשדה Your app name, מזינים שם לאפליקציה, למשל quickstart-media-search. מזהה האפליקציה מופיע מתחת לשם המנוע.

  5. לוחצים על Continue.

  6. אם השלמתם את המדריך תחילת העבודה עם המלצות למדיה ועדיין יש לכם את מאגר הנתונים (השם המוצע הוא quickstart-media-data-store), בוחרים אותו, לוחצים על יצירה ומדלגים אל תצוגה מקדימה של החיפוש.

  7. אם אין לכם מאגר נתונים שמכיל את מערך הנתונים movielens, יוצרים מאגר נתונים חדש ובוחרים אותו:

    1. בדף מאגרי נתונים, לוחצים על יצירת מאגר נתונים.

    2. מזינים שם לתצוגה של מאגר הנתונים, למשל quickstart-media-data-store, ואז לוחצים על יצירה.

    3. בוחרים את מאגר הנתונים שיצרתם ולוחצים על יצירה כדי ליצור את האפליקציה. תועברו לדף בחירת מקור נתונים.

ייבוא נתונים

לאחר מכן, מייבאים את נתוני הסרטים ואירועי המשתמשים שפורמטו קודם.

ייבוא מסמכים

  1. אם לא מועברים אוטומטית לדף בחירת מקור נתונים:

    • פותחים את הכרטיסייה מסמכים.
    • לוחצים על ייבוא נתונים.
  2. בדף Select a data source (בחירת מקור נתונים), בוחרים באפשרות BigQuery.

  3. מזינים את השם של התצוגה המפורטת ב-BigQuery ‏movies שיצרתם ולוחצים על ייבוא.

    PROJECT_ID.movielens.movies_view
    
  4. ממתינים עד שכל המסמכים יובאו. התהליך אמור להימשך כ-15 דקות. אחרי ההשלמה, אמורים להיות 86537 מסמכים.

    אפשר לבדוק את הסטטוס של פעולת הייבוא בכרטיסייה פעילות. כשהייבוא מסתיים, סטטוס פעולת הייבוא משתנה להושלם.

ייבוא אירועים ברמת המשתמש

  1. פותחים את הכרטיסייה אירועים.

  2. לוחצים על ייבוא אירועים.

  3. בוחרים באפשרות BigQuery.

  4. מזינים את השם של התצוגה המפורטת ב-BigQuery ‏user_events שיצרתם ולוחצים על ייבוא.

    PROJECT_ID.movielens.user_events
    
  5. אפשר לעבור לשלב הבא לפני שהאירועים יובאו, אבל תוצאות החיפוש עדיין לא יכללו את קבוצת הנתונים המלאה.

    אפשר לבדוק את סטטוס הפעולה בכרטיסייה פעילות. התהליך נמשך כשעה כי מייבאים מיליוני שורות.

  1. בתפריט הניווט, לוחצים על Configurations (הגדרות).

  2. בתיבה חיפוש כאן, מקלידים את שם הסרט, למשל 'שר הטבעות'.

  3. שימו לב שתוצאות החיפוש רלוונטיות לשם הסרט שהוזן.

  4. בדף הזה אפשר להתאים אישית את האופן שבו ווידג'ט החיפוש מציג את המידע על תוצאות החיפוש. מידע נוסף מופיע במאמר הגדרת התוצאות בווידג'ט החיפוש.

    באפליקציות לחיפוש מדיה, אתם יכולים:

    אחרי שמבצעים שינויים, לוחצים על שמירה ופרסום כדי לעדכן את הווידג'ט.

פריסת ווידג'ט החיפוש

  1. בתפריט הניווט, לוחצים על שילוב.

  2. מוודאים שהכרטיסייה ווידג'ט נבחרה.

  3. בוחרים באפשרות מבוסס JWT או OAuth בתור סוג ההרשאה של הווידג'ט.

  4. בשדה דומיין, מזינים את שם הדומיין של דף האינטרנט שבו רוצים להציב את הווידג'ט. לדוגמה, אם אתם רוצים להעתיק את הווידג'ט לדף האינטרנט example.com/ai.html, צריך להזין את example.com כדומיין.

  5. לוחצים על הוספה ואז על שמירה.

  6. מעתיקים את קטע הקוד שמופיע בקטע Copy the following code to your web application (העתקת הקוד הבא לאפליקציית האינטרנט).

  7. בבסיס הקוד, יוצרים אסימון הרשאה.

  8. כדי להעביר את אסימון ההרשאה לווידג'ט, משתמשים בקטע הקוד Set authorization token שמופיע בקטע העתקת הקוד הבא לאפליקציית האינטרנט ומחליפים את הטקסט <JWT or OAuth token provided by you backend> באסימון ההרשאה.

  9. כדי לקבל עזרה בשילוב אפליקציית החיפוש באפליקציית האינטרנט, אפשר לעיין בדוגמאות הקוד במאמר קבלת תוצאות חיפוש.

הסרת המשאבים

כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:

אתם יכולים לעשות שימוש חוזר במאגר הנתונים שיצרתם עבור המלצות למדיה במדריך תחילת העבודה עם המלצות למדיה. מומלץ לנסות את המדריך הזה לפני שמבצעים את תהליך הניקוי הזה.

  1. כדי להימנע מחיובים מיותרים Google Cloud , כדאי להשתמש בGoogle Cloud console כדי למחוק את הפרויקט אם הוא לא נחוץ לכם.
  2. אם יצרתם פרויקט חדש כדי ללמוד על חיפוש מבוסס סוכנים ואתם כבר לא צריכים את הפרויקט, אפשר למחוק אותו.
  3. אם השתמשתם בפרויקט קיים Google Cloud , מחקו את המשאבים שיצרתם כדי להימנע מחיובים בחשבון. מידע נוסף זמין במאמרים בנושא מחיקת אפליקציה, מחיקת נתונים ממאגר נתונים ומחיקת מאגר נתונים.
  4. פועלים לפי השלבים שמפורטים במאמר השבתת התכונה 'חיפוש מבוסס סוכנים'.
  5. אם יצרתם מערך נתונים ב-BigQuery, אתם צריכים למחוק אותו ב-Cloud Shell:

    bq rm --recursive --dataset movielens
    

המאמרים הבאים