ייבוא מ-Cloud Storage

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

  • העברה חד-פעמית: מייבאים נתונים מתיקייה או מקובץ ב-Cloud Storage למאגר נתונים. הנתונים במאגר הנתונים לא משתנים אלא אם מרעננים את הנתונים באופן ידני.

  • Periodic ingestion (הטמעה תקופתית): אתם מייבאים נתונים מתיקייה או מקובץ ב-Cloud Storage, ומגדירים תדירות סנכרון שקובעת כמה פעמים מאגר הנתונים מתעדכן בנתונים העדכניים ביותר ממיקום Cloud Storage הזה.

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

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

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

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

ייבוא חד-פעמי מ-Cloud Storage

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

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

המסוף

כדי להשתמש במסוף להטמעת נתונים מקטגוריה של Cloud Storage, פועלים לפי השלבים הבאים:

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

    Gemini Enterprise

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

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

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

  5. בקטע בחירת תיקייה או קובץ לייבוא, בוחרים באפשרות תיקייה או קובץ.

  6. לוחצים על עיון, בוחרים את הנתונים שהכנתם להעלאה ולוחצים על בחירה. אפשר גם להזין את המיקום ישירות בשדה gs://.

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

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

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

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

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

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

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

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

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

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

    שימוש בכלי לניתוח OCR ובכלי לניתוח פריסה עלול לגרור עלויות נוספות. מידע על התמחור של התכונות ב-Document AI

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

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

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

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

