استخدِم هذا الدليل لمساعدتك في تشخيص المشاكل الشائعة التي تحدث عند استدعاء Gemini API وحلّها. قد تواجه مشاكل من خدمة الخلفية لواجهة Gemini API أو حِزم تطوير البرامج (SDK) الخاصة بالعميل. حِزم تطوير البرامج (SDK) الخاصة بالعملاء هي مفتوحة المصدر في المستودعات التالية:
إذا واجهت مشاكل في مفتاح واجهة برمجة التطبيقات، تأكَّد من إعداد المفتاح بشكلٍ صحيح وفقًا لدليل إعداد مفتاح واجهة برمجة التطبيقات.
رموز الخطأ في خدمة الخلفية لواجهة Gemini API
يسرد الجدول التالي رموز الأخطاء الشائعة في الخلفية التي قد تواجهها، بالإضافة إلى توضيحات حول أسبابها وخطوات تحديد المشاكل وحلّها:
رمز HTTP | الحالة | الوصف | مثال | الحل |
400 | INVALID_ARGUMENT | نص الطلب غير صالح. | هناك خطأ إملائي أو حقل مطلوب ناقص في طلبك. | راجِع مرجع واجهة برمجة التطبيقات للاطّلاع على تنسيق الطلب والأمثلة والإصدارات المتوافقة. قد يؤدي استخدام ميزات من إصدار أحدث من واجهة برمجة التطبيقات مع نقطة نهاية قديمة إلى حدوث أخطاء. |
400 | FAILED_PRECONDITION | لا تتوفّر الطبقة المجانية من Gemini API في بلدك. يُرجى تفعيل الفوترة في مشروعك على Google AI Studio. | أنت تقدّم طلبًا في منطقة لا تتوفّر فيها الطبقة المجانية، ولم تفعّل الفوترة في مشروعك على Google AI Studio. | لاستخدام Gemini API، عليك إعداد خطة مدفوعة باستخدام Google AI Studio. |
403 | PERMISSION_DENIED | لا يتضمّن مفتاح واجهة برمجة التطبيقات الأذونات المطلوبة. | أنت تستخدم مفتاح API غير صحيح، أو تحاول استخدام نموذج معدَّل بدون إجراء مصادقة مناسبة. | تأكَّد من ضبط مفتاح واجهة برمجة التطبيقات ومنحه إذن الوصول المناسب. وتأكَّد من إكمال عملية المصادقة بشكل صحيح لاستخدام النماذج المعدَّلة. |
404 | NOT_FOUND | لم يتم العثور على المورد المطلوب. | لم يتم العثور على ملف صورة أو صوت أو فيديو تمت الإشارة إليه في طلبك. | تحقَّق مما إذا كانت جميع المَعلمات في طلبك صالحة لإصدار واجهة برمجة التطبيقات. |
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 | يتعذّر على الخدمة إنهاء المعالجة في غضون الموعد النهائي. | الطلب (أو السياق) كبير جدًا بحيث لا يمكن معالجته في الوقت المناسب. | اضبط قيمة أكبر لمهلة الطلب في طلب العميل لتجنُّب هذا الخطأ. |
التحقّق من طلبات البيانات من واجهة برمجة التطبيقات بحثًا عن أخطاء في مَعلمات النموذج
تأكَّد من أنّ مَعلمات النموذج تندرج ضمن القيم التالية:
مَعلمة النموذج | القيم (النطاق) |
عدد المرشحين | من 1 إلى 8 (عدد صحيح) |
درجة الحرارة | 0.0-1.0 |
الحد الأقصى لعدد الرموز المميزة للناتج |
استخدِم
get_model (Python)
لتحديد الحدّ الأقصى لعدد الرموز المميزة للنموذج الذي تستخدمه.
|
TopP | 0.0-1.0 |
بالإضافة إلى التحقّق من قيم المَعلمات، تأكَّد من أنّك تستخدم إصدار واجهة برمجة التطبيقات الصحيح (على سبيل المثال، /v1
أو /v1beta
) والطراز الذي يتوافق مع الميزات التي تحتاج إليها. على سبيل المثال، إذا كانت إحدى الميزات في إصدار تجريبي، ستتوفّر فقط في إصدار واجهة برمجة التطبيقات /v1beta
.
التأكّد من أنّ لديك الطراز المناسب
تأكَّد من استخدام طراز متوافق مُدرَج في صفحة الطُرز.
زيادة وقت الاستجابة أو استخدام الرموز المميزة مع نماذج 2.5
إذا لاحظت زيادة في وقت الاستجابة أو استخدام الرموز المميزة مع طرازَي Flash 2.5 وPro، قد يكون ذلك بسبب تفعيل ميزة "التفكير" تلقائيًا بهدف تحسين الجودة. إذا كنت تريد إعطاء الأولوية للسرعة أو تقليل التكاليف، يمكنك تعديل ميزة "التفكير" أو إيقافها.
يُرجى الرجوع إلى صفحة التفكير للحصول على إرشادات ورمز نموذجي.
مشاكل الأمان
إذا ظهرت لك رسالة تفيد بأنّه تم حظر طلب بسبب إعدادات الأمان في طلب البيانات من واجهة برمجة التطبيقات، راجِع الطلب مع مراعاة الفلاتر التي ضبطتها في طلب البيانات من واجهة برمجة التطبيقات.
إذا ظهرت لك 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 ) في الناتج المنظَّم
|
عندما يحتوي إدخال النموذج على تسلسلات 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. |
النص المتكرّر الذي لا يشكّل جزءًا من الناتج المنظَّم | يمكن أن يحدث ذلك إذا تعذّر على النموذج حلّ طلب معيّن. |
|
تحسين مخرجات النموذج
للحصول على نتائج أفضل من النماذج، ننصحك بتجربة كتابة طلبات أكثر تنظيمًا. تقدّم صفحة دليل هندسة الطلبات بعض المفاهيم الأساسية والاستراتيجيات وأفضل الممارسات لمساعدتك في البدء.
التعرّف على حدود الرموز المميزة
اطّلِع على دليل الرموز المميزة للتعرّف بشكل أفضل على كيفية احتساب الرموز المميزة وحدودها.
المشاكل المعروفة
- لا تتوافق واجهة برمجة التطبيقات إلا مع عدد من اللغات المحدّدة. قد يؤدي إرسال الطلبات بلغات غير متوافقة إلى ظهور ردود غير متوقّعة أو حتى محظورة. اطّلِع على اللغات المتاحة للتحديثات.
الإبلاغ عن خطأ
يمكنك الانضمام إلى المناقشة في منتدى مطوّري الذكاء الاصطناعي من Google إذا كانت لديك أسئلة.