יצירת קבוצות הקשר באמצעות Gemini CLI

במאמר הזה מוסבר איך ליצור ולבצע אופטימיזציה של ההקשר שמאפשר לשפר את הדיוק של QueryData כדי ליצור אפליקציות של סוכני נתונים. באמצעות התוסף DB context enrichment ב-Gemini CLI, מקבלים גישה לחבילה של כלי פיתוח שמבצעים אוטומטית את היצירה והאופטימיזציה של קבוצות הקשר.

מידע נוסף על קבוצות הקשר זמין במאמר סקירה כללית על קבוצות הקשר.

התוסף יוצר ומבצע אופטימיזציה של קבוצות ההקשר באופן אוטומטי לפי הרצף הבא:

  1. הבנת אפליקציות: קליטת ארטיפקטים כמו סכימות של מסדי נתונים, קוד אפליקציה ודרישות עסקיות כדי ליצור את הלוגיקה העסקית הבסיסית של סוכן הנתונים.
  2. יצירת מערכי נתונים: יצירת מערך נתונים להערכה שמכיל שאלות מייצגות בשפה טבעית והתשובות הצפויות שלהן ב-SQL. חשוב ליצור את קבוצת הנתונים הזו כדי למדוד את הביצועים ולעקוב אחרי השיפורים לאורך זמן.
  3. יצירת הקשר הראשוני: כדי להתחיל במהירות, אפשר ליצור באופן אוטומטי קבוצת הקשר בסיסית שנגזרת ישירות מסכמת מסד הנתונים ומארטיפקטים אופציונליים של האפליקציה.
  4. אופטימיזציה של ההקשר באופן איטרטיבי: הערכת קבוצת הנתונים כדי לזהות למה שאילתות ספציפיות נכשלות. Gemini משתמש בחשיבה רציונלית אוטומטית כדי להציע עדכוני הקשר ממוקדים, וכך משיג דיוק גבוה יותר באופן איטרטיבי.

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

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

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

הפעלת שירותים נדרשים

מפעילים את השירותים הבאים בפרויקט:

הכנת אשכול, מכונה ומסד נתונים של AlloyDB ל-PostgreSQL

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

תפקידים והרשאות נדרשים

  • מוסיפים משתמש או חשבון שירות של ניהול זהויות והרשאות גישה (IAM) לאשכול ברמת מסד הנתונים. למידע נוסף, ראו ניהול משתמשי מסד נתונים.
  • מקצים למשתמש IAM את התפקידים alloydb.databaseUser, serviceusage.serviceUsageConsumer ו-geminidataanalytics.queryDataUser ברמת הפרויקט. מידע נוסף זמין במאמר הוספת קשירת מדיניות IAM לפרויקט.

מתן הרשאה ל-executesql למכונת AlloyDB ל-PostgreSQL

כדי להעניק את ההרשאה executesql למכונת AlloyDB ל-PostgreSQL ולהגדיר את הגדרת המכונה data_api_access לערך ALLOW_DATA_API, משתמשים בפקודה curl הבאה :
   curl -X PATCH \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     https://alloydb.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=dataApiAccess \
     -d '{
       "dataApiAccess": "ENABLED",
     }'
מחליפים את מה שכתוב בשדות הבאים:
  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
  • LOCATION: האזור שבו נמצא אשכול AlloyDB.
  • CLUSTER_ID: המזהה של אשכול AlloyDB.
  • INSTANCE_ID: המזהה של מופע AlloyDB.
כדי לבצע את השלבים במדריך הזה, צריך להיכנס אל Google Cloud ולאחר מכן לבצע אימות למסד הנתונים באמצעות אימות IAM.

הכנת הסביבה

אפשר ליצור קובצי הגדרות הקשר מכל סביבת פיתוח מקומית או IDE. כדי להכין את הסביבה:

  • התקנת Gemini CLI
  • התקנת התוסף DB Context Enrichment
  • הגדרת החיבור למסד הנתונים

התקנת Gemini CLI

הוראות להתקנת Gemini CLI מופיעות במאמר תחילת העבודה עם Gemini CLI.

התקנת התוסף DB Context Enrichment

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

מידע נוסף על התקנת התוסף DB Context Enrichment

