סקירה כללית על AI גנרטיבי

במאמר הזה מתוארות הפונקציות של בינה מלאכותית (AI) גנרטיבית שנתמכות ב-BigQuery. הפונקציות האלה מקבלות קלט בשפה טבעית ומשתמשות במודלים של Gemini Enterprise Agent Platform שאומנו מראש ובמודלים מובְנים של BigQuery.

ב-BigQuery יש מגוון פונקציות מבוססות-AI שעוזרות לבצע משימות כמו:

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

פונקציות ה-AI מחולקות לקטגוריות הבאות כדי לעזור לכם לבצע את המשימות האלה:

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

    • ביצוע הסקה של מודל שפה גדול (LLM), למשל כדי לענות על שאלות לגבי הנתונים

      • ‫AI.GENERATE היא פונקציית ההסקה הכי גמישה, שמאפשרת לכם לנתח כל נתון מובנה או לא מובנה.
      • ‫AI.GENERATE_TEXT היא גרסה של AI.GENERATE עם ערך טבלה, שתומכת גם במודלים של שותפים ובמודלים פתוחים.
    • ליצור פלט מובנה, כמו חילוץ שמות, כתובות או תיאורי אובייקטים מטקסט, ממסמכים או מתמונות.

      • AI.GENERATE, כשמציינים סכימת פלט.
      • ‫AI.GENERATE_TABLE היא גרסה של AI.GENERATE עם ערך טבלה, שקוראת למודל מרוחק ומאפשרת לציין סכימת פלט מותאמת אישית.
      • אם סכימת הפלט כוללת שדה יחיד, אפשר להשתמש באחת מהפונקציות הייעודיות: AI.GENERATE_BOOL,‏ AI.GENERATE_DOUBLE או AI.GENERATE_INT.
    • ליצור הטמעות לחיפוש סמנטי ולאשכולות

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

    • ‫AI.IF: סינון הנתונים באמצעות תנאים בשפה טבעית.

    • ‫AI.SCORE: דירוג הקלט, למשל לפי איכות או סנטימנט.

    • ‫AI.CLASSIFY: מסווג קלט לקטגוריות שהוגדרו על ידי המשתמש.

    • ‫AI.AGG: קלט מצטבר לסיכום או לניתוח הנתונים.

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

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

פונקציות AI למטרות כלליות

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

ביצוע הסקת מסקנות באמצעות LLM

הפונקציה AI.GENERATE היא פונקציית הסקה גמישה שפועלת על ידי שליחת בקשות למודל Gemini בפלטפורמת הסוכנים של Gemini Enterprise והחזרת התשובה של המודל. אתם יכולים להשתמש בפונקציה הזו כדי לנתח נתונים של טקסט, תמונה, אודיו, וידאו או PDF. לדוגמה, אתם יכולים לנתח תמונות של ריהוט לבית כדי ליצור טקסט דינמי מבוסס-AI לעמודה design_type, כך שלמק"ט של הריהוט יהיה תיאור משויך, כמו mid-century modern או farmhouse.

אתם יכולים לבצע משימות AI גנרטיבי באמצעות מודלים מרוחקים ב-BigQuery ML כדי להפנות למודלים שנפרסו ב-Agent Platform או מתארחים בה, באמצעות הפונקציה AI.GENERATE_TEXT מסוג table-valued. אפשר להשתמש בסוגים הבאים של מודלים מרוחקים:

כדי לנסות ליצור טקסט ב-BigQuery ML, אתם יכולים להיעזר בנושאים הבאים:

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

יצירת נתונים מובְנים

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

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

יצירת הטמעות

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

אלה כמה תרחישי שימוש נפוצים להטמעת יצירה:

  • שימוש ב-Retrieval-Augmented Generation (יצירה משולבת-אחזור, RAG) כדי להוסיף תגובות למודל לשאילתות של משתמשים על ידי הפניה לנתונים נוספים ממקור מהימן. השימוש ב-RAG משפר את הדיוק העובדתי ואת העקביות של התגובות, ומאפשר גישה לנתונים חדשים יותר מנתוני האימון של המודל.
  • ביצוע חיפוש מרובה מצבים. לדוגמה, שימוש בקלט טקסט כדי לחפש תמונות.
  • ביצוע חיפוש סמנטי כדי למצוא פריטים דומים להמלצות, להחלפה ולביטול כפילויות של רשומות.
  • יצירת הטמעות לשימוש עם מודל k-means לאשכולות.

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

פונקציות AI מנוהלות

פונקציות AI מנוהלות מפשטות משימות שגרתיות, כמו סינון, סיווג או צבירה. הפונקציות האלה יכולות לנתח נתונים של טקסט, תמונות, אודיו, סרטונים או קובצי PDF. הפונקציות האלה מבוססות על Gemini ולא דורשות התאמה אישית. ‫BigQuery משתמש בהנדסת פרומפטים ויכול לבחור את המודל והפרמטרים המתאימים לשימוש במשימה הספציפית כדי לשפר את האיכות והעקביות של התוצאות. כל פונקציה מחזירה ערך סקלרי, כמו BOOL,‏ FLOAT64 או STRING, ולא כוללת מידע נוסף על הסטטוס מהמודל. אלה פונקציות ה-AI המנוהלות שאפשר להשתמש בהן:

  • ‫AI.IF: סינון נתונים מבוססי-טקסט או מולטי-מודאליים, למשל בסעיף WHERE או JOIN, על סמך הנחיה. לדוגמה, אפשר לסנן תיאורי מוצרים לפי אלה שמתארים פריט שיכול להיות מתנה טובה.
  • ‫AI.SCORE: דירוג קלט על סמך הנחיה כדי לדרג שורות לפי איכות, דמיון או קריטריונים אחרים. אפשר להשתמש בפונקציה הזו בסעיף ORDER BY כדי לחלץ את K הפריטים המובילים לפי הניקוד. לדוגמה, אתם יכולים למצוא את 10 הביקורות החיוביות או השליליות ביותר של משתמשים על מוצר מסוים.
  • ‫AI.CLASSIFY: סיווג טקסט לקטגוריות שהמשתמש הגדיר. אפשר להשתמש בפונקציה הזו בסעיף GROUP BY כדי לקבץ קלט לפי הקטגוריות שמגדירים. לדוגמה, אפשר לסווג כרטיסי תמיכה לפי הנושאים שלהם: חיוב, משלוח, איכות המוצר או נושא אחר.
  • ‫AI.AGG: צבירת קלט על סמך הוראות בשפה טבעית כדי לסכם או לנתח את הנתונים. לדוגמה, אפשר לסרוק יומנים של סשנים באפליקציות של משתמשים כדי לזהות נקודות שבהן הלקוחות נתקלים בקשיים, או לסכם את התוכן של קבוצה גדולה של תמונות.

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

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

פונקציות שקשורות למשימות

בנוסף לפונקציות הכלליות יותר שמתוארות בקטעים הקודמים, אתם יכולים לפתח פתרונות ספציפיים למשימות ב-BigQuery ML באמצעות ממשקי AI ב-Cloud API. המשימות הנתמכות כוללות:

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

מיקומים

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

ב-BigQuery יש תמיכה במודלים הבאים:

  • gemini-4-argon
  • gemini-3.8-flash
  • gemini-3.7-flash
  • gemini-3.6-flash
  • gemini-3.5-flash-lite
  • gemini-3.5-flash
  • gemini-3.1-flash-lite
ב-Agent Platform יש תמיכה רק בנקודות קצה בכמה אזורים למודלים האלה. אין תמיכה בנקודות קצה אזוריות. אם מציינים שם קצר של נקודת קצה (endpoint) שמשמיט את האזור, כמו gemini-3.5-flash, אז BigQuery בוחר נקודת קצה לפי הכללים הבאים:
  • אם השאילתה מופעלת באזור us או בכל אזור אחר בארה"ב, BigQuery משתמש בנקודת הקצה us.
  • אם השאילתה מופעלת באזור eu, או בכל אזור אחר באיחוד האירופי חוץ מ-europe-west2 או europe-west6, אז BigQuery משתמש בנקודת הקצה eu.
  • בכל שאר המיקומים, כולל europe-west2 ו-europe-west6, BigQuery משתמש בנקודת הקצה global.
כדי לציין נקודת קצה ספציפית, צריך להשתמש בשם מלא של נקודת קצה בכמה אזורים באחד מהפורמטים הבאים:
  • https://aiplatform.us.rep.googleapis.com/v1/projects/PROJECT_ID/locations/us/publishers/google/models/MODEL_ID
  • https://aiplatform.eu.rep.googleapis.com/v1/projects/PROJECT_ID/locations/eu/publishers/google/models/MODEL_ID
  • https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/MODEL_ID
אם השאילתה פועלת באזור asia-south1, צריך להשתמש בשם המלא של נקודת הקצה הגלובלית.

מגבלות

בתוך היקף של VPC Service Controls, פונקציות AI לא יכולות לעבד ערכי ObjectRef שמשתמשים בגישה שהוקצתה. גישה שהוקצתה יוצרת כתובת URL חתומה מסוג HTTPS לאובייקט, ו-Agent Platform חוסמת אחזורים מסוג HTTP ו-HTTPS לפרויקטים בתוך היקף. הפונקציה כותבת את השגיאה הבאה בשדה status של הפלט שלה:

INVALID_ARGUMENT: HTTP links are not supported for requests restricted by VPCSC.

מכיוון שהעמודה ref של טבלת אובייקטים תמיד משתמשת בחיבור של טבלת האובייקטים כגורם המאשר, העברת ref לפונקציית AI בתוך היקף תמיד מחזירה את השגיאה הזו. כדי לנתח את האובייקט, צריך להעביר ערך OBJ.MAKE_REF(uri) עם ארגומנט יחיד, שמשתמש בגישה ישירה ושולח את ה-URI של Cloud Storage למודל בלי ליצור כתובת URL חתומה.

תמחור

אתם מחויבים על משאבי החישוב שבהם אתם משתמשים כדי להריץ שאילתות על מודלים. מודלים מרוחקים שולחים קריאות למודלים של Agent Platform, ולכן שאילתות למודלים מרוחקים כרוכות גם בחיובים מ-Agent Platform.

למידע נוסף, קראו את המאמר תמחור ב-BigQuery ML.

מעקב אחרי השימוש בטוקנים

כשמפעילים פונקציית AI גנרטיבי שמשתמשת במודל Gemini שאינו מודל הטמעה, אפשר לראות את המספר הכולל של כל סוג של טוקן שעובד על ידי השאילתה. בחלונית Query results (תוצאות השאילתה), לוחצים על Job information (פרטי המשרה). הנתונים הבאים מופיעים, עם פירוט לפי אופן השימוש אם רלוונטי:

  • ‫Input token count: המספר הכולל של טוקנים של קלט לכל הפונקציות של ה-AI הגנרטיבי שנקראו בשאילתה.
  • כמות הטוקנים בפלט. המספר הכולל של הטוקנים בכל התשובות האפשריות שנוצרו על ידי השאילתה.
  • כמות הטוקנים של החשיבה. המספר הכולל של הטוקנים שהיו חלק מהמחשבות שהמודל יצר, אם רלוונטי.
  • כמות הטוקנים במטמון. המספר הכולל של טוקנים של קלט שנשמרו במטמון באופן מרומז על ידי השאילתה.

מעקב אחרי העלויות

פונקציות ה-AI הגנרטיבי ב-BigQuery פועלות על ידי שליחת בקשות אל Gemini Enterprise Agent Platform, וזה יכול להיות כרוך בעלויות. כדי להעריך את מספר הטוקנים של הקלט לפני שמריצים שאילתה, משתמשים בפונקציה AI.COUNT_TOKENS. כדי לעקוב אחרי העלויות של Agent Platform שנוצרו בעקבות משימה שהרצתם ב-BigQuery, בצעו את הפעולות הבאות:

  1. הצגת דוחות החיוב בחיוב ב-Cloud.
  2. להשתמש במסננים כדי לצמצם את התוצאות.

    בקטע Services, בוחרים באפשרות Vertex AI.

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

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

יכול להיות שיעברו עד 24 שעות לפני שחיובים מסוימים יופיעו בחיוב ב-Cloud.

מעקב

כדי להבין טוב יותר את ההתנהגות של פונקציות AI שאתם מפעילים ב-BigQuery, אתם יכולים להפעיל רישום ביומן של בקשות ותגובות. כדי לרשום ביומן את כל הבקשה והתשובה שנשלחו אל Agent Platform והתקבלו ממנה, פועלים לפי השלבים הבאים:

  1. להפעיל יומני בקשות ותשובות ב-Gemini Enterprise Agent Platform. היומנים מאוחסנים ב-BigQuery. צריך להפעיל בנפרד את הרישום ביומן לכל מודל בסיס ואזור שונים. כדי לתעד שאילתות שפועלות באזור us, צריך לציין את האזור us-central1 בבקשה. כדי לרשום ביומן שאילתות שמופעלות באזור eu, צריך לציין את האזור europe-west4 בבקשה.

  2. מריצים שאילתה באמצעות פונקציית AI ששולחת קריאה ל-Agent Platform באמצעות המודל שהפעלתם בשבילו את הרישום ביומן בשלב הקודם.

  3. כדי לראות את הבקשה והתגובה המלאות של Agent Platform, צריך לשלוח שאילתה בטבלת הרישום ביומן כדי למצוא שורות שבהן הערך בשדה labels.bigquery_job_id_prefix של העמודה full_request תואם ל-63 התווים הראשונים של מזהה משימה. אם רוצים, אפשר להשתמש בתווית שאילתה בהתאמה אישית כדי לחפש את השאילתה ביומנים.

    לדוגמה, אתם יכולים להשתמש בשאילתה דומה לזו:

    SELECT *
    FROM `my_project.my_dataset.request_response_logging`
    WHERE JSON_VALUE(full_request, '$.labels.bigquery_job_id_prefix') = 'bquxjob_123456...';
    

ניהול שגיאות

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

כל פונקציות ה-AI עלולות להיתקל בשגיאות האלה. עם זאת, פונקציות ה-AI המנוהלות (AI.IF,‏ AI.CLASSIFY ו-AI.SCORE) תומכות בארגומנט max_error_ratio כדי לעזור לכם לנהל אותן. משתמשים בארגומנט הזה כדי להגדיר סף של כשלים שיאפשר לשאילתה להצליח למרות כשלים ברמת השורה.

ערך ברירת המחדל של max_error_ratio הוא 1.0. כדי להקטין את סבילות השגיאות, מגדירים ערך קטן יותר (לדוגמה, 0.2) כך שהשאילתה תיכשל במקום להצליח עם כשלים חלקיים. פרטים על התחביר מופיעים במסמכי העזרה של AI.IF,‏ AI.CLASSIFY או AI.SCORE.

אם השאילתה מצליחה עם כשלים חלקיים, BigQuery מחזיר אזהרה. כדי לקבל מידע נוסף על השגיאות בפונקציית AI גנרטיבי, אפשר לעיין בשדה Gen AI function errors בכרטיסייה Job information של תוצאות השאילתה במסוף Google Cloud .

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

לדוגמה, נניח שהשאילתה שלכם כוללת פסקה של LIMIT 10 ו-max_error_ratio של 0.2. יכול להיות שהמודל יעבד 20 שורות לפני שהמגבלה תופעל. אם 3 מתוך 20 השורות האלה נכשלות, יחס השגיאות הוא 0.15 (15%), שהוא מתחת לסף של 20%. עם זאת, אם קבוצת המשנה של השורות שנבחרו על ידי משפט ה-LIMIT כוללת את כל 3 השורות שנכשלו, הפלט הגלוי יכיל 30% ערכי NULL.

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