REST

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

  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"],
      "contentConfig": "CONTENT_REQUIRED",
    }'
    

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

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

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

  2. ייבוא נתונים מ-Cloud Storage.

      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 '{
        "gcsSource": {
          "inputUris": ["INPUT_FILE_PATTERN_1", "INPUT_FILE_PATTERN_2"],
          "dataSchema": "DATA_SCHEMA",
        },
        "reconciliationMode": "RECONCILIATION_MODE",
        "autoGenerateIds": "AUTO_GENERATE_IDS",
        "idField": "ID_FIELD",
        "errorConfig": {
          "gcsPrefix": "ERROR_DIRECTORY"
        }
      }'
    

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

    • PROJECT_ID: מזהה הפרויקט.
    • DATA_STORE_ID: המזהה של מאגר הנתונים.
    • INPUT_FILE_PATTERN: תבנית קובץ ב-Cloud Storage שמכילה את המסמכים שלכם.

      לנתונים מובְנים או לנתונים לא מובְנים עם מטא-נתונים, דוגמה לתבנית של קובץ קלט היא gs://<your-gcs-bucket>/directory/object.jsonודוגמה להתאמת תבנית לקובץ אחד או יותר היא gs://<your-gcs-bucket>/directory/*.json.

      דוגמה למסמך לא מובנה היא gs://<your-gcs-bucket>/directory/*.pdf. כל קובץ שתואם לתבנית הופך למסמך.

      אם <your-gcs-bucket> לא מופיע בקטע PROJECT_ID, צריך לתת לחשבון השירות הרשאות service-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com 'צפייה באובייקט אחסון' לקטגוריה ב-Cloud Storage. לדוגמה, אם מייבאים קטגוריה של Cloud Storage מפרויקט המקור '123' לפרויקט היעד '456', צריך לתת הרשאות service-456@gcp-sa-discoveryengine.iam.gserviceaccount.com בקטגוריה של Cloud Storage בפרויקט '123'.

    • DATA_SCHEMA: אופציונלי. הערכים הם document,‏ custom,‏ csv ו-content. ערך ברירת המחדל הוא document.

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

        • { "id": "<your-id>", "jsonData": "<JSON string>", "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
        • { "id": "<your-id>", "structData": <JSON object>, "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
      • custom: העלאת JSON למסמכים מובנים. הנתונים מאורגנים לפי סכימה. אפשר לציין את הסכימה, אחרת המערכת תזהה אותה באופן אוטומטי. אתם יכולים להזין את מחרוזת ה-JSON של המסמך בפורמט עקבי ישירות בכל שורה, ו-Gemini Enterprise ייצור אוטומטית את המזהים לכל מסמך שיובא.

      • content: העלאת מסמכים לא מובנים (PDF, ‏ HTML, ‏ DOC, ‏ TXT,‏ PPTX). המזהה של כל מסמך נוצר אוטומטית כ-128 הביטים הראשונים של SHA256(GCS_URI)‎ שמקודדים כמחרוזת הקסדצימלית. אפשר לציין כמה תבניות של קובצי קלט, כל עוד מספר הקבצים התואמים לא חורג מהמגבלה של 100,000 קבצים.

      • csv: כוללים שורת כותרת בקובץ ה-CSV, כשכל כותרת ממופה לשדה במסמך. מציינים את הנתיב לקובץ ה-CSV באמצעות השדה inputUris.

    • ERROR_DIRECTORY: אופציונלי. ספרייה ב-Cloud Storage למידע על שגיאות בייבוא – לדוגמה, gs://<your-gcs-bucket>/directory/import_errors. ‫Google ממליצה להשאיר את השדה הזה ריק כדי לאפשר ל-Gemini Enterprise ליצור באופן אוטומטי ספרייה זמנית.

    • RECONCILIATION_MODE: אופציונלי. הערכים הם FULL ו-INCREMENTAL. ערך ברירת המחדל הוא INCREMENTAL. הגדרה של INCREMENTAL גורמת לרענון מצטבר של נתונים מ-Cloud Storage למאגר הנתונים. הפעולה הזו מבצעת upsert, שמוסיף מסמכים חדשים ומחליף מסמכים קיימים במסמכים מעודכנים עם אותו מזהה. הגדרת FULL גורמת לשינוי בסיס מלא של המסמכים במאגר הנתונים. כלומר, מסמכים חדשים ומעודכנים מתווספים למאגר הנתונים, ומסמכים שלא נמצאים ב-Cloud Storage מוסרים ממנו. מצב FULL שימושי אם רוצים למחוק באופן אוטומטי מסמכים שכבר לא צריכים.

    • AUTO_GENERATE_IDS: אופציונלי. ההגדרה קובעת אם מזהי המסמכים ייווצרו באופן אוטומטי. אם המדיניות מוגדרת לערך true, מזהי המסמכים נוצרים על סמך גיבוב (hash) של מטען הייעודי. חשוב לדעת שמזהי המסמכים שנוצרו לא תמיד נשארים עקביים בכמה ייבואים. אם אתם יוצרים מזהים באופן אוטומטי בכמה ייבואים, מומלץ מאוד להגדיר את reconciliationMode ל-FULL כדי לשמור על מזהי מסמכים עקביים.

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

    • ID_FIELD: אופציונלי. מציינים אילו שדות הם מזהי המסמכים. במסמכי מקור של Cloud Storage, ‏ idField מציין את השם בשדות ה-JSON שהם מזהי מסמכים. לדוגמה, אם {"my_id":"some_uuid"} הוא שדה מזהה המסמך באחד מהמסמכים, מציינים "idField":"my_id". השדה הזה מזהה את כל שדות ה-JSON עם השם "my_id" כמזהי מסמכים.

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

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

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

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

בתהליך הבא מוסבר איך ליצור מחבר נתונים שמקשר מיקום ב-Cloud Storage למחבר נתונים של Gemini Enterprise, ואיך לציין תיקייה או קובץ במיקום הזה בשביל מאגר הנתונים שרוצים ליצור. מאגרי נתונים שהם צאצאים של מחברי נתונים נקראים מאגרי נתונים של ישויות.

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

המסוף

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

    Gemini Enterprise

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

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

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

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

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

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

  8. בקטע בחירת תיקייה או קובץ לייבוא, בוחרים באפשרות תיקייה או קובץ.

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

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

  11. בוחרים אזור למחבר הנתונים.

  12. מזינים שם למחבר הנתונים.

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

    יכול להיות שיהיו עלויות נוספות על השימוש ב-OCR parser וב-layout parser.

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

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

    יצרתם עכשיו מחבר נתונים, שיסנכרן נתונים באופן תקופתי עם המיקום ב-Cloud Storage. יצרתם גם מאגר נתוני ישויות בשם gcs_store.

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

    הכרטיסייה פעילות של הטמעת נתונים. כשהסטטוס בעמודה Data ingestion activity (פעילות של הכנסת נתונים) משתנה מ-In progress (בתהליך) ל-succeeded (הושלם), ההכנסה הראשונה של הנתונים מסתיימת.

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

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

השלבים הבאים

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

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