समस्या हल करने के लिए गाइड

Gemini API को कॉल करते समय आने वाली सामान्य समस्याओं का पता लगाने और उन्हें हल करने के लिए, इस गाइड का इस्तेमाल करें. आपको Gemini API की बैकएंड सेवा या क्लाइंट SDK टूल से जुड़ी समस्याएं आ सकती हैं. हमारे क्लाइंट एसडीके, इन रिपॉज़िटरी में ओपन सोर्स किए गए हैं:

अगर आपको एपीआई पासकोड से जुड़ी समस्याएं आ रही हैं, तो पुष्टि करें कि आपने एपीआई पासकोड सेट अप करने से जुड़े दिशा-निर्देश के मुताबिक, एपीआई पासकोड को सही तरीके से सेट अप किया हो.

Gemini API की बैकएंड सेवा से जुड़ी गड़बड़ियों के कोड

यहां दी गई टेबल में, बैकएंड से जुड़ी गड़बड़ी के सामान्य कोड दिए गए हैं. साथ ही, उनकी वजहें और उन्हें ठीक करने का तरीका बताया गया है:

एचटीटीपी कोड स्टेटस ब्यौरा उदाहरण समाधान
400 INVALID_ARGUMENT अनुरोध का मुख्य हिस्सा गलत है. आपके अनुरोध में टाइपिंग की कोई गड़बड़ी है या कोई ज़रूरी फ़ील्ड मौजूद नहीं है. अनुरोध के फ़ॉर्मैट, उदाहरणों, और काम करने वाले वर्शन के बारे में जानने के लिए, एपीआई रेफ़रंस देखें. नए एपीआई वर्शन की सुविधाओं को पुराने एंडपॉइंट के साथ इस्तेमाल करने पर गड़बड़ियां हो सकती हैं.
400 FAILED_PRECONDITION आपके देश में Gemini API का मुफ़्त टियर उपलब्ध नहीं है. कृपया Google AI Studio में अपने प्रोजेक्ट के लिए, बिलिंग की सुविधा चालू करें. आपने किसी ऐसे इलाके से अनुरोध किया है जहां बिना किसी शुल्क वाला टियर उपलब्ध नहीं है. साथ ही, आपने Google AI Studio में अपने प्रोजेक्ट के लिए बिलिंग की सुविधा चालू नहीं की है. Gemini API का इस्तेमाल करने के लिए, आपको Google AI Studio का इस्तेमाल करके, पेड प्लान सेट अप करना होगा.
403 PERMISSION_DENIED आपकी एपीआई कुंजी के पास ज़रूरी अनुमतियां नहीं हैं. आपने गलत एपीआई कुंजी का इस्तेमाल किया है; आपने पुष्टि करने की सही प्रोसेस पूरी किए बिना, ट्यून किए गए मॉडल का इस्तेमाल करने की कोशिश की है. देखें कि आपका एपीआई पासकोड सेट हो और उसके पास सही ऐक्सेस हो. साथ ही, ट्यून किए गए मॉडल का इस्तेमाल करने के लिए, पुष्टि करने की प्रोसेस पूरी करना न भूलें.
404 NOT_FOUND अनुरोध किया गया संसाधन नहीं मिला. आपकी अनुरोध की गई इमेज, ऑडियो या वीडियो फ़ाइल नहीं मिली. देखें कि आपके एपीआई वर्शन के लिए, अनुरोध में शामिल सभी पैरामीटर मान्य हैं या नहीं.
429 RESOURCE_EXHAUSTED आपने तय सीमा से ज़्यादा अनुरोध किए हैं. आपने Gemini API के मुफ़्त टियर का इस्तेमाल करके, हर मिनट में बहुत ज़्यादा अनुरोध भेजे हैं. पुष्टि करें कि आप मॉडल की रेट लिमिट के अंदर हों. अगर ज़रूरत हो, तो कोटा बढ़ाने का अनुरोध करें.
500 आंतरिक Google की तरफ़ से कोई गड़बड़ी हुई. आपने बहुत ज़्यादा कॉन्टेक्स्ट दिया है. इनपुट कॉन्टेक्स्ट को कम करें या कुछ समय के लिए किसी दूसरे मॉडल पर स्विच करें. उदाहरण के लिए, Gemini 1.5 Pro से Gemini 1.5 Flash पर स्विच करें और देखें कि समस्या ठीक हुई या नहीं. इसके अलावा, थोड़ी देर इंतज़ार करें और फिर से अनुरोध करें. अगर दोबारा कोशिश करने के बाद भी समस्या बनी रहती है, तो कृपया Google AI Studio में सुझाव/राय भेजें या शिकायत करें बटन का इस्तेमाल करके इसकी शिकायत करें.
503 हवा की क्वालिटी की जानकारी उपलब्ध नहीं है ऐसा हो सकता है कि सेवा पर कुछ समय के लिए बहुत ज़्यादा लोड हो या वह काम न कर रही हो. यह सेवा कुछ समय के लिए उपलब्ध नहीं है. कुछ समय के लिए किसी दूसरे मॉडल पर स्विच करें. जैसे, 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 मॉडल के साथ, अनुरोध पूरा होने में ज़्यादा समय लग रहा है या टोकन का इस्तेमाल ज़्यादा हो रहा है

