از این راهنما برای کمک به تشخیص و حل مشکلات رایجی که هنگام فراخوانی API Gemini پیش میآیند، استفاده کنید. ممکن است با مشکلاتی از سرویس backend API Gemini یا SDK های کلاینت مواجه شوید. SDK های کلاینت ما در مخازن زیر به صورت متن باز ارائه میشوند:
اگر با مشکل کلید API مواجه شدید، طبق راهنمای تنظیم کلید API ، تأیید کنید که کلید API خود را به درستی تنظیم کردهاید.
کدهای خطای سرویس Backend API Gemini
جدول زیر کدهای خطای رایج backend که ممکن است با آنها مواجه شوید را به همراه توضیحاتی در مورد علل و مراحل عیبیابی آنها فهرست میکند:
| کد HTTP | وضعیت | توضیحات | مثال | راه حل |
| ۴۰۰ | آرگومان نامعتبر | بدنه درخواست ناقص است. | در درخواست شما اشتباه تایپی وجود دارد یا فیلد الزامی از قلم افتاده است. | برای اطلاع از قالب درخواست، مثالها و نسخههای پشتیبانیشده ، مرجع API را بررسی کنید. استفاده از ویژگیهای نسخه جدیدتر API با یک نقطه پایانی قدیمیتر میتواند باعث خطا شود. |
| ۴۰۰ | پیششرط ناموفق | سطح رایگان API جمینی در کشور شما در دسترس نیست. لطفاً امکان پرداخت هزینه را برای پروژه خود در Google AI Studio فعال کنید. | شما در منطقهای درخواست میدهید که سطح رایگان پشتیبانی نمیشود و پرداخت هزینه را برای پروژه خود در Google AI Studio فعال نکردهاید. | برای استفاده از رابط برنامهنویسی کاربردی (API) جمینی، باید با استفاده از Google AI Studio یک طرح پولی راهاندازی کنید. |
| ۴۰۳ | مجوز_رد_شد | کلید API شما مجوزهای لازم را ندارد. | شما از کلید API اشتباه استفاده میکنید؛ شما سعی دارید از یک مدل تنظیمشده بدون احراز هویت مناسب استفاده کنید. | بررسی کنید که کلید API شما تنظیم شده باشد و دسترسی لازم را داشته باشد. و مطمئن شوید که برای استفاده از مدلهای تنظیمشده، احراز هویت مناسبی را انجام میدهید. |
| ۴۰۴ | یافت نشد | منبع مورد نظر یافت نشد. | فایل تصویری، صوتی یا ویدیویی که در درخواست شما به آن اشاره شده باشد، یافت نشد. | بررسی کنید که آیا تمام پارامترهای درخواست شما برای نسخه API شما معتبر هستند یا خیر. |
| ۴۲۹ | منابع_تمام_شده | شما از حد مجاز نرخ فراتر رفتهاید. | شما با استفاده از API رایگان Gemini، در هر دقیقه درخواستهای زیادی ارسال میکنید. | تأیید کنید که در محدوده نرخ مدل هستید. در صورت نیاز، درخواست افزایش سهمیه دهید . |
| ۵۰۰ | داخلی | خطای غیرمنتظرهای از طرف گوگل رخ داده است. | متن ورودی شما خیلی طولانی است. | زمینه ورودی خود را کاهش دهید یا موقتاً به مدل دیگری (مثلاً از Gemini 2.5 Pro به Gemini 2.5 Flash) تغییر دهید و ببینید که آیا کار میکند یا خیر. یا کمی صبر کنید و درخواست خود را دوباره امتحان کنید. اگر مشکل پس از تلاش مجدد همچنان ادامه داشت، لطفاً آن را با استفاده از دکمه ارسال بازخورد در Google AI Studio گزارش دهید. |
| ۵۰۳ | غیرقابل دسترس | ممکن است سرویس موقتاً دچار اضافه بار یا قطعی باشد. | ظرفیت سرویس موقتاً در حال اتمام است. | موقتاً به مدل دیگری (مثلاً از Gemini 2.5 Pro به Gemini 2.5 Flash) تغییر دهید و ببینید که آیا کار میکند یا خیر. یا کمی صبر کنید و درخواست خود را دوباره امتحان کنید. اگر مشکل پس از تلاش مجدد همچنان ادامه داشت، لطفاً آن را با استفاده از دکمه ارسال بازخورد در Google AI Studio گزارش دهید. |
| ۵۰۴ | مهلت_تمام_شد | این سرویس قادر به اتمام پردازش در مهلت مقرر نیست. | درخواست (یا متن) شما برای پردازش به موقع، بسیار طولانی است. | برای جلوگیری از این خطا، در درخواست کلاینت خود، یک «timeout» بزرگتر تنظیم کنید. |
خطاهای پارامترهای مدل را در فراخوانیهای API خود بررسی کنید
بررسی کنید که پارامترهای مدل شما در محدوده مقادیر زیر باشند:
| پارامتر مدل | مقادیر (محدوده) |
| تعداد کاندیداها | ۱-۸ (عدد صحیح) |
| دما | ۰.۰-۱.۰ |
| حداکثر توکنهای خروجی | get_model ( پایتون ) برای تعیین حداکثر تعداد توکنها برای مدلی که استفاده میکنید، استفاده کنید. |
| تاپ پی | ۰.۰-۱.۰ |
علاوه بر بررسی مقادیر پارامترها، مطمئن شوید که از نسخه API صحیح (مثلاً /v1 یا /v1beta ) و مدلی که از ویژگیهای مورد نیاز شما پشتیبانی میکند، استفاده میکنید. برای مثال، اگر یک ویژگی در نسخه بتا باشد، فقط در نسخه API /v1beta در دسترس خواهد بود.
بررسی کنید که آیا مدل مناسبی دارید یا خیر
تأیید کنید که از مدل پشتیبانیشدهای که در صفحه مدلهای ما ذکر شده است استفاده میکنید.
تأخیر بالاتر یا استفاده از توکن با مدلهای ۲.۵
اگر در مدلهای ۲.۵ فلش و پرو شاهد تأخیر یا استفاده از توکن بالاتری هستید، میتواند به این دلیل باشد که این مدلها به طور پیشفرض دارای قابلیت تفکر برای افزایش کیفیت هستند . اگر سرعت برایتان در اولویت است یا نیاز به کاهش هزینهها دارید، میتوانید قابلیت تفکر را تنظیم یا غیرفعال کنید.
برای راهنمایی و نمونه کد به صفحه تفکر مراجعه کنید.
مسائل ایمنی
اگر مشاهده کردید که به دلیل تنظیمات امنیتی در فراخوانی API شما، اعلان مسدود شده است، اعلان را با توجه به فیلترهایی که در فراخوانی API تنظیم کردهاید، بررسی کنید.
اگر BlockedReason.OTHER مشاهده کردید، ممکن است پرسوجو یا پاسخ، شرایط خدمات را نقض کند یا به هر دلیلی پشتیبانی نشود.
مسئله تلاوت
اگر مشاهده کردید که مدل به دلیل RECITATION تولید خروجی را متوقف میکند، این بدان معناست که خروجی مدل ممکن است شبیه دادههای خاصی باشد. برای رفع این مشکل، سعی کنید prompt/context را تا حد امکان منحصر به فرد کنید و از دمای بالاتری استفاده کنید.
مشکل توکنهای تکراری
اگر نشانههای خروجی مکرر را مشاهده کردید، پیشنهادات زیر را برای کاهش یا حذف آنها امتحان کنید.
| توضیحات | علت | راه حل پیشنهادی |
|---|---|---|
| خط فاصلههای تکراری در جداول 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 مانند \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 فقط از تعدادی زبان منتخب پشتیبانی میکند. ارسال درخواستها به زبانهای پشتیبانی نشده میتواند پاسخهای غیرمنتظره یا حتی مسدود شده ایجاد کند. برای بهروزرسانیها به زبانهای موجود مراجعه کنید.
ثبت اشکال
اگر سوالی دارید، به بحث در انجمن توسعهدهندگان هوش مصنوعی گوگل بپیوندید.