دليل تحديد المشاكل وحلّها

يمكنك الاستعانة بهذا الدليل لمساعدتك في تشخيص المشاكل الشائعة التي تحدث عند طلب Gemini API وحلّها. قد تواجه مشاكل من خدمة الخلفية في Gemini API أو حِزم تطوير البرامج (SDK) للعملاء. تتوفّر حِزم تطوير البرامج (SDK) لعملائنا كمصدر مفتوح في المستودعات التالية:

في حال مواجهة مشاكل في مفتاح واجهة برمجة التطبيقات، تأكَّد من إعداد المفتاح بشكل صحيح وفقًا لدليل إعداد مفتاح واجهة برمجة التطبيقات.

رموز الخطأ

للحصول على مرجع كامل لجميع رموز الخطأ، بما في ذلك رموز حالة HTTP ورموز حظر الإنشاء ورموز خطأ المحتوى، يُرجى الاطّلاع على صفحة أخطاء واجهة برمجة التطبيقات.

استراتيجية إعادة المحاولة

إذا تلقّيت رسالة خطأ تشير إلى أنّه عليك إعادة محاولة طلبك (مثل 429 RESOURCE_EXHAUSTED أو 503 UNAVAILABLE)، ننصحك بتنفيذ استراتيجية التراجع الأسي. وهذا يعني الانتظار لفترة قصيرة قبل إعادة المحاولة الأولى، ثم زيادة وقت الانتظار تدريجيًا بين عمليات إعادة المحاولة اللاحقة.

تتضمّن حِزم تطوير البرامج (SDK) الرسمية للعملاء في Gemini API، مثل حزمة تطوير البرامج (SDK) للغة Python، منطق إعادة المحاولة التلقائي مع التراجع الأسي تلقائيًا للتعامل مع الأخطاء المؤقتة، مثل المهلات ومشاكل الشبكة وحدود المعدّل (رمزا الحالة 429 و5xx). على سبيل المثال، تعيد حزمة تطوير البرامج (SDK) في Python تلقائيًا محاولة معالجة الأخطاء المؤقتة حتى أربع مرات مع تأخير أوّلي يبلغ ثانية واحدة تقريبًا وتأخير أقصى يبلغ 60 ثانية.

إذا كنت تُجري طلبات مباشرة إلى واجهة REST API أو تخصّص منطق إعادة المحاولة، اتّبِع أفضل الممارسات التالية لزيادة احتمالية نجاح الطلب ومنع إرهاق الخدمة:

  • استخدام التراجع الأسي: انتظِر لفترة قصيرة قبل المحاولة الأولى (على سبيل المثال، ثانية واحدة)، ثم زِد مدة التأخير بشكل أسي (على سبيل المثال، ثانيتان، 4 ثوانٍ، 8 ثوانٍ).
  • إضافة تفاوت زمني: يمكنك إضافة "تفاوت زمني" عشوائي إلى التأخير للمساعدة في منع جميع العملاء من إعادة المحاولة في الوقت نفسه.
  • إعادة المحاولة عند حدوث أخطاء معيّنة: يجب إعادة المحاولة فقط عند حدوث أخطاء عابرة (مثل 429 أو 408 أو 5xx)، وعدم إعادة المحاولة عند حدوث أخطاء من جهة العميل (مثل 400 أو 402 أو 403) لأنّها تشير إلى مشاكل مثل مفاتيح واجهة برمجة التطبيقات غير الصالحة أو نفاد رصيد الدفع المُسبق أو البنية غير الصالحة.
  • ضبط الحد الأقصى لعدد المحاولات: حدِّد الحد الأقصى لعدد محاولات إعادة التشغيل لمنع حدوث حلقات لا نهائية.

التحقّق من طلبات البيانات من واجهة برمجة التطبيقات بحثًا عن أخطاء في مَعلمات النموذج

تأكَّد من أنّ مَعلمات النموذج تندرج ضمن القيم التالية:

مَعلمة النموذج القيم (النطاق)
عدد المرشحين ‫1-8 (عدد صحيح)
درجة الحرارة ‫0.0-1.0
أقصى عدد لرموز الناتج المميّزة استخدِم صفحة النماذج لتحديد الحدّ الأقصى لعدد الرموز المميزة للنموذج الذي تستخدمه.
TopP ‫0.0-1.0

بالإضافة إلى التحقّق من قيم المَعلمات، تأكَّد من استخدام إصدار واجهة برمجة التطبيقات الصحيح (مثل /v1 أو /v1beta) والنموذج الذي يتوافق مع الميزات التي تحتاج إليها. على سبيل المثال، إذا كانت الميزة في إصدار تجريبي، ستكون متاحة فقط في إصدار واجهة برمجة التطبيقات /v1beta.

التحقّق من توفّر الطراز المناسب

تأكَّد من أنّك تستخدم طرازًا متوافقًا ومدرَجًا في صفحة الطُرز.

زيادة وقت الاستجابة أو استخدام الرموز المميزة مع نماذج التفكير

غالبًا ما يحدث تأخير في الاستجابة أو زيادة في استخدام الرموز المميّزة لأنّ ميزة "المفكّر" تكون مفعّلة تلقائيًا في نماذج Gemini 3.x. تستخدم نماذج Gemini 2.5 المتوقفة نهائيًا أيضًا ميزة "المفكّر" التلقائية.