כדי להתקין את התוסף DB Context Enrichment, מבצעים את השלבים הבאים:

  1. מתקינים את התוסף DB Context Enrichment ל-Gemini CLI:

    gemini extensions install https://github.com/GoogleCloudPlatform/db-context-enrichment
  2. (אופציונלי) מעדכנים את התוסף DB Context Enrichment.

    כדי לוודא איזו גרסה של התוסף מותקנת, מריצים את הפקודה הבאה:

    gemini extensions list

    מוודאים שהגרסה היא 0.5.0 ומעלה. כדי לעדכן את התוסף DB Context Enrichment, מריצים את הפקודה הבאה:

      gemini extensions update mcp-db-context-enrichment

    כדי לעדכן את התוסף DB Context Enrichment או להחליף את GEMINI_API_KEY, מריצים את הפקודה הבאה:

    gemini extensions config mcp-db-context-enrichment GEMINI_API_KEY

    מחליפים את הערך GEMINI_API_KEY במפתח Gemini API.

הגדרת החיבור למסד הנתונים

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

הגדרת Application Default Credentials

מגדירים Application Default Credentials (ADC) כדי לספק פרטי כניסה של משתמש לשני רכיבים עיקריים:

  • שרת MCP של Toolbox: משתמש בפרטי כניסה כדי להתחבר למסד הנתונים, לאחזר סכימות ולהריץ SQL לצורך אימות.
  • תוסף DB Context Enrichment: משתמש בפרטי כניסה כדי לבצע אימות ולקרוא ל-Gemini API.

כדי לבצע אימות, מריצים את הפקודות הבאות בטרמינל:

gcloud auth application-default login

הגדרת קובץ החיבור למסד הנתונים

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

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

  1. מפעילים את Gemini CLI:

    gemini
  2. כדי לוודא שהמיומנויות פעילות, מקלידים את הפקודה הבאה ב-Gemini CLI:

    /skills
  3. מקלידים הנחיה, למשל help me set up the database connection. הפקודה מדריכה אתכם ליצור את קובץ ההגדרות בספריית העבודה הנוכחית בתור autoctx/tools.yaml.

  4. מריצים את הפקודה הבאה ב-Gemini CLI כדי להחיל את ההגדרה tools.yaml על שרת ה-MCP של Toolbox.

    /mcp reload

מידע נוסף על הגדרה ידנית של קובץ התצורה של מסד הנתונים זמין במאמר הגדרת MCP Toolbox.

יצירת ההקשר באמצעות תהליך עבודה אוטומטי

שיפור הדיוק באמצעות הנדסת הקשר הוא בדרך כלל תהליך ידני של ניסוי וטעייה. לעתים קרובות, מפתחים מנחשים למה שאילתה נכשלה, כותבים תיקון ובודקים אותו באופן ידני. התוסף DB Context Enrichment ב-Gemini CLI מבצע אוטומציה של תהליך השיפור הזה. הוא משתמש במערכי נתונים של הערכות – מערכים של שאלות עם תשובות SQL נכונות – כדי למדוד את הביצועים ולזהות למה שאילתות מסוימות נכשלות. ‫Gemini מציע באופן אוטומטי עדכונים ספציפיים של ההקשר כדי להשיג רמת דיוק גבוהה יותר. כדי לשפר באופן שיטתי את הדיוק של סוכן הנתונים, צריך לבצע את השלבים הבאים.

איך מאתחלים סביבת עבודה

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

  1. יוצרים ספרייה חדשה שתשמש כסביבת העבודה לתהליך האופטימיזציה האיטרטיבי, ועוברים אליה.
  2. מפעילים את Gemini CLI בספרייה החדשה:

    gemini
  3. מריצים את פקודת האתחול:

    /autoctx:init

    הסוכן ידריך אתכם בתהליך של יצירת הקובץ tools.yaml אם לא הוגדר חיבור למסד נתונים, וגם יאתחל את הקובץ המקומי state.md ואת הספרייה experiments.

    אחרי האתחול, סביבת העבודה שלכם אמורה להיראות כך:

    my-workspace/
    └── autoctx/
        ├── tools.yaml          # Database connection and tools configuration
        ├── state.md            # Local file to track the experiment progress
        └── experiments/        # Dedicated directory for future experiment-specific files
    

הכנה והרחבה של קבוצות נתונים

כדי לאפשר ל-Gemini לבצע אופטימיזציות באופן שיטתי על קבוצת ההקשר, צריך להכין מערך נתונים להערכה של שאלות מייצגות בשפה טבעית והתשובות הצפויות שלהן ב-SQL (שנקראות גם 'תשובות מוזהבות') כדי להעריך את קבוצת ההקשר. מערך נתונים איכותי להערכה הוא חיוני למדידת הביצועים, לזיהוי כשלים בשאילתות ולמעקב אחר שיפורים לאורך זמן. מערך הנתונים צריך להיות קובץ JSON שמכיל את השאלה בשפה טבעית (NLQ) ואת ה-SQL המוזהב שכולל את תרחישי השימוש הממוקדים באפליקציית הנתונים.

