ייבוא מ-BigQuery

יש שתי דרכים ליצור מאגרי נתונים מטבלאות BigQuery:

  • הוספה חד-פעמית: מייבאים נתונים מטבלת BigQuery למאגר נתונים. הנתונים במאגר הנתונים לא משתנים אלא אם מרעננים את הנתונים באופן ידני.

  • הטמעה תקופתית: מייבאים נתונים מטבלה אחת או יותר ב-BigQuery ומגדירים תדירות סנכרון שקובעת כמה פעמים מאגרי הנתונים מתעדכנים בנתונים העדכניים ביותר ממערך הנתונים ב-BigQuery.

בטבלה הבאה מוצגת השוואה בין שתי הדרכים לייבוא נתונים מ-BigQuery למאגרי מידע של Gemini Enterprise.

הוספה חד-פעמית הטמעה תקופתית
זמינות לכלל המשתמשים (GA). גרסת טרום-השקה ציבורית.
צריך לרענן את הנתונים באופן ידני. הנתונים מתעדכנים אוטומטית כל יום, כל 3 ימים או כל 5 ימים. אי אפשר לרענן את הנתונים באופן ידני.
‫Gemini Enterprise יוצר מאגר נתונים יחיד מטבלה אחת ב-BigQuery. ‫Gemini Enterprise יוצר מחבר נתונים למערך נתונים של BigQuery ולמאגר נתונים (שנקרא מאגר נתונים של ישויות) לכל טבלה שצוינה. לכל מחבר נתונים, הטבלאות צריכות להיות מאותו סוג נתונים (לדוגמה, מובנה) ולהיות באותו מערך נתונים של BigQuery.
אפשר לשלב נתונים מכמה טבלאות במאגר נתונים אחד. לשם כך, קודם מייבאים נתונים מטבלה אחת ואז מייבאים עוד נתונים ממקור אחר או מטבלה ב-BigQuery. מכיוון שאין תמיכה בייבוא נתונים ידני, אפשר להשתמש בנתונים במאגר נתונים של ישות רק מטבלה אחת ב-BigQuery.
יש תמיכה בבקרת גישה למקורות נתונים. אין תמיכה בבקרת גישה למקור הנתונים. הנתונים המיובאים יכולים לכלול אמצעי בקרה לגישה, אבל המערכת לא תתחשב בהם.
אפשר ליצור מאגר נתונים באמצעותGoogle Cloud המסוף או ה-API. צריך להשתמש במסוף כדי ליצור מחברי נתונים ומאגרי נתונים של ישויות.
תואם ל-CMEK. תואם ל-CMEK.

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

כדי לייבא נתונים מ Google Cloud פרויקט מקור ששונה מהפרויקט עם מאגר הנתונים של Gemini Enterprise, צריך להעניק את תפקידי ניהול הזהויות והרשאות הגישה (IAM) הבאים לservice-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.comחשבון השירות בפרויקט שמכיל את מאגר הנתונים של Gemini Enterprise:Google Cloud

ייבוא חד-פעמי מ-BigQuery

כדי להטמיע נתונים מטבלת BigQuery, צריך ליצור מאגר נתונים ולהטמיע נתונים באמצעות Google Cloud המסוף או ה-API.

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

המסוף

כדי להשתמש במסוף להטמעת נתונים מ-BigQuery, פועלים לפי השלבים הבאים: Google Cloud

  1. נכנסים לדף Gemini Enterprise במסוף Google Cloud .

    Gemini Enterprise

  2. עוברים לדף מאגרי נתונים.

  3. לוחצים על יצירת מאגר נתונים.

  4. בדף Select a data source (בחירת מקור נתונים), בוחרים באפשרות BigQuery.

  5. בוחרים איזה סוג נתונים מייבאים.

  6. לוחצים על פעם אחת.

  7. בשדה BigQuery path (נתיב BigQuery), לוחצים על Browse (עיון), בוחרים טבלה שהכנתם להעברה ואז לוחצים על Select (בחירה). אפשר גם להזין את מיקום הטבלה ישירות בשדה נתיב BigQuery.

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

  9. אם אתם מבצעים ייבוא חד-פעמי של נתונים מובְנים:

    1. מיפוי שדות למאפיינים מרכזיים.

    2. אם חסרים בסכימה שדות חשובים, משתמשים באפשרות הוספת שדה חדש כדי להוסיף אותם.

      מידע נוסף זמין במאמר מידע על זיהוי ועריכה אוטומטיים.

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

  10. בוחרים אזור לאחסון הנתונים.

  11. מזינים שם למאגר הנתונים.

  12. לוחצים על יצירה.

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

    בהתאם לגודל הנתונים, תהליך ההטמעה יכול להימשך כמה דקות עד כמה שעות.