تنشئ نماذج التفكير رموزًا مميزة للاستدلال الداخلي بهدف تحسين الجودة. تؤدي عملية الاستدلال هذه إلى زيادة وقت الاستجابة وإجمالي استهلاك الرموز المميّزة.

إذا كنت تعطي الأولوية لتقليل وقت الاستجابة أو تحتاج إلى خفض التكاليف، يمكنك خفض مستوى التفكير أو إيقافه.

للاطّلاع على تفاصيل الإعداد وعينات التعليمات البرمجية، يُرجى مراجعة دليل التفكير.

مشاكل متعلقة بالأمان

إذا ظهرت لك رسالة تفيد بأنّه تم حظر طلب بسبب إعدادات الأمان في طلب البيانات من واجهة برمجة التطبيقات، يُرجى مراجعة الطلب مع مراعاة الفلاتر التي ضبطتها في طلب البيانات من واجهة برمجة التطبيقات.

إذا ظهرت لك 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 أو تسلسلات إلغاء مثل \u أو \t، قد يؤدي ذلك إلى تكرار الأسطر الجديدة.
  • ابحث عن تسلسلات الهروب المحظورة واستبدلها بأحرف 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 أو تساويها.
  • أضِف تعليمات مثل "يُرجى الاختصار" أو "لا تكرّر نفسك" أو "قدِّم الإجابة مرة واحدة".

مفاتيح واجهة برمجة التطبيقات المحظورة أو التي لا تعمل

يوضّح هذا القسم كيفية التحقّق مما إذا كان مفتاح Gemini API محظورًا والإجراءات التي يجب اتّخاذها في هذه الحالة.

أسباب حظر المفاتيح

لقد رصدنا ثغرة أمنية قد تكون أدّت إلى كشف بعض مفاتيح واجهة برمجة التطبيقات للجميع. لحماية بياناتك ومنع الوصول غير المصرَّح به إليها، حظرنا بشكل استباقي هذه المفاتيح المسرَّبة المعروفة من الوصول إلى Gemini API.

التأكّد مما إذا كانت مفاتيحك متأثرة

إذا تبيّن أنّ مفتاحك قد تم تسريبه، لن يعود بإمكانك استخدامه مع Gemini API. يمكنك استخدام Google AI Studio لمعرفة ما إذا تم حظر أي من مفاتيح واجهة برمجة التطبيقات من طلب البيانات من Gemini API وإنشاء مفاتيح جديدة. قد يظهر لك أيضًا الخطأ التالي عند محاولة استخدام هذه المفاتيح:

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

الإجراء المتّخذ بشأن مفاتيح واجهة برمجة التطبيقات المحظورة

يجب إنشاء مفاتيح واجهة برمجة تطبيقات جديدة لعمليات دمج Gemini API باستخدام Google AI Studio. ننصحك بشدة بمراجعة ممارسات إدارة مفاتيح واجهة برمجة التطبيقات للتأكّد من الحفاظ على أمان مفاتيحك الجديدة وعدم إتاحتها للجميع.

رسوم غير متوقّعة بسبب ثغرة أمنية

إرسال طلب للحصول على دعم بشأن الفوترة يعمل فريق الفوترة لدينا على حلّ هذه المشكلة، وسنُطلعك على آخر المعلومات في أقرب وقت ممكن.

إجراءات الأمان التي تتّخذها Google في حال تسرُّب المفاتيح

كيف ستساعد Google في تأمين حسابي من تجاوز التكاليف وإساءة الاستخدام في حال تسرُّب مفاتيح واجهة برمجة التطبيقات؟

  • نحن بصدد إصدار مفاتيح واجهة برمجة التطبيقات عند طلب مفتاح جديد باستخدام Google AI Studio، والتي ستقتصر تلقائيًا على Google AI Studio فقط ولن تقبل مفاتيح من خدمات أخرى. سيساعد ذلك في منع أي استخدام غير مقصود لمفاتيح متعددة.
  • نعمل تلقائيًا على حظر مفاتيح واجهة برمجة التطبيقات التي يتم تسريبها واستخدامها مع Gemini API، ما يساعد في منع إساءة استخدام التكلفة وبيانات تطبيقك.
  • يمكنك الاطّلاع على حالة مفاتيح واجهة برمجة التطبيقات ضمن Google AI Studio، وسنعمل على إعلامك بشكل استباقي في حال رصدنا أي تسريب لمفاتيح واجهة برمجة التطبيقات لاتّخاذ إجراء فوري.

تحسين مخرجات النموذج

للحصول على جودة أعلى لمخرجات النموذج، ننصحك بتجربة كتابة طلبات أكثر تنظيمًا. تقدّم صفحة دليل هندسة الطلبات بعض المفاهيم الأساسية والاستراتيجيات وأفضل الممارسات لمساعدتك في البدء.

فهم حدود الرموز المميّزة

يمكنك الاطّلاع على دليل الرموز المميّزة لفهم كيفية احتساب الرموز المميّزة وحدودها بشكل أفضل.

المشاكل المعروفة

  • تتيح واجهة برمجة التطبيقات عددًا من اللغات المحدّدة فقط. قد يؤدي إرسال الطلبات بلغات غير متاحة إلى الحصول على ردود غير متوقعة أو حتى محظورة. يمكنك الاطّلاع على اللغات المتاحة لمعرفة آخر الأخبار.

الإبلاغ عن خطأ

يمكنك الانضمام إلى المناقشة في منتدى مطوّري ذكاء Google الاصطناعي إذا كانت لديك أسئلة.