זאת דוגמה לפורמט הרצוי:

[
  {
    "id": "example_001",
    "nlq": "What is the total revenue for the top 5 products?",
    "golden_sql": "SELECT product_id, sum(net_revenue) FROM sales GROUP BY product_id ORDER BY sum(net_revenue) DESC LIMIT 5;"
  }
]

התוסף ל-Gemini CLI כולל פקודה שיוצרת ומגדילה קו בסיס קטן של שאלות למטרות הערכה.

  1. עוברים לתיקיית סביבת העבודה.
  2. מפעילים את Gemini CLI בספרייה החדשה:

    gemini
  3. מריצים את הפקודה /autoctx:generate-dataset ב-Gemini CLI:

    /autoctx:generate-dataset
  4. כשסוכן הנתונים מבקש, מספקים לו seed, שהוא דוגמה ראשונית או קבוצה קטנה של דוגמאות שמנחה את יצירת מערך נתונים גדול יותר. ה-seed יכול להיות אחד מהדברים הבאים:

    • קובץ קטן של נתונים מאומתים
    • זוגות מוזהבים ספציפיים של שפה טבעית ל-SQL‏ (NL2SQL)

    לדוגמה, אפשר לספק את זוג הזהב הבא של NL2SQL כנקודת התחלה:

    Question: "What are the names of all airports in California?"
    SQL: "SELECT name FROM airports WHERE state = 'CA';"
    
  5. הסוכן מבקש הרשאה לאמת את התחביר ואת תוקף הביצוע באמצעות הכלי execute_sql. השלב הזה הוא אופציונלי.

  6. הסוכן שואל אם להרחיב את מערך הנתונים עם וריאציות מנתוני הבסיס (החלת מסננים שונים, מילים נרדפות וכו'). השלב הזה הוא אופציונלי.

    הסוכן משתמש בכלי execute_sql כדי להריץ את שאילתות ה-SQL שנוצרו על מסד הנתונים, כדי לאמת את התחביר ואת תוקף הביצוע לפני שהוא מציג אותן לכם.

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

    my-workspace/
    └── autoctx/
        ├── tools.yaml
        ├── state.md
        ├── golden.json  # Generated dataset
        └── experiments/
    

יצירת קבוצה ראשונית של הקשרים

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

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

  1. עוברים לתיקיית סביבת העבודה.
  2. מפעילים את Gemini CLI בספרייה החדשה:

    gemini
  3. מריצים את הפקודה /autoctx:bootstrap ב-Gemini CLI:

    /autoctx:bootstrap

    בדרך כלל אפשר לצפות מהנציג לדברים הבאים:

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

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

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

    my-workspace/
    └── autoctx/
        ├── tools.yaml
        ├── state.md
        └── experiments/
            └── my-experiment/
                └── bootstrap_context.json  # The generated initial context set file
    
  5. פועלים לפי ההוראות כדי להעלות את ההקשר מ-AlloyDB Studio.

הערכת האפקטיביות של ההקשר

תוסף ל-Gemini CLI כולל פקודה מובנית להערכת סוכן הנתונים באמצעות מערך נתונים מוזהב. התוסף משתלב עם Evalbench כדי לבצע הערכות על ידי שליחת שאילתות ל-QueryData API של הסוכן עם השאלות שצוינו בערכת הזהב, ואז השוואה בין ה-SQL שנוצר לבין תוצאות ההרצה שלו לבין ה-SQL של ערכת הזהב. הערכה היא המפתח להבנת היעילות של קבוצת ההקשר הנוכחית. השוואה בין ה-SQL שנוצר לבין מערך הנתונים המוזהב מאפשרת לזהות שאילתות ספציפיות שנכשלות, ותחומים שבהם צריך לשפר את ההקשר.

כדי למדוד את יעילות ההקשר הנוכחי בהשוואה למערך הזהב:

  1. מעלים את ההקשר מ-AlloyDB Studio אל קבוצות ההקשרים של היעד לצורך הערכה. השלב הזה הוא אופציונלי אם ההקשר שצריך להעריך לא מועלה.
  2. עוברים לתיקיית סביבת העבודה.
  3. מפעילים את Gemini CLI בתיקייה:

    gemini
  4. מריצים את הפקודה /autoctx:evaluate ב-Gemini CLI:

    /autoctx:evaluate
  5. מציינים את הנתיבים של מערך הנתונים המוזהב, את מזהה קבוצת ההקשר ליצירת הגדרות ההערכה ולהרצת ההערכה, ואת ספריית הפלט המיועדת.

    בסיום, הסוכן יוצר את תוצאות ההערכה כקבצים בתיקיית הניסוי ומסכם את תוצאת ההערכה.

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

    my-workspace/
    └── autoctx/
        ├── tools.yaml
        ├── state.md
        ├── golden.json
        └── experiments/
            └── my-experiment/
                └── bootstrap_context.json
                └── eval_configs/
                    └── <configs_for_eval_run>/
                └── eval_reports/
                    └── <eval_id>/
                        └── eval_report/
                            ├── configs.csv
                            ├── evals.csv
                            ├── scores.csv
                            └── summary.csv
    

ביצוע ניתוח פערים ואופטימיזציה של ההקשר

כשלב חשוב באופטימיזציה של קבוצת ההקשר, תוסף ל-Gemini CLI כולל פקודה מובנית לביצוע ניתוח פערים בקבוצת ההקשר הקיימת ולהצעת שינויים לשיפור האיכות שלה. ניתוח פערים הוא חיוני כדי להבין למה שאילתות ספציפיות נכשלות ואיפה אפשר לשפר את ההקשר. על סמך הניתוח הזה, Gemini משתמש בחשיבה רציונלית אוטומטית כדי להציע עדכוני הקשר ממוקדים – כמו תבניות או מאפיינים חדשים – כדי לטפל בכשלים האלה ולשפר באופן איטרטיבי את הדיוק של השאילתות.

  1. עוברים לתיקיית סביבת העבודה.
  2. מפעילים את Gemini CLI בתיקייה:

    gemini
  3. מריצים את הפקודה /autoctx:hillclimb ב-Gemini CLI:

    /autoctx:hillclimb

    הסוכן מזהה באופן אוטומטי את תוצאות ההערכה המתאימות ביותר ואת הקשר הבסיסי לשיטת טיפוס הגבעות, ומבקש אישור אם יש כמה אפשרויות.

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

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

    my-workspace/
    └── autoctx/
        ├── tools.yaml
        ├── state.md
        ├── golden.json
        └── experiments/
            └── my-experiment/
                └── bootstrap_context.json
                └── eval_configs/
                └── eval_reports/
                └── hillclimb/
                    └── gap_analysis_v1.md
    

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

    כשהקובץ מוכן, נוצר באופן מקומי קובץ JSON חדש ומשופר של ההקשר, וקובץ ה-JSON של ההקשר הבסיסי נשאר ללא שינוי.

    my-workspace/
    └── autoctx/
        ├── tools.yaml
        ├── state.md
        ├── golden.json
        └── experiments/
            └── my-experiment/
                └── bootstrap_context.json
                └── eval_configs/
                └── eval_reports/
                └── hillclimb/
                    ├── gap_analysis_v1.md
                    └── improved_context_v1.md
    
  4. פועלים לפי ההוראות כדי להעלות את ההקשר אל קבוצת ההקשרים של היעד מ-AlloyDB Studio, ומוכנים לסבב הבא של איטרציה שמתחיל בהערכה.

מגבלות

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

יצירת הקשר מטורגט

אם אתם מעדיפים גישה מותאמת יותר ליצירת הקשר, אתם יכולים להשתמש בתוסף DB Context Enrichment כדי ליצור באופן ידני רכיבי הקשר ספציפיים. הפקודות הבאות יעזרו לכם ליצור הקשר כקובץ JSON, ויאפשרו לכם שליטה מדויקת בתבנית, בהיבט וביצירת שאילתת חיפוש של ערך.

יצירת תבניות מטורגטות

כדי להוסיף זוג ספציפי של שאילתת SQL כשאילתת תבנית לקבוצת ההקשר, משתמשים בפקודה /generate_targeted_templates.

מידע נוסף על קובץ הגדרת ההקשר ועל תבנית השאילתה זמין במאמר סקירה כללית על הגדרות הקשר.

כדי להוסיף תבנית שאילתה לקבוצת ההקשר, מבצעים את השלבים הבאים:

  1. מריצים את הפקודה /generate_targeted_templates ב-Gemini CLI:

    /generate_targeted_templates
  2. מזינים את השאילתה בשפה טבעית שרוצים להוסיף לתבנית השאילתה.

  3. מזינים את שאילתת ה-SQL המתאימה בתבנית השאילתה.

  4. בודקים את תבנית השאילתה שנוצרה. אפשר לשמור את תבנית השאילתה כקובץ של קבוצת הקשר, או לצרף אותה לקובץ קיים של קבוצת הקשר.

קובץ ההקשר, לדוגמה my-cluster-psc-primary_postgres_context_set_20251104111122.json, נשמר בספרייה שבה הפעלתם את הפקודות.

יצירת היבטים מטורגטים

כדי להוסיף שאילתה ספציפית לתנאי SQL כהיבט לקובץ של קבוצת ההקשר, משתמשים בפקודה /generate_targeted_facets.

מידע נוסף על קובץ הגדרת ההקשר וההיבטים זמין במאמר סקירה כללית על הגדרות הקשר

כדי להוסיף היבט לקובץ של קבוצת ההקשר, מבצעים את השלבים הבאים:

  1. מריצים את הפקודה /generate_targeted_facets ב-Gemini CLI:

    /generate_targeted_facets
  2. מזינים את הכוונה בשפה טבעית שרוצים להוסיף לפן.

  3. מזינים את קטע ה-SQL המתאים להיבט.

  4. בודקים את ההיבט שנוצר. אפשר לשמור את הפן בקובץ של קבוצת הקשר או לצרף אותו לקובץ קיים של קבוצת הקשר.

קובץ ההקשר, לדוגמה my-cluster-psc-primary_postgres_context_set_20251104111122.json, נשמר בספרייה שבה הפעלתם את הפקודות.

יצירת שאילתות חיפוש של ערכים

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

מידע נוסף על אינדקס הערכים זמין במאמר סקירה כללית על קבוצות הקשרים

כדי ליצור אינדקס ערכים, מבצעים את השלבים הבאים:

  1. מריצים את הפקודה /generate_targeted_value_searches:

    /generate_targeted_value_searches
  2. מזינים postgresql כדי לבחור ב-AlloyDB כמנוע מסד הנתונים.

  3. מזינים את הגרסה של PostgreSQL שבה רוצים להשתמש. בוחרים באפשרות default כדי לבחור ב-PostgreSQL 16.

  4. מזינים את הגדרת החיפוש של הערך באופן הבא:

    Table name: TABLE_NAME
    Column name: COLUMN_NAME
    Concept type: CONCEPT_TYPE
    Match function: MATCH_FUNCTION
    Description: DESCRIPTION
    

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

    • TABLE_NAME: הטבלה שבה קיימת העמודה שמשויכת לסוג המושג.
    • COLUMN_NAME: שם העמודה שמשויכת לסוג המושג.
    • CONCEPT_TYPE: סוג המושג להגדרה. לדוגמה: City name.
    • MATCH_FUNCTION: פונקציית ההתאמה שמשמשת לחיפוש ערכים. אפשר להשתמש באחת מהפונקציות הבאות:

      • EXACT_STRING_MATCH: להתאמה מדויקת של שני ערכי מחרוזת. הכי מתאים למזהים ייחודיים, לקודים ולמפתחות ראשיים.
      • TRIGRAM_STRING_MATCH: להתאמה משוערת שמחשבת את המרחק הנורמלי של טריגרם. האפשרות הכי טובה לחיפושי משתמשים ולתיקון שמות. כדי להשתמש ב-TRIGRAM_STRING_MATCH, צריך להפעיל את התוסף pg_trgm.
      • SEMANTIC_SIMILARITY_MATCH: לחיפוש סמנטי של ערכי מחרוזות. האפשרות הכי טובה לחיפושים בשפות שונות ולחיפושים של מילים נרדפות. רשימת הדגמים הנתמכים זמינה במאמר דגמי Google הנתמכים. כדי להשתמש ב-SEMANTIC_SIMILARITY_MATCH, צריך להפעיל את התוסף vector ואת התוסף google_ml_integration.
    • DESCRIPTION: (אופציונלי) תיאור של שאילתת החיפוש של הערך.

  5. מוסיפים חיפושים של ערכים נוספים לפי הצורך. אם לא מוסיפים עוד אינדקסים של ערכים, יצירת ה-SQL שמבוססת על התבנית עוברת לשלב הבא.

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

קובץ ההקשר, לדוגמה my-cluster-psc-primary_postgres_context_set_20251104111122.json, נשמר בספרייה שבה הפעלתם את הפקודות.

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