REST

כדי ליצור מאגר נתונים ולייבא נתונים מ-BigQuery באמצעות שורת הפקודה, פועלים לפי השלבים הבאים.

  1. יוצרים מאגר נתונים.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \
    -d '{
      "displayName": "DATA_STORE_DISPLAY_NAME",
      "industryVertical": "GENERIC",
      "solutionTypes": ["SOLUTION_TYPE_SEARCH"]
    }'
    

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

    • PROJECT_ID: מזהה הפרויקט.
    • DATA_STORE_ID: המזהה של מאגר הנתונים שרוצים ליצור. המזהה יכול להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים.
    • DATA_STORE_DISPLAY_NAME: השם המוצג של מאגר הנתונים שרוצים ליצור.

    אופציונלי: אם אתם מעלים נתונים לא מובנים ורוצים להגדיר ניתוח של מסמכים או להפעיל חלוקה של מסמכים לחלקים עבור RAG, צריך לציין את אובייקט documentProcessingConfig ולכלול אותו בבקשה ליצירת מאגר נתונים. מומלץ להגדיר מנתח OCR לקובצי PDF אם אתם מבצעים המרה של קובצי PDF סרוקים. במאמר ניתוח מסמכים ופיצול שלהם לחלקים מוסבר איך מגדירים את האפשרויות של ניתוח או פיצול.

  2. ייבוא נתונים מ-BigQuery.

    אם הגדרתם סכימה, ודאו שהנתונים תואמים לסכימה הזו.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \
    -d '{
      "bigquerySource": {
        "projectId": "PROJECT_ID",
        "datasetId":"DATASET_ID",
        "tableId": "TABLE_ID",
        "dataSchema": "DATA_SCHEMA",
        "aclEnabled": "BOOLEAN"
      },
      "reconciliationMode": "RECONCILIATION_MODE",
      "autoGenerateIds": "AUTO_GENERATE_IDS",
      "idField": "ID_FIELD",
      "errorConfig": {
        "gcsPrefix": "ERROR_DIRECTORY"
      }
    }'
    

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

    • PROJECT_ID: מזהה הפרויקט.
    • DATA_STORE_ID: המזהה של מאגר הנתונים.
    • DATASET_ID: המזהה של מערך הנתונים ב-BigQuery.
    • TABLE_ID: המזהה של הטבלה ב-BigQuery.
      • אם הטבלה ב-BigQuery לא נמצאת ב-PROJECT_ID, צריך לתת לחשבון השירות service-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com הרשאה מסוג 'BigQuery Data Viewer' לטבלה ב-BigQuery. לדוגמה, אם מייבאים טבלה מ-BigQuery מפרויקט המקור '123' לפרויקט היעד '456', צריך לתת ל-service-456@gcp-sa-discoveryengine.iam.gserviceaccount.com הרשאות לטבלה ב-BigQuery בפרויקט '123'.
    • DATA_SCHEMA: אופציונלי. הערכים הם document ו-custom. ערך ברירת המחדל הוא document.
      • document: הטבלה ב-BigQuery שבה אתם משתמשים צריכה להתאים לסכימת ברירת המחדל של BigQuery שמופיעה במאמר הכנת נתונים להוספה. אתם יכולים להגדיר את המזהה של כל מסמך בעצמכם, כשכל הנתונים עטופים במחרוזת jsonData.
      • custom: כל סכימת טבלה ב-BigQuery מתקבלת, ו-Gemini Enterprise יוצר באופן אוטומטי את המזהים לכל מסמך שמייובא.
    • ERROR_DIRECTORY: אופציונלי. ספרייה ב-Cloud Storage למידע על שגיאות בייבוא – לדוגמה, gs://<your-gcs-bucket>/directory/import_errors. ‫Google ממליצה להשאיר את השדה הזה ריק כדי לאפשר ל-Gemini Enterprise ליצור באופן אוטומטי ספרייה זמנית.
    • RECONCILIATION_MODE: אופציונלי. הערכים האפשריים הם FULL ו-INCREMENTAL. ערך ברירת המחדל הוא INCREMENTAL. הגדרה של INCREMENTAL גורמת לרענון מצטבר של הנתונים מ-BigQuery למאגר הנתונים. הפעולה הזו היא upsert, שמוסיפה מסמכים חדשים ומחליפה מסמכים קיימים במסמכים מעודכנים עם אותו מזהה. ציון FULL גורם לשינוי בסיס מלא של המסמכים במאגר הנתונים. במילים אחרות, מסמכים חדשים ומעודכנים מתווספים למאגר הנתונים, ומסמכים שלא נמצאים ב-BigQuery מוסרים ממנו. מצב FULL שימושי אם רוצים למחוק באופן אוטומטי מסמכים שכבר לא צריכים.
    • AUTO_GENERATE_IDS: אופציונלי. ההגדרה קובעת אם מזהי המסמכים ייווצרו באופן אוטומטי. אם הערך הוא true, מזהי המסמכים נוצרים על סמך גיבוב של מטען הייעודי (payload). שימו לב שמזהי המסמכים שנוצרו עשויים להשתנות בין ייבוא לייבוא. אם אתם יוצרים מזהים באופן אוטומטי בכמה ייבואים, מומלץ מאוד להגדיר את reconciliationMode לערך FULL כדי לשמור על מזהי מסמכים עקביים.

      מציינים את autoGenerateIds רק אם הערך של bigquerySource.dataSchema הוא custom. אחרת, מוחזרת שגיאה INVALID_ARGUMENT. אם לא מציינים את autoGenerateIds או מגדירים אותו ל-false, צריך לציין את idField. אחרת, ייבוא המסמכים ייכשל.

    • ID_FIELD: אופציונלי. מציין אילו שדות הם מזהי המסמכים. בקבצים של מקורות BigQuery, ‏idField מציין את שם העמודה בטבלת BigQuery שמכילה את מזהי המסמכים.

      מציינים את idField רק אם: (1) הערך של bigquerySource.dataSchema הוא custom, וגם (2) הערך של auto_generate_ids הוא false או שלא צוין ערך. אחרת, מוחזרת שגיאת INVALID_ARGUMENT.

      הערך של שם העמודה ב-BigQuery צריך להיות מסוג string, להכיל בין 1 ל-63 תווים ולעמוד בדרישות של RFC-1034. אחרת, ייבוא המסמכים ייכשל.