अगर आपको 2.5 Flash और Pro मॉडल में ज़्यादा लेटेन्सी या टोकन के इस्तेमाल में बढ़ोतरी दिख रही है, तो इसकी वजह यह हो सकती है कि इनमें सोचने की सुविधा डिफ़ॉल्ट रूप से चालू होती है. ऐसा क्वालिटी को बेहतर बनाने के लिए किया जाता है. अगर आपको तेज़ी से जवाब चाहिए या लागत कम करनी है, तो सोचने की सुविधा को अडजस्ट या बंद किया जा सकता है.

निर्देशों और सैंपल कोड के लिए, थिंकिंग पेज देखें.

सुरक्षा से जुड़ी समस्याएं

अगर आपको एपीआई कॉल में सुरक्षा सेटिंग की वजह से, प्रॉम्प्ट को ब्लॉक किए जाने का मैसेज दिखता है, तो एपीआई कॉल में सेट किए गए फ़िल्टर के हिसाब से प्रॉम्प्ट की समीक्षा करें.

अगर आपको BlockedReason.OTHER दिखता है, तो हो सकता है कि क्वेरी या जवाब, सेवा की शर्तों का उल्लंघन करता हो या किसी और वजह से काम न कर रहा हो.

पढ़ने से जुड़ी समस्या

अगर आपको RECITATION की वजह से मॉडल का आउटपुट जनरेट होना बंद होता दिखता है, तो इसका मतलब है कि मॉडल का आउटपुट किसी डेटा से मिलता-जुलता हो सकता है. इस समस्या को ठीक करने के लिए, प्रॉम्प्ट / कॉन्टेक्स्ट को जितना हो सके उतना यूनीक बनाएं और ज़्यादा तापमान का इस्तेमाल करें.

टोकन के दोहराव से जुड़ी समस्या

अगर आपको आउटपुट टोकन बार-बार दिख रहे हैं, तो उन्हें कम करने या हटाने के लिए, यहां दिए गए सुझावों को आज़माएं.

ब्यौरा वजह सुझाया गया समाधान
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) जब मॉडल के इनपुट में यूनिकोड या एस्केप सीक्वेंस (जैसे, \u या \t) शामिल होते हैं, तो इससे बार-बार नई लाइनें बन सकती हैं.
  • अपने प्रॉम्प्ट में, पाबंदी वाले एस्केप सीक्वेंस ढूंढें और उन्हें UTF-8 वर्णों से बदलें. उदाहरण के लिए, आपके JSON उदाहरणों में मौजूद \u एस्केप सीक्वेंस की वजह से, मॉडल अपने आउटपुट में भी इनका इस्तेमाल कर सकता है.
  • मॉडल को बताएं कि किन स्थितियों में जवाब देने से बचा जा सकता है. इस तरह का कोई सिस्टम निर्देश जोड़ें:
                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 से ज़्यादा पर सेट करें.
  • "कम शब्दों में जवाब दो", "एक ही बात को बार-बार न दोहराओ" या "जवाब सिर्फ़ एक बार दो" जैसे निर्देश जोड़ें.

मॉडल के आउटपुट को बेहतर बनाना

मॉडल से अच्छी क्वालिटी के जवाब पाने के लिए, ज़्यादा स्ट्रक्चर्ड प्रॉम्प्ट लिखने की कोशिश करें. प्रॉम्प्ट इंजीनियरिंग गाइड पेज पर, आपको शुरुआत करने के लिए कुछ बुनियादी कॉन्सेप्ट, रणनीतियां, और सबसे सही तरीके मिलेंगे.

अगर आपके पास अच्छे इनपुट/आउटपुट पेयर के सैकड़ों उदाहरण हैं, तो मॉडल ट्यूनिंग का इस्तेमाल किया जा सकता है.

टोकन की सीमाओं के बारे में जानकारी

टोकन की गिनती करने और उनकी सीमाओं को बेहतर तरीके से समझने के लिए, हमारी टोकन गाइड पढ़ें.

ज्ञात समस्याएं

  • एपीआई सिर्फ़ चुनिंदा भाषाओं के साथ काम करता है. जिन भाषाओं में प्रॉम्प्ट सबमिट करने की सुविधा उपलब्ध नहीं है उनमें प्रॉम्प्ट सबमिट करने पर, आपको अनचाहे जवाब मिल सकते हैं या जवाब नहीं मिल सकते. अपडेट के लिए, उपलब्ध भाषाएं देखें.

गड़बड़ी की शिकायत करें

अगर आपका कोई सवाल है, तो Google के एआई डेवलपर फ़ोरम पर जाकर बातचीत में शामिल हों.