כדי להטמיע נתונים מ-Bigtable, צריך לבצע את השלבים הבאים כדי ליצור מאגר נתונים ולהטמיע נתונים באמצעות ה-API.
הגדרת הגישה ל-Bigtable
כדי לתת ל-Gemini Enterprise גישה לנתוני Bigtable בפרויקט אחר, פועלים לפי השלבים הבאים:
מחליפים את המשתנה
PROJECT_NUMBERבמספר הפרויקט ב-Gemini Enterprise, ואז מעתיקים את התוכן של בלוק הקוד הזה. זהו המזהה של חשבון השירות שלך ב-Gemini Enterprise:service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com`נכנסים לדף IAM & Admin.
בדף IAM & Admin, עוברים לפרויקט Bigtable ולוחצים על Grant Access.
בשדה New principals, מזינים את מזהה חשבון השירות של המכונה ובוחרים את התפקיד Bigtable > Bigtable Reader.
לוחצים על Save.
חוזרים לפרויקט ב-Gemini Enterprise.
בשלב הבא, עוברים לקטע ייבוא נתונים מ-Bigtable.
ייבוא נתונים מ-Bigtable
REST
כדי ליצור מאגר נתונים ולהטמיע נתונים מ-Bigtable באמצעות שורת הפקודה:
יוצרים מאגר נתונים.
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/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], }'מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
DATA_STORE_ID: המזהה של מאגר הנתונים. המזהה יכול להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים. -
DISPLAY_NAME: השם המוצג של מאגר הנתונים. יכול להיות שההודעה הזו תוצג במסוף Google Cloud .
-
ייבוא נתונים מ-Bigtable.
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 '{ "bigtableSource ": { "projectId": "BIGTABLE_PROJECT_ID", "instanceId": "INSTANCE_ID", "tableId": "TABLE_ID", "bigtableOptions": { "keyFieldName": "KEY_FIELD_NAME", "families": { "key": "KEY", "value": { "fieldName": "FIELD_NAME", "encoding": "ENCODING", "type": "TYPE", "columns": [ { "qualifier": "QUALIFIER", "fieldName": "FIELD_NAME", "encoding": "COLUMN_ENCODING", "type": "COLUMN_VALUES_TYPE" } ] } } ... } }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב-Gemini Enterprise. -
DATA_STORE_ID: המזהה של מאגר הנתונים. המזהה יכול להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים. -
BIGTABLE_PROJECT_ID: מזהה הפרויקט ב-Bigtable. -
INSTANCE_ID: המזהה של המכונה ב-Bigtable. -
TABLE_ID: המזהה של הטבלה ב-Bigtable. -
KEY_FIELD_NAME: אופציונלי אבל מומלץ. שם השדה שבו צריך להשתמש לערך של מפתח השורה אחרי ההטמעה ב-Gemini Enterprise. -
KEY: חובה. ערך מחרוזת של המפתח של קבוצת העמודות. -
ENCODING: אופציונלי. מצב הקידוד של הערכים כשהסוג הוא לא STRING.אפשר לשנות את זה בעמודה ספציפית על ידי הוספת העמודה הזו ל-columnsוציון קידוד בשבילה. -
COLUMN_TYPE: אופציונלי. סוג הערכים בקבוצת העמודות הזו. -
QUALIFIER: חובה. מזהה העמודה. -
FIELD_NAME: אופציונלי אבל מומלץ. שם השדה של העמודה הזו אחרי ההטמעה ב-Gemini Enterprise. -
COLUMN_ENCODING: אופציונלי. מצב הקידוד של הערכים בעמודה ספציפית, כשהסוג הוא לא STRING. -
RECONCILIATION_MODE: אופציונלי. הערכים הםFULLו-INCREMENTAL. ברירת המחדל היאINCREMENTAL. אם מציינים את הערךINCREMENTAL, מתבצע רענון מצטבר של הנתונים מ-Bigtable למאגר הנתונים. הפעולה הזו מבצעת פעולת עדכון או הוספה (upsert), שמוסיפה מסמכים חדשים ומחליפה מסמכים קיימים במסמכים מעודכנים עם אותו מזהה. אם מציינים את הערךFULL, מתבצעת הגדרה מחדש מלאה של המסמכים במאגר הנתונים. במילים אחרות, מסמכים חדשים ומעודכנים מתווספים למאגר הנתונים, ומסמכים שלא נמצאים ב-Bigtable מוסרים ממאגר הנתונים. מצבFULLשימושי אם רוצים למחוק באופן אוטומטי מסמכים שכבר לא צריך.
AUTO_GENERATE_IDS: אופציונלי. מציינים אם ליצור מזהי מסמכים באופן אוטומטי. אם הערך הואtrue, מזהי המסמכים נוצרים על סמך גיבוב (hash) של המטען הייעודי (payload). חשוב לזכור שמזהי המסמכים שנוצרו לא בהכרח יישארו עקביים בכמה פעולות ייבוא. אם אתם יוצרים מזהים באופן אוטומטי בכמה פעולות ייבוא, Google ממליצה מאוד להגדיר אתreconciliationModeלערךFULLכדי לשמור על מזהי מסמכים עקביים.צריך לציין את
autoGenerateIdsרק כש-bigquerySource.dataSchemaמוגדר ל-custom. אחרת, תוחזר השגיאהINVALID_ARGUMENT. אם לא מציינים אתautoGenerateIdsאו מגדירים אותו כ-false, צריך לציין אתidField. אחרת, ייבוא המסמכים ייכשל.
ID_FIELD: אופציונלי. מציינים אילו שדות הם מזהי המסמכים.
-
השלבים הבאים
כדי לצרף את מאגר הנתונים לאפליקציה, יוצרים אפליקציה ובוחרים את מאגר הנתונים לפי השלבים שמפורטים במאמר יצירת אפליקציית חיפוש.
כדי לראות תצוגה מקדימה של תוצאות החיפוש אחרי שמגדירים את האפליקציה ואת מאגר הנתונים, עיינו במאמר תצוגה מקדימה של תוצאות החיפוש.