התחברות ל-BigQuery עם סנכרון תקופתי

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

בשלבים הבאים מוסבר איך ליצור מאגר נתונים ב-BigQuery שמסנכרן נתונים ממערך נתונים ב-BigQuery באופן תקופתי. אם במערך הנתונים יש כמה טבלאות, אפשר להוסיף אותן למאגר הנתונים של BigQuery שאתם יוצרים. כל טבלה שמוסיפים נקראת ישות. ‫Gemini Enterprise יוצר מאגר נתונים נפרד לכל ישות. לכן, כשיוצרים את מאגר הנתונים באמצעות Google Cloud המסוף, מקבלים אוסף של מאגרי נתונים שמייצגים את ישויות הנתונים האלה שהועברו.

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

המסוף

כדי ליצור מאגר נתונים שמסנכרן נתונים ממערך נתונים ב-BigQuery אל Gemini Enterprise באופן תקופתי, פועלים לפי השלבים הבאים:

  1. נכנסים לדף Gemini Enterprise במסוף Google Cloud .

    Gemini Enterprise

  2. בתפריט הניווט, לוחצים על מאגרי נתונים.

  3. לוחצים על יצירת מאגר נתונים.

  4. בדף מקור, בוחרים באפשרות BigQuery.

  5. בוחרים את סוג הנתונים שמייבאים.

  6. לוחצים על תקופתי.

  7. בוחרים את תדירות הסנכרון, כלומר כמה פעמים רוצים שהמחבר של Gemini Enterprise יסנכרן עם מערך הנתונים של BigQuery. אפשר לשנות את התדירות בהמשך.

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

  9. בשדה Tables to sync, לוחצים על Browse ובוחרים טבלה שמכילה את הנתונים שרוצים לאחסן במאגר הנתונים.

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

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

  12. בוחרים אזור לאחסון הנתונים, מזינים שם למחבר הנתונים ולוחצים על יצירה.

    יצרתם מחבר נתונים, שיסנכרן את הנתונים עם מערך הנתונים ב-BigQuery מעת לעת. בנוסף, יצרתם מאגרי נתונים של ישויות. למאגרי הנתונים יש את אותם שמות כמו לטבלאות ב-BigQuery.

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

    בהתאם לגודל הנתונים, תהליך ההטמעה יכול להימשך כמה דקות עד כמה שעות.

אחרי שמגדירים את מקור הנתונים ומייבאים נתונים בפעם הראשונה, מאגר הנתונים מסנכרן נתונים מהמקור הזה בתדירות שבוחרים במהלך ההגדרה. כשעה אחרי שיוצרים את מחבר הנתונים, מתבצע הסנכרון הראשון. הסנכרון הבא מתרחש כ-24 שעות, 72 שעות או 120 שעות לאחר מכן.

השלבים הבאים

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

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