המדריך הזה יעזור לכם לאבחן ולפתור בעיות נפוצות שמתעוררות כשמבצעים קריאה ל-Gemini API. יכול להיות שתיתקלו בבעיות בשירות העורפי של Gemini API או בערכות ה-SDK של הלקוח. ערכות ה-SDK ללקוחות שלנו מבוססות על קוד פתוח במאגרים הבאים:
אם נתקלתם בבעיות במפתח API, אתם צריכים לוודא שהגדרתם אותו בצורה נכונה לפי מדריך ההגדרה של מפתח API.
קודי שגיאה של שירות ה-Backend של Gemini API
בטבלה הבאה מפורטים קודי שגיאות נפוצים בשרת האחורי, יחד עם הסברים לגבי הסיבות להן ושלבים לפתרון בעיות:
קוד HTTP | סטטוס | תיאור | דוגמה | הפתרון |
400 | INVALID_ARGUMENT | הפורמט של גוף הבקשה שגוי. | יש שגיאת הקלדה או שדה חובה חסר בבקשה. | בהפניית ה-API אפשר למצוא מידע על פורמט הבקשות, דוגמאות וגרסאות נתמכות. שימוש בתכונות מגרסת API חדשה יותר עם נקודת קצה ישנה יותר עלול לגרום לשגיאות. |
400 | FAILED_PRECONDITION | השימוש ב-Gemini API בחינם לא זמין במדינה שלך. צריך להפעיל את החיוב בפרויקט ב-Google AI Studio. | אתם שולחים בקשה באזור שבו לא נתמכת רמת השימוש החינמית, ולא הפעלתם חיוב בפרויקט שלכם ב-Google AI Studio. | כדי להשתמש ב-Gemini API, תצטרכו להגדיר תוכנית בתשלום באמצעות Google AI Studio. |
403 | PERMISSION_DENIED | למפתח ה-API שלכם אין את ההרשאות הנדרשות. | אתם משתמשים במפתח API שגוי; אתם מנסים להשתמש במודל שעבר התאמה בלי לעבור אימות תקין. | בודקים שמפתח ה-API מוגדר ושיש לו את הגישה הנכונה. כדי להשתמש במודלים שעברו התאמה, חשוב לוודא שאתם עוברים אימות תקין. |
404 | NOT_FOUND | המשאב המבוקש לא נמצא. | לא נמצא קובץ תמונה, אודיו או וידאו שההפניה אליו מופיעה בבקשה. | בודקים אם כל הפרמטרים בבקשה תקפים לגרסת ה-API שלכם. |
429 | RESOURCE_EXHAUSTED | חרגת ממגבלת הקצב. | אתם שולחים יותר מדי בקשות לדקה באמצעות Gemini API ברמת השימוש החינמית. | מוודאים שאתם לא חורגים ממגבלת הקצב של המודל. במקרה הצורך, מבקשים להגדיל את המכסה. |
500 | פנימי | קרתה שגיאה לא צפויה בצד של Google. | הקשר של הקלט ארוך מדי. | כדאי לצמצם את הקשר של הקלט או לעבור באופן זמני למודל אחר (למשל מ-Gemini 1.5 Pro ל-Gemini 1.5 Flash) ולבדוק אם זה עוזר. אפשר גם להמתין קצת ולנסות שוב לשלוח את הבקשה. אם הבעיה נמשכת אחרי שמנסים שוב, אפשר לדווח עליה באמצעות הכפתור שליחת משוב ב-Google AI Studio. |
503 | UNAVAILABLE | יכול להיות שהשירות עמוס מדי או מושבת באופן זמני. | השירות חורג באופן זמני מהקיבולת שלו. | עוברים באופן זמני למודל אחר (למשל מ-Gemini 1.5 Pro ל-Gemini 1.5 Flash) ובודקים אם זה עובד. אפשר גם להמתין קצת ולנסות שוב לשלוח את הבקשה. אם הבעיה נמשכת אחרי שמנסים שוב, אפשר לדווח עליה באמצעות הכפתור שליחת משוב ב-Google AI Studio. |
504 | DEADLINE_EXCEEDED | השירות לא יכול לסיים את העיבוד לפני המועד האחרון. | ההנחיה (או ההקשר) שלך גדולה מדי לעיבוד בזמן. | כדי למנוע את השגיאה הזו, צריך להגדיר ערך גבוה יותר של 'timeout' בבקשת הלקוח. |
בדיקה של שגיאות בפרמטרים של המודל בקריאות ל-API
מוודאים שפרמטרי המודל נמצאים בטווח הערכים הבא:
פרמטר של מודל | ערכים (טווח) |
מספר המועמדים | 1-8 (מספר שלם) |
טמפרטורה | 0.0-1.0 |
מספר מקסימלי של טוקנים בפלט |
משתמשים ב-get_model (Python) כדי לקבוע את המספר המקסימלי של טוקנים עבור המודל שבו אתם משתמשים.
|
TopP | 0.0-1.0 |
בנוסף לבדיקת ערכי הפרמטרים, חשוב לוודא שאתם משתמשים בגרסת ה-API הנכונה (למשל, /v1
או /v1beta
) ומודל שתומך בתכונות שאתם צריכים. לדוגמה, אם תכונה מסוימת נמצאת בגרסת בטא, היא תהיה זמינה רק בגרסת API /v1beta
.
איך בודקים אם יש לכם את הדגם הנכון
מוודאים שאתם משתמשים במודל נתמך שמופיע בדף המודלים.
זמן אחזור גבוה יותר או שימוש בטוקנים עם מודלים 2.5
אם אתם רואים שהחביון או השימוש בטוקנים גבוהים יותר במודלים 2.5 Flash ו-Pro, יכול להיות שהסיבה לכך היא שהחשיבה מופעלת כברירת מחדל כדי לשפר את האיכות. אם אתם רוצים לתת עדיפות למהירות או לצמצם עלויות, אתם יכולים לשנות את ההגדרות של החשיבה או להשבית אותה.
בדף החשיבה אפשר למצוא הנחיות ודוגמאות קוד.
בעיות בטיחות
אם מופיעה הודעה שהבקשה נחסמה בגלל הגדרת בטיחות בקריאה ל-API, צריך לבדוק את הבקשה בהתאם למסננים שהגדרתם בקריאה ל-API.
אם מופיע הסמל BlockedReason.OTHER
, יכול להיות שהשאילתה או התשובה מפרות את התנאים וההגבלות או שהן לא נתמכות מסיבה אחרת.
בעיה בהקראה
אם אתם רואים שהמודל מפסיק ליצור פלט בגלל הסיבה RECITATION, זה אומר שהפלט של המודל עשוי להיות דומה לנתונים מסוימים. כדי לפתור את הבעיה, כדאי לנסות ליצור הנחיה או הקשר ייחודיים ככל האפשר ולהשתמש בטמפרטורה גבוהה יותר.
בעיה של טוקנים חוזרים
אם אתם רואים טוקנים של פלט שחוזרים על עצמם, נסו את ההצעות הבאות כדי לצמצם או לבטל אותם.
תיאור | סיבה | הצעה לפתרון עקיף |
---|---|---|
מקפים חוזרים בטבלאות Markdown | זה יכול לקרות כשהתוכן בטבלה ארוך, כי המודל מנסה ליצור טבלת Markdown עם יישור חזותי. עם זאת, היישור ב-Markdown לא נחוץ כדי שהעיבוד יהיה תקין. |
מוסיפים הנחיות בהנחיה כדי לתת למודל הנחיות ספציפיות ליצירת טבלאות בפורמט Markdown. צריך לספק דוגמאות שפועלות לפי ההנחיות האלה. אפשר גם לנסות לשנות את הטמפרטורה. כדי ליצור קוד או פלט מובנה מאוד כמו טבלאות Markdown, טמפרטורה גבוהה יותר (>= 0.8) עובדת טוב יותר. זו דוגמה להנחיות שאפשר להוסיף להנחיה כדי למנוע את הבעיה הזו: # Markdown Table Format * Separator line: Markdown tables must include a separator line below the header row. The separator line must use only 3 hyphens per column, for example: |---|---|---|. Using more hypens like ----, -----, ------ can result in errors. Always use |:---|, |---:|, or |---| in these separator strings. For example: | Date | Description | Attendees | |---|---|---| | 2024-10-26 | Annual Conference | 500 | | 2025-01-15 | Q1 Planning Session | 25 | * Alignment: Do not align columns. Always use |---|. For three columns, use |---|---|---| as the separator line. For four columns use |---|---|---|---| and so on. * Conciseness: Keep cell content brief and to the point. * Never pad column headers or other cells with lots of spaces to match with width of other content. Only a single space on each side is needed. For example, always do "| column name |" instead of "| column name |". Extra spaces are wasteful. A markdown renderer will automatically take care displaying the content in a visually appealing form. |
טוקנים חוזרים בטבלאות Markdown | בדומה למקפים שחוזרים על עצמם, זה קורה כשהמודל מנסה ליישר חזותית את התוכן של הטבלה. ההזחה ב-Markdown לא נדרשת כדי שהעיבוד יהיה תקין. |
|
שורות חדשות חוזרות (\n ) בפלט מובנה
|
אם קלט המודל מכיל רצפי escape או Unicode כמו
\u או \t , יכול להיות שיופיעו שורות חדשות חוזרות.
|
|
חזרה על טקסט בשימוש בפלט מובנה | אם הפלט של המודל כולל את השדות בסדר שונה מזה של הסכימה המובנית שהוגדרה, יכול להיות שהטקסט יחזור על עצמו. |
|
שימוש חוזר בכלי | זה יכול לקרות אם המודל מאבד את ההקשר של מחשבות קודמות או אם הוא נאלץ לקרוא לנקודת קצה לא זמינה. |
להנחות את המודל לשמור על מצב בתוך תהליך החשיבה שלו.
מוסיפים את זה לסוף ההוראות למערכת:
When thinking silently: ALWAYS start the thought with a brief (one sentence) recap of the current progress on the task. In particular, consider whether the task is already done. |
טקסט חוזר שלא מהווה חלק מפלט מובנה | זה יכול לקרות אם המודל נתקע בבקשה שהוא לא יכול לפתור. |
|
שיפור הפלט של המודל
כדי לקבל פלט איכותי יותר מהמודל, כדאי לנסות לכתוב הנחיות מובנות יותר. בדף מדריך להנדסת הנחיות מוסברים כמה מושגים בסיסיים, אסטרטגיות ושיטות מומלצות שיעזרו לכם להתחיל.
אם יש לכם מאות דוגמאות של זוגות קלט/פלט טובים, כדאי גם לשקול התאמה של המודל.
הסבר על מגבלות הטוקנים
כדי להבין טוב יותר איך לספור טוקנים ואת המגבלות שלהם, כדאי לעיין במדריך הטוקנים שלנו.
בעיות מוכרות
- ה-API תומך רק במספר שפות נבחרות. הגשת הנחיות בשפות לא נתמכות עלולה להניב תשובות לא צפויות או אפילו חסומות. כאן אפשר לראות את השפות שבהן העדכונים זמינים.
דיווח על באג
אם יש לכם שאלות, אתם יכולים להצטרף לדיון בפורום המפתחים של Google AI.