Gemini API को कॉल करने पर होने वाली सामान्य समस्याओं की पहचान करने और उन्हें हल करने के लिए, इस गाइड का इस्तेमाल करें. आपको Gemini API के बैकएंड सेवा या क्लाइंट एसडीके टूल से जुड़ी समस्याएं आ सकती हैं. हमारे क्लाइंट एसडीके टूल, इन रिपॉज़िटरी में ओपन सोर्स के तौर पर उपलब्ध हैं:
अगर आपको एपीआई पासकोड से जुड़ी समस्याएं आ रही हैं, तो पुष्टि करें कि आपने एपीआई पासकोड सेट अप करने की गाइड के मुताबिक, अपना एपीआई पासकोड सही तरीके से सेट अप किया है.
गड़बड़ी के कोड
गड़बड़ी के सभी कोड की पूरी जानकारी के लिए, एपीआई से जुड़ी गड़बड़ियां वाला पेज देखें. इसमें एचटीटीपी स्टेटस कोड, जनरेशन ब्लॉक किए जाने के कोड, और कॉन्टेंट से जुड़ी गड़बड़ी के कोड शामिल हैं.
फिर से कोशिश करने की रणनीति
अगर आपको कोई ऐसी गड़बड़ी दिखती है जिससे पता चलता है कि आपको अपना अनुरोध फिर से भेजना चाहिए, तो हम आपको एक्स्पोनेंशियल बैकऑफ़ रणनीति लागू करने का सुझाव देते हैं. जैसे, 429 RESOURCE_EXHAUSTED या 503 UNAVAILABLE गड़बड़ी. इसका मतलब है कि आपको पहली बार फिर से अनुरोध भेजने से पहले कुछ समय इंतज़ार करना होगा. इसके बाद, हर बार फिर से अनुरोध भेजने से पहले, इंतज़ार का समय धीरे-धीरे बढ़ाना होगा.
Gemini API के आधिकारिक क्लाइंट एसडीके टूल, जैसे कि Python SDK में, डिफ़ॉल्ट रूप से एक्स्पोनेंशियल बैकऑफ़ के साथ, अपने-आप फिर से अनुरोध भेजने की सुविधा शामिल होती है. इसकी मदद से, अस्थायी गड़बड़ियों को ठीक किया जा सकता है. जैसे, टाइम आउट, नेटवर्क की समस्याएं, और अनुरोध संख्या सीमित करना (429 और 5xx स्टेटस कोड). उदाहरण के लिए, Python SDK, अस्थायी गड़बड़ियों के लिए, अपने-आप चार बार फिर से अनुरोध भेजता है. इसमें, पहली बार अनुरोध भेजने से पहले करीब एक सेकंड और ज़्यादा से ज़्यादा 60 सेकंड का इंतज़ार किया जाता है.
अगर REST API के लिए सीधे तौर पर अनुरोध भेजे जा रहे हैं या फिर से अनुरोध भेजने की रणनीति को पसंद के मुताबिक बनाया जा रहा है, तो अनुरोध के सफल होने की संभावना बढ़ाने और सेवा पर ज़्यादा लोड पड़ने से रोकने के लिए, सबसे सही तरीके अपनाएं:
- एक्स्पोनेंशियल बैकऑफ़ का इस्तेमाल करें: पहली बार फिर से अनुरोध भेजने से पहले कुछ समय इंतज़ार करें. जैसे, एक सेकंड. इसके बाद, इंतज़ार का समय एक्स्पोनेंशियल तरीके से बढ़ाएं. जैसे, 2 सेकंड, 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 की वजह से, मॉडल आउटपुट जनरेट करना बंद कर देता है, तो इसका मतलब है कि मॉडल का आउटपुट, किसी डेटा से मिलता-जुलता हो सकता है. इसे ठीक करने के लिए, प्रॉम्प्ट / कॉन्टेक्स्ट को जितना हो सके उतना यूनीक बनाने की कोशिश करें और ज़्यादा तापमान का इस्तेमाल करें.
बार-बार टोकन दिखने की समस्या
अगर आपको बार-बार आउटपुट टोकन दिखते हैं, तो उन्हें कम करने या हटाने के लिए, यहां दिए गए सुझावों को आज़माएं.
| ब्यौरा | वजह | सुझाया गया तरीका |
|---|---|---|
| मार्कडाउन टेबल में बार-बार हाइफ़न दिखना | ऐसा तब हो सकता है, जब टेबल का कॉन्टेंट लंबा हो, क्योंकि मॉडल, विज़ुअल तौर पर अलाइन की गई मार्कडाउन टेबल बनाने की कोशिश करता है. हालांकि, सही तरीके से रेंडर करने के लिए, मार्कडाउन में अलाइनमेंट ज़रूरी नहीं है. |
मार्कडाउन टेबल जनरेट करने के लिए, मॉडल को खास दिशा-निर्देश देने के लिए, अपने प्रॉम्प्ट में निर्देश जोड़ें ऐसे उदाहरण दें जो उन दिशा-निर्देशों के मुताबिक हों. तापमान को अडजस्ट करके भी देखा जा सकता है. कोड या मार्कडाउन टेबल जैसे बहुत व्यवस्थित आउटपुट जनरेट करने के लिए, ज़्यादा तापमान (>= 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.
|
| मार्कडाउन टेबल में बार-बार टोकन दिखना | बार-बार हाइफ़न दिखने की तरह, ऐसा तब होता है, जब मॉडल, टेबल के कॉन्टेंट को विज़ुअल तौर पर अलाइन करने की कोशिश करता है. सही तरीके से रेंडर करने के लिए, मार्कडाउन में अलाइनमेंट ज़रूरी नहीं है. |
|
व्यवस्थित आउटपुट में बार-बार नई लाइनें (\n) दिखना
|
जब मॉडल के इनपुट में यूनिकोड या एस्केप सीक्वेंस शामिल होते हैं, जैसे कि
\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.
|
| बार-बार टेक्स्ट दिखना, जो व्यवस्थित आउटपुट का हिस्सा नहीं है | ऐसा तब हो सकता है, जब मॉडल किसी ऐसे अनुरोध पर अटक जाता है जिसे वह हल नहीं कर सकता. |
|
ब्लॉक किए गए या काम न करने वाले एपीआई पासकोड
इस सेक्शन में, यह देखने का तरीका बताया गया है कि आपका Gemini API पासकोड ब्लॉक किया गया है या नहीं. साथ ही, यह भी बताया गया है कि इस बारे में क्या करना चाहिए.
यह समझना कि पासकोड ब्लॉक क्यों किए जाते हैं
हमें एक ऐसी गड़बड़ी के बारे में पता चला है जिसकी वजह से, कुछ एपीआई पासकोड सार्वजनिक तौर पर उपलब्ध हो सकते हैं. आपके डेटा को सुरक्षित रखने और अनधिकृत ऐक्सेस से बचाने के लिए, हमने पहले से ही लीक हुए इन पासकोड को Gemini API को ऐक्सेस करने से ब्लॉक कर दिया है.
पुष्टि करना कि आपके पासकोड पर असर पड़ा है या नहीं
अगर आपका पासकोड लीक हो गया है, तो Gemini API के साथ उसका इस्तेमाल नहीं किया जा सकता. आप Google AI Studio का इस्तेमाल करके, यह देख सकते हैं कि आपके किसी एपीआई पासकोड को Gemini API को कॉल करने से ब्लॉक किया गया है या नहीं. साथ ही, नए पासकोड जनरेट किए जा सकते हैं. इन पासकोड का इस्तेमाल करने की कोशिश करने पर, आपको यह गड़बड़ी भी दिख सकती है:
Your API key was reported as leaked. Please use another API key.
ब्लॉक किए गए एपीआई पासकोड के लिए कार्रवाई
आपको Google AI Studio का इस्तेमाल करके, Gemini API इंटिग्रेशन के लिए नए एपीआई पासकोड जनरेट करने चाहिए. हमारा सुझाव है कि एपीआई पासकोड मैनेज करने के तरीकों की समीक्षा करें, ताकि यह पक्का किया जा सके कि आपके नए पासकोड सुरक्षित हैं और सार्वजनिक तौर पर उपलब्ध नहीं हैं.
गड़बड़ी की वजह से, अनचाहे शुल्क लगना
बिलिंग से जुड़ा सहायता अनुरोध सबमिट करें. हमारी बिलिंग टीम इस पर काम कर रही है. जैसे ही हमारे पास कोई अपडेट होगा, हम आपसे संपर्क करेंगे.
लीक हुए पासकोड के लिए, Google के सुरक्षा उपाय
अगर मेरे एपीआई पासकोड लीक हो जाते हैं, तो Google, मेरे खाते को लागत बढ़ने और गलत इस्तेमाल से कैसे बचाएगा?
- हम ऐसे एपीआई पासकोड जारी करने की ओर बढ़ रहे हैं जो Google AI Studio का इस्तेमाल करके, नया पासकोड पाने का अनुरोध करने पर जारी किए जाएंगे. ये पासकोड, डिफ़ॉल्ट रूप से सिर्फ़ Google AI Studio के लिए सीमित होंगे. साथ ही, ये पासकोड अन्य सेवाओं से पासकोड स्वीकार नहीं करेंगे. इससे, अनजाने में एक से ज़्यादा पासकोड का इस्तेमाल करने से बचा जा सकेगा.
- हम डिफ़ॉल्ट रूप से, लीक हुए और Gemini API के साथ इस्तेमाल किए गए एपीआई पासकोड को ब्लॉक कर रहे हैं. इससे, लागत और आपके ऐप्लिकेशन डेटा के गलत इस्तेमाल से बचा जा सकेगा.
- Google AI Studio में, अपने एपीआई पासकोड का स्टेटस देखा जा सकेगा. साथ ही, जब हमें पता चलेगा कि आपके एपीआई पासकोड लीक हो गए हैं, तो हम तुरंत कार्रवाई करने के लिए, आपसे संपर्क करेंगे.
मॉडल आउटपुट को बेहतर बनाना
मॉडल के बेहतर आउटपुट पाने के लिए, ज़्यादा व्यवस्थित प्रॉम्प्ट लिखने की कोशिश करें. प्रॉम्प्ट इंजीनियरिंग गाइड वाले पेज पर, कुछ बुनियादी कॉन्सेप्ट, रणनीतियां, और सबसे सही तरीके बताए गए हैं, ताकि आपको शुरुआत करने में मदद मिल सके.
टोकन की सीमाओं को समझना
टोकन की गिनती करने और उनकी सीमाओं को बेहतर तरीके से समझने के लिए, टोकन के बारे में जानकारी देने वाली हमारी गाइड पढ़ें.
ज्ञात समस्याएं
- एपीआई, सिर्फ़ चुनिंदा भाषाओं के साथ काम करता है. ऐसी भाषाओं में प्रॉम्प्ट सबमिट करने पर जो काम नहीं करती हैं, अनचाहे या ब्लॉक किए गए रिस्पॉन्स मिल सकते हैं. अपडेट के लिए, देखें कि Gemini Advanced किन भाषाओं में उपलब्ध है.
गड़बड़ी की शिकायत करें
अगर आपका कोई सवाल है, तो Google AI डेवलपर फ़ोरम पर चर्चा में शामिल हों.