כדי לפתור בעיות באימון המודל, בהכנת השאילתות ובביצועים כשמריצים פונקציות AI שעברו אופטימיזציה ב-AlloyDB ל-PostgreSQL, צריך ליישם את התיקונים המומלצים לאזהרות או לשגיאות שהוחזרו בשאילתות.
צפויה ירידה בביצועים. פונקציית ה-AI שעברה אופטימיזציה לא זמינה
תיאור
האזהרה הזו מציינת שהשאילתה חזרה להשתמש ב-LLM. זה קורה כשהפונקציה שעברה אופטימיזציה עדיין בתהליך אימון, לא הוכנה אף פעם, נכשלה בבדיקת האימות של הדיוק בזמן הריצה, או אם עמודות התוכן וההטמעה שאליהן מפנה הפונקציה ai.if() לא שייכות לאותה טבלה. בטבלאות קטנות יותר, יכול להיות שמודל ה-proxy לא יכליל בצורה טובה, והדיוק בדרך כלל נמוך מ-95%, לכן AlloyDB משתמש ב-LLM כברירת מחדל.
דוגמה לשאילתה שגורמת לשגיאה
EXECUTE positive_reviews_query;
תיקון מומלץ
- מחכים עד שהאימון של הפונקציה המותאמת אישית יסתיים.
- חשוב לוודא שהשאילתה מוכנה בצורה נכונה באמצעות ההצהרה
PREPARE. - מוודאים שהעמודות של התוכן וההטמעה שאליהן מפנה הפונקציה
ai.if()שייכות לאותה טבלה. - פונקציות שעברו אופטימיזציה (גרסת טרום-השקה (Preview)) מתאימות יותר לטבלאות גדולות. אתם יכולים גם להשתמש בפונקציות AI מבוססות-מערך כדי לשפר את הביצועים.
אם אתם רוצים לעקוף את בדיקת הדיוק בזמן הריצה (לדוגמה, בסביבות פיתוח), הגדירו את
google_ml_integration.runtime_accuracy_checkל-offלכל סביבת מסד הנתונים.ALTER DATABASE DATABASE_NAME SET google_ml_integration.runtime_accuracy_check = off;מחליפים את
DATABASE_NAMEבשם של מסד הנתונים.
השאילתה לא מעבדת שורות או שהכנת המודל נכשלת
תיאור
אם השאילתה לא מעבדת שורות, הסיבה העיקרית היא שההטמעות לא נוצרות או שכל עמודת ההטמעה מכילה ערכי NULL. במקרה כזה, הכנת השאילתה תיכשל כי לא נדגמות שורות עם הטמעות NULL.
תיקון מומלץ
- לפני שמשתמשים בפונקציות שעברו אופטימיזציה, צריך ליצור הטמעות לנתונים.
- חשוב לוודא שעמודת ההטמעה לא מכילה ערכי
NULL. - שאילתות ששונות רק בערכים קבועים בסעיף
WHEREעדיין יכולות להשתמש במודל מאומן קיים.
הביצועים איטיים למרות השימוש בפונקציות AI שעברו אופטימיזציה
תיאור
מוודאים שלא חורגים מהמכסה של Gemini Enterprise Agent Platform. גם עם פונקציות AI שעברו אופטימיזציה, בדיקת הדיוק הראשונית של זמן הריצה דורשת קריאה ל-LLM המרוחק בשביל דגימה של שורות. אם המכסה לא מספיקה, הבדיקה הראשונית הזו עלולה להיות איטית או להיכשל.
תיקון מומלץ
כדי לוודא שבדיקת הדיוק הראשונית בזמן הריצה תתבצע ללא עיכובים, בדקו את המכסה של Agent Platform ובקשו להגדיל אותה במקרה הצורך.
שגיאה: הפונקציה ai.if(prompt => text, embedding => vector) לא קיימת
תיאור
אם מעבירים את הפרמטר model_id יחד עם עמודת ההטמעה כשקוראים לפונקציה ai.if(), AlloyDB לא משתמש במודל ה-proxy שאומן, ויוצר שגיאה שדומה לזו:
testdb=# select ai.if('Is the rating positive?' || review, review_embedding, 'gemini-2.5-pro') from restaurant_reviews;
ERROR: function ai.if(text, vector, unknown) does not exist
LINE 1: select ai.if('Is the rating positive?' || review, review_embe...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
תיקון מומלץ
חשוב לוודא שלא מעבירים את הערך model_id כשמפעילים את הפונקציה ai.if(). כך אפשר לוודא ש-AlloyDB משתמש במודל ה-proxy שעבר אימון כדי לעבד את השאילתה.