מדריך לפתרון בעיות

המדריך הזה יעזור לכם לאבחן ולפתור בעיות נפוצות שמתעוררות כשקוראים ל-Gemini API. יכול להיות שתיתקלו בבעיות בשירות הקצה העורפי של Gemini API או בערכות ה-SDK של הלקוח. ערכות ה-SDK ללקוחות שלנו מבוססות על קוד פתוח במאגרים הבאים:

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

קודי שגיאה של שירות הקצה העורפי של 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 2.5 Pro ל-Gemini 2.5 Flash) ולבדוק אם זה עוזר. אפשר גם להמתין קצת ולנסות שוב לשלוח את הבקשה. אם הבעיה נמשכת אחרי שמנסים שוב, אפשר לדווח עליה באמצעות הכפתור שליחת משוב ב-Google AI Studio.
503 UNAVAILABLE יכול להיות שהשירות עמוס מדי או מושבת באופן זמני. השירות חורג באופן זמני מהקיבולת שלו. עוברים באופן זמני למודל אחר (למשל מ-Gemini 2.5 Pro ל-Gemini 2.5 Flash) ובודקים אם זה עובד. אפשר גם להמתין קצת ולנסות שוב לשלוח את הבקשה. אם הבעיה נמשכת אחרי שמנסים שוב, אפשר לדווח עליה באמצעות הכפתור שליחת משוב ב-Google AI Studio.
504 DEADLINE_EXCEEDED השירות לא יכול לסיים את העיבוד עד למועד האחרון. ההנחיה (או ההקשר) גדולה מדי ואי אפשר לעבד אותה בזמן. כדי למנוע את השגיאה הזו, צריך להגדיר ערך גדול יותר של 'זמן קצוב לתפוגה' בבקשת הלקוח.

בדיקה של שגיאות בפרמטרים של המודל בקריאות ל-API

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

פרמטר של מודל ערכים (טווח)
מספר המועמדים ‫1-8 (מספר שלם)
טמפרטורה ‫0.0-1.0
מספר מקסימלי של טוקנים בפלט אפשר להיעזר בדף המודלים כדי לקבוע את המספר המקסימלי של טוקנים למודל שבו אתם משתמשים.
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 לא נדרשת כדי שהעיבוד יהיה תקין.
  • נסו להוסיף להנחיית המערכת הוראות כמו אלה:
                FOR TABLE HEADINGS, IMMEDIATELY ADD ' |' AFTER THE TABLE HEADING.
              
  • כדאי לנסות לשנות את הטמפרטורה. טמפרטורות גבוהות יותר (>= 0.8) עוזרות בדרך כלל למנוע חזרות או כפילויות בפלט.
שורות חדשות חוזרות (\n) בפלט מובנה אם קלט המודל מכיל רצפי Unicode או רצפי escape כמו \u או \t, יכול להיות שיופיעו שורות חדשות חוזרות.
  • בודקים אם יש רצפי escape אסורים בהנחיה ומחליפים אותם בתווי UTF-8. לדוגמה, אם תשתמשו ברצף בריחה \u בדוגמאות ה-JSON, יכול להיות שהמודל ישתמש בו גם בפלט שלו.
  • לתת למודל הוראות לגבי יציאות מותרות. מוסיפים הוראה למערכת כמו זו:
                In quoted strings, the only allowed escape sequences are \\, \n, and \". Instead of \u escapes, use UTF-8.
              
טקסט שחוזר על עצמו בשימוש בפלט מובנה אם הפלט של המודל כולל את השדות בסדר שונה מזה של הסכימה המובנית שהוגדרה, הדבר עלול להוביל לחזרה על טקסט.
  • אל תציינו את סדר השדות בהנחיה.
  • הופכים את כל שדות הפלט לשדות חובה.
שימוש חוזר בכלי זה יכול לקרות אם המודל מאבד את ההקשר של מחשבות קודמות או אם הוא נאלץ לקרוא לנקודת קצה לא זמינה. לתת למודל הוראה לשמור על מצב בתהליך החשיבה שלו. מוסיפים את ההוראה הבאה לסוף ההוראות למערכת:
        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.
      
טקסט שחוזר על עצמו ולא מהווה חלק מפלט מובנה זה יכול לקרות אם המודל נתקע בבקשה שהוא לא יכול לפתור.
  • אם התכונה 'חשיבה' מופעלת, אל תתנו הוראות מפורשות לגבי אופן הפתרון של בעיה בהוראות. פשוט מבקשים את הפלט הסופי.
  • נסה טמפרטורה גבוהה יותר, ‎ >= 0.8.
  • מוסיפים הוראות כמו "תמציתיות", "אל תחזור על עצמך" או "תספק את התשובה פעם אחת".

מפתחות API חסומים או לא תקינים

בקטע הזה מוסבר איך לבדוק אם מפתח Gemini API שלכם חסום ומה אפשר לעשות כדי לבטל את החסימה.

למה מפתחות נחסמים

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

איך בודקים אם המפתחות מושפעים

אם ידוע שמפתח נחשף, אי אפשר יותר להשתמש בו עם Gemini API. אתם יכולים להשתמש ב-Google AI Studio כדי לבדוק אם יש מפתחות API שחסימתם מונעת מהם לבצע קריאות ל-Gemini API, וליצור מפתחות חדשים. יכול להיות שתוצג גם השגיאה הבאה כשמנסים להשתמש במפתחות האלה:

Your API key was reported as leaked. Please use another API key.

פעולה למפתחות API חסומים

מומלץ ליצור מפתחות API חדשים לשילובים של Gemini API באמצעות Google AI Studio. מומלץ מאוד לבדוק את השיטות לניהול מפתחות API כדי לוודא שהמפתחות החדשים מאובטחים ולא נחשפים לציבור.

חיובים לא צפויים בגלל פגיעות

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

אמצעי האבטחה של Google למפתחות שנחשפו

איך Google תעזור לי לאבטח את החשבון מפני חריגה מהתקציב ושימוש לרעה אם מפתחות ה-API שלי ידלפו?

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

שיפור הפלט של המודל

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

הסבר על מגבלות הטוקנים

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

בעיות מוכרות

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

דיווח על באג

אם יש לכם שאלות, אתם יכולים להצטרף לדיון בפורום המפתחים של Google AI.