מבוא ל-QueryData

‫QueryData הוא כלי להמרת שפה טבעית ל-SQL‏ (NL2SQL) ב-Conversational Analytics API, שמאפשר לסוכני ה-AI ולאפליקציות שלכם לשלוח שאילתות למסדי נתונים תפעוליים באמצעות שפה טבעית. כשאפליקציה או סוכן שולחים שאלה בשפה טבעית, QueryData מתרגם את השאלה לשאילתת SQL ספציפית לניב, מריץ את השאילתה במסד הנתונים ומחזיר את תוצאות השאילתה יחד עם ה-SQL שנוצר והסבר על האופן שבו QueryData פירש את השאלה.

למידע נוסף על השימוש ב-QueryData עם מסד הנתונים, עיינו במסמכי התיעוד של מסדי הנתונים הנתמכים:

יכולות עיקריות

‫QueryData מספק את היכולות הבאות לאפליקציות של מסדי נתונים מבוססי-סוכנים:

  • רמת דיוק גבוהה: אפשר להגיע לדיוק של כמעט 100% בשאילתות קריטיות לעסק על ידי שילוב של מטא-נתונים של סכימת מסד נתונים עם קבוצות הקשר שאתם אוצרים.
  • רלוונטיות עסקית: יצירת SQL שמבוססת על המונחים, הגדרות המדדים והלוגיקה העסקית של הארגון, במקום להסתמך רק על שמות גולמיים של טבלאות ועמודות.
  • הסברים: יצירת הסברים קריאים לאנשים על הכוונה, לצד שאילתת ה-SQL המסונתזת והתשובה בשפה טבעית, כדי שאתם והמשתמשים שלכם תוכלו לאמת את האופן שבו QueryData תרגם בקשה.
  • אבטחת מידע: אכיפה של בקרת גישה ברמת השורה והגנה על נתוני המשתמשים מפני החדרת פרומפטים באמצעות תצוגות מאובטחות עם פרמטרים ב-AlloyDB, ב-Cloud SQL ל-MySQL וב-Cloud SQL ל-PostgreSQL.

מתי להשתמש ב-QueryData

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

  • אוטומציה של שירות לקוחות: מענה על פניות רבות של משתמשים, כמו "איפה ההזמנה שלי?" או "מה היתרה הנוכחית בחשבון שלי?"
  • עוזרים דיגיטליים לחיפוש בקטלוגים ובאתרי מסחר אלקטרוני: עוזרים למשתמשים לסנן ולעיין בקטלוגים מובְנים באמצעות שאלות עם כמה קריטריונים, כמו "תראה לי מחשבים ניידים קלים עם זיכרון RAM בנפח של 16GB לפחות וחיי סוללה של יותר מ-10 שעות".
  • פעולות בשטח וכלים פנימיים: העובדים יכולים לשלוח שאילתות לגבי רמות המלאי, זמינות החלקים או סטטוסים של כרטיסי שירות בזמן אמת.
  • Agentic Workflows: חשיפת שאילתות מובְנות של מסדי נתונים ככלי במסגרות Agentic Workflows כמו Agent Development Kit (ADK),‏ MCP Toolbox for Databases או LangChain.

איך QueryData פועל

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

  • אונטולוגיות של סכימות: תיאורים מועשרים של טבלאות ועמודות בקטלוג של מסד הנתונים או ב-Knowledge Catalog, שמסבירים את המשמעות העסקית של טבלאות, עמודות, קודי סטטוס וקשרי איחוד.
  • קבוצות הקשר: אוספים שנאספו ומשויכים למכונה של מסד הנתונים, שמגדירים את שלוש אבני הבניין הבאות:
    • תבניות של שאילתות: שאלות מייצגות בשפה טבעית, בשילוב עם הצהרות SQL מאומתות שמכילות פרמטרים והסברים על כוונת המשתמש.
    • היבטי שאילתה: פרדיקטים מודולריים של SQL וקטעי מסננים ש-QueryData משלב באופן דינמי עם תבניות של שאילתות כדי לתמוך בחיפוש לפי היבטים, בלי צורך בתבנית נפרדת לכל שילוב של מסננים.
    • חיפושי ערכים: שאילתות חיפוש מדויקות, שאילתות חיפוש של טריגרמות מטושטשות או שאילתות חיפוש וקטוריות סמנטיות שמקשרות בין ביטויים לא רשמיים של משתמשים, מילים נרדפות או מונחים עם שגיאות כתיב לבין ערכים ועמודות בפועל במסד הנתונים.

כשהאפליקציה קוראת ל-method‏ projects.locations.queryData ב-Conversational Analytics API, ‏ QueryData מבצע את השלבים הבאים:

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

אסטרטגיות להשגת דיוק של כמעט 100% בהמרת טקסט ל-SQL

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

למידע נוסף על אסטרטגיות מומלצות (או מתכונים) לפתרון פערי דיוק, כולל דיאגרמות ארכיטקטורה, דוגמאות ל-SQL ונקודות השוואה להערכה, קראו את המאמר שישה מתכונים להשגת דיוק של כמעט 100% בהמרת טקסט ל-SQL ונסו את ה-Codelab הנלווה כדי ללמוד איך להטמיע את המתכונים האלה לדיוק בהמרת טקסט ל-SQL.

לסיכום, אלה ששת המתכונים:

  • מתכון 0: אתחול של קבוצת הקשרים וחיבור האפליקציה. מתחילים בהוספת הערות תיאוריות לטבלאות ולעמודות בסכימה, ומחברים את האפליקציה ל-QueryData באמצעות ספריות הלקוח של Conversational Analytics API או הכלי cloud-gemini-data-analytics-query ב-MCP Toolbox for Databases.
  • מתכון 1: הוספת פרשנות באמצעות תבניות של שאילתות. ספקו דוגמאות לשאילתות SQL מאומתות לשאלות העסקיות הכי חשובות שלכם, והפכו אותן לתבניות SQL עם פרמטרים, הסברים על כוונות עם פרמטרים ומניפסטים שמתעדים וריאציות של שאלות עם משמעות זהה.
  • מתכון 2: שימוש בתבניות עם פאסטות. אפשר לשלב תבניות של שאילתות בסיסיות עם היבטים מודולריים של שאילתות (תנאי SQL שניתן לעשות בהם שימוש חוזר עם מניפסטים וכוונות משלהם), כדי ש-QueryData יוכל ליצור באופן דינמי שאילתות עם כמה מסננים בלי לדרוש תבנית נפרדת לכל שילוב של תנאים.
  • מתכון 3: הפגת עמימות באמצעות חיפוש ערכים. הגדירו שאילתות חיפוש של ערכים כדי לקשר ביטויים של ערכים בשאלות בשפה טבעית – כולל טרמינולוגיה פרטית, מילים נרדפות ושגיאות כתיב – לעמודות ולערכים בפועל במסד הנתונים, ותנו ל-QueryData לבקש הבהרה כשמונח תואם לכמה סוגי ישויות.
  • מתכון 4: שילוב של חיפוש סמנטי ואופרטורים של AI. שלבו תבניות SQL מובנות והיבטים עם חיפוש וקטורי ואופרטורים של AI במסד הנתונים (כמו AI.IF ו-AI.RANK ב-AlloyDB) כדי לסנן ולדרג טקסט לא מובנה או נתונים מולטי-מודאליים באמצעות קריטריונים סמנטיים.
  • מתכון 5: שימוש בתצוגות מאובטחות עם פרמטרים. אפשר לאכוף אבטחה מחמירה ברמת השורה ולהגן על נתוני המשתמשים מפני החדרת פרומפטים, על ידי קישור פרמטרים של משתמשים מאומתים בתצוגות מאובטחות עם פרמטרים ב-AlloyDB, ב-Cloud SQL ל-MySQL וב-Cloud SQL ל-PostgreSQL.

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

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