Udhëzues për zgjidhjen e problemeve

Përdoreni këtë udhëzues për t'ju ndihmuar të diagnostikoni dhe zgjidhni problemet e zakonshme që lindin kur thirrni Gemini API. Mund të hasni probleme ose nga shërbimi i prapavijës së Gemini API ose nga SDK-të e klientit. SDK-të e klientit tonë janë me burim të hapur në depot e mëposhtme:

Nëse hasni probleme me çelësin API, verifikoni që e keni konfiguruar çelësin API saktë sipas udhëzuesit të konfigurimit të çelësit API .

Kodet e gabimit

Për një referencë të plotë të të gjitha kodeve të gabimeve, duke përfshirë kodet e statusit HTTP, kodet e bllokimit të gjenerimit dhe kodet e gabimeve të përmbajtjes, shihni faqen e gabimeve të API-t .

Strategjia e riprovimit

Nëse merrni një gabim që tregon se duhet ta riprovoni kërkesën tuaj (si p.sh. një 429 RESOURCE_EXHAUSTED ose 503 UNAVAILABLE ), ne rekomandojmë zbatimin e një strategjie tërheqjeje eksponenciale. Kjo do të thotë që duhet të prisni pak kohë para riprovimit të parë dhe pastaj të rrisni gradualisht kohën e pritjes midis riprovimeve pasuese.

The official client SDKs for the Gemini API, such as the Python SDK , include automatic retry logic with exponential backoff by default for handling transient errors like timeouts, network issues, and rate limits ( 429 and 5xx status codes). For example, the Python SDK automatically retries transient errors up to four times with an initial delay of approximately 1 second and a maximum delay of 60 seconds.

Nëse po bëni kërkesa të drejtpërdrejta REST API ose po personalizoni logjikën e riprovimit, ndiqni këto praktika më të mira për të rritur gjasat e një kërkese të suksesshme dhe për të parandaluar mbingarkesën e shërbimit:

  • Përdorni tërheqje eksponenciale: Prisni pak kohë para ripërpjekjes së parë (për shembull, 1 sekondë), pastaj rrisni vonesën në mënyrë eksponenciale (për shembull, 2s, 4s, 8s).
  • Shto luhatje: Shtoni një "luhatje" të rastësishme në vonesë për të ndihmuar në parandalimin e riprovimit të të gjithë klientëve në të njëjtën kohë.
  • Riprovo për gabime specifike: Riprovo vetëm për gabime kalimtare (si 429 , 408 ose 5xx ). Mos riprovo për gabimet e klientit (si 400 , 402 ose 403 ) pasi ato tregojnë probleme si çelësa API të pavlefshëm, kredite të shteruara të Parapagimit ose sintaksë të keqe.
  • Cakto numrin maksimal të ripërpjekjeve: Përcakto një numër maksimal të përpjekjeve për të parandaluar sythe të pafundme.

Kontrolloni thirrjet tuaja API për gabime të parametrave të modelit

Verifikoni që parametrat e modelit tuaj janë brenda vlerave të mëposhtme:

Parametri i modelit Vlerat (diapazoni)
Numri i kandidatëve 1-8 (numër i plotë)
Temperatura 0.0-1.0
Tokenët maksimalë të daljes Përdorni faqen e modeleve për të përcaktuar numrin maksimal të tokenëve për modelin që po përdorni.
TopP 0.0-1.0

Përveç kontrollit të vlerave të parametrave, sigurohuni që po përdorni versionin e saktë të API-t (p.sh., /v1 ose /v1beta ) dhe modelin që mbështet veçoritë që ju nevojiten. Për shembull, nëse një veçori është në versionin Beta, ajo do të jetë e disponueshme vetëm në versionin /v1beta të API-t.

Kontrolloni nëse keni modelin e duhur

Verifikoni që po përdorni një model të mbështetur të listuar në faqen tonë të modeleve .

Vonesa më e lartë ose përdorimi i tokenëve me modelet e të menduarit

Vonesat ose përdorimi i tokenëve më të lartë shpesh ndodhin sepse modelet Gemini 3.x e kanë të menduarit të aktivizuar si parazgjedhje. Modelet e vjetruara Gemini 2.5 gjithashtu përdorin të menduarit si parazgjedhje.

Modelet e të menduarit gjenerojnë tokena të brendshme arsyetimi për të përmirësuar cilësinë. Ky proces arsyetimi rrit si vonesën e përgjigjes ashtu edhe konsumin total të tokenave.

Nëse i jepni përparësi vonesës më të ulët ose keni nevojë të minimizoni kostot, mund ta ulni nivelin e të menduarit ose ta çaktivizoni të menduarit.

Për detajet e konfigurimit dhe shembujt e kodit, shihni udhëzuesin e të menduarit .

Çështje sigurie

Nëse shihni se një kërkesë është bllokuar për shkak të një cilësimi sigurie në thirrjen tuaj API, rishikoni kërkesën në lidhje me filtrat që keni vendosur në thirrjen API.

Nëse shihni BlockedReason.OTHER , pyetja ose përgjigjja mund të shkelë kushtet e shërbimit ose të mos mbështetet për ndonjë arsye tjetër.

Çështja e recitimit

Nëse shihni që modeli ndalon së gjeneruari rezultate për shkak të arsyes RECITATION, kjo do të thotë që rezultati i modelit mund të ngjajë me të dhëna të caktuara. Për ta rregulluar këtë, përpiquni ta bëni kërkesën/kontekstin sa më unik të jetë e mundur dhe përdorni një temperaturë më të lartë.

Problem me tokenët përsëritës

Nëse shihni tokena dalës të përsëritura, provoni sugjerimet e mëposhtme për t'i zvogëluar ose eliminuar ato.

Përshkrimi Shkak Zgjidhje e sugjeruar
Viza ndarëse të përsëritura në tabelat Markdown Kjo mund të ndodhë kur përmbajtja e tabelës është e gjatë, ndërsa modeli përpiqet të krijojë një tabelë Markdown të ​​rreshtuar vizualisht. Megjithatë, rreshtimi në Markdown nuk është i nevojshëm për paraqitjen e saktë.

Shtoni udhëzime në kërkesën tuaj për të dhënë udhëzime specifike për modelin për gjenerimin e tabelave Markdown. Jepni shembuj që ndjekin këto udhëzime. Mund të provoni gjithashtu të rregulloni temperaturën. Për gjenerimin e kodit ose rezultateve shumë të strukturuara si tabelat Markdown, temperatura e lartë ka treguar se funksionon më mirë (>= 0.8).

Më poshtë është një shembull i një grupi udhëzimesh që mund t'i shtoni kërkesës suaj për të parandaluar këtë problem:

          # 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.
        
Tokenët e përsëritur në tabelat Markdown Ngjashëm me vizat ndarëse të përsëritura, kjo ndodh kur modeli përpiqet të rreshtojë vizualisht përmbajtjen e tabelës. Renditja në Markdown nuk kërkohet për paraqitjen e saktë.
  • Provo të shtosh udhëzime si më poshtë në njoftimin e sistemit tënd:
                FOR TABLE HEADINGS, IMMEDIATELY ADD ' |' AFTER THE TABLE HEADING.
              
  • Provo të rregullosh temperaturën. Temperaturat më të larta (>= 0.8) në përgjithësi ndihmojnë në eliminimin e përsëritjeve ose dublikimeve në dalje.
Rreshta të reja të përsëritura ( \n ) në daljen e strukturuar Kur hyrja e modelit përmban unicode ose sekuenca escape si \u ose \t , kjo mund të çojë në rreshta të rinj të përsëritur.
  • Kontrolloni dhe zëvendësoni sekuencat e ndaluara të escape me karaktere UTF-8 në kërkesën tuaj. Për shembull, sekuenca \u në shembujt tuaj JSON mund të bëjë që modeli t'i përdorë ato edhe në daljen e tij.
  • Jepni udhëzime modelit mbi daljet e lejuara. Shtoni një udhëzim sistemi si ky:
                In quoted strings, the only allowed escape sequences are \\, \n, and \". Instead of \u escapes, use UTF-8.
              
Tekst i përsëritur duke përdorur dalje të strukturuar Kur rezultati i modelit ka një renditje të ndryshme për fushat nga skema e strukturuar e përcaktuar, kjo mund të çojë në përsëritje të tekstit.
  • Mos e specifikoni rendin e fushave në kërkesën tuaj.
  • Bëni të gjitha fushat e daljes të detyrueshme.
Thirrje e përsëritur e mjeteve Kjo mund të ndodhë nëse modeli humbet kontekstin e mendimeve të mëparshme dhe/ose thërret një pikë fundore të padisponueshme që është e detyruar ta bëjë. Udhëzoni modelin që të ruajë gjendjen brenda procesit të tij të të menduarit. Shtojeni këtë në fund të udhëzimeve të sistemit tuaj:
        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.
      
Tekst përsëritës që nuk është pjesë e rezultatit të strukturuar Kjo mund të ndodhë nëse modeli ngec në një kërkesë që nuk mund ta zgjidhë.
  • Nëse të menduarit është i ndezur, shmangni dhënien e urdhrave të qartë se si të mendohet për një problem në udhëzime. Thjesht kërkoni rezultatin përfundimtar.
  • Provoni një temperaturë më të lartë >= 0.8.
  • Shtoni udhëzime si "Ji konciz", "Mos e përsërit veten" ose "Jep përgjigjen një herë".

Çelësa API të bllokuar ose jofunksionalë

Ky seksion përshkruan se si të kontrolloni nëse çelësi juaj Gemini API është i bllokuar dhe çfarë të bëni në lidhje me të.

Kuptoni pse çelësat janë të bllokuar

Ne kemi identifikuar një dobësi ku disa çelësa API mund të jenë ekspozuar publikisht. Për të mbrojtur të dhënat tuaja dhe për të parandaluar aksesin e paautorizuar, ne kemi bllokuar në mënyrë proaktive këto çelësa të njohur të rrjedhur nga qasja në API-n Gemini.

Konfirmo nëse çelësat e tu janë prekur

Nëse dihet se çelësi juaj ka rrjedhur, nuk mund ta përdorni më atë çelës me Gemini API. Mund të përdorni Google AI Studio për të parë nëse ndonjë nga çelësat e API-t tuaj është bllokuar nga thirrja e Gemini API dhe për të gjeneruar çelësa të rinj. Gjithashtu mund të shihni gabimin e mëposhtëm të kthyer kur përpiqeni të përdorni këto çelësa:

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

Veprim për çelësat e bllokuar të API-t

Duhet të gjeneroni çelësa të rinj API për integrimet tuaja të API-t Gemini duke përdorur Google AI Studio . Ne ju rekomandojmë fuqimisht të rishikoni praktikat tuaja të menaxhimit të çelësave API për t'u siguruar që çelësat tuaj të rinj mbahen të sigurt dhe nuk ekspozohen publikisht.

Tarifa të papritura për shkak të cenueshmërisë

Dorëzoni një rast mbështetjeje për faturimin . Ekipi ynë i faturimit po punon për këtë dhe do të komunikojmë përditësime sa më shpejt të jetë e mundur.

Masat e sigurisë së Google për çelësat e rrjedhur

Si do të më ndihmojë Google të mbroj llogarinë time nga tejkalimi i kostove dhe abuzimi nëse çelësat e API-t të mi zbulohen?

  • Po shkojmë drejt lëshimit të çelësave API kur kërkoni një çelës të ri duke përdorur Google AI Studio , i cili si parazgjedhje do të kufizohet vetëm në Google AI Studio dhe nuk do të pranojë çelësa nga shërbime të tjera. Kjo do të ndihmojë në parandalimin e çdo përdorimi të paqëllimshëm ndër-çelësor.
  • Ne po përdorim si parazgjedhje bllokimin e çelësave API që rrjedhin dhe përdoren me Gemini API, duke ndihmuar në parandalimin e abuzimit me koston dhe të dhënat e aplikacionit tuaj.
  • Do të jeni në gjendje të gjeni statusin e çelësave tuaj API brenda Google AI Studio dhe ne do të punojmë për të komunikuar në mënyrë proaktive kur të identifikojmë se çelësat tuaj API janë zbuluar për veprim të menjëhershëm.

Përmirëso prodhimin e modelit

Për rezultate modelesh me cilësi më të lartë, eksploroni shkrimin e pyetjeve më të strukturuara. Faqja e udhëzuesit të inxhinierisë së pyetjeve prezanton disa koncepte bazë, strategji dhe praktika më të mira për t'ju ndihmuar të filloni.

Kuptoni kufijtë e tokenëve

Lexoni udhëzuesin tonë për Token-at për të kuptuar më mirë se si të numëroni token-at dhe limitet e tyre.

Probleme të njohura

  • API mbështet vetëm një numër gjuhësh të zgjedhura. Dërgimi i kërkesave në gjuhë të pambështetura mund të prodhojë përgjigje të papritura ose edhe të bllokuara. Shihni gjuhët e disponueshme për përditësime.

Paraqit një defekt

Bashkohuni në diskutim në forumin e zhvilluesve të inteligjencës artificiale të Google nëse keni pyetje.

,

Përdoreni këtë udhëzues për t'ju ndihmuar të diagnostikoni dhe zgjidhni problemet e zakonshme që lindin kur thirrni Gemini API. Mund të hasni probleme ose nga shërbimi i prapavijës së Gemini API ose nga SDK-të e klientit. SDK-të e klientit tonë janë me burim të hapur në depot e mëposhtme:

Nëse hasni probleme me çelësin API, verifikoni që e keni konfiguruar çelësin API saktë sipas udhëzuesit të konfigurimit të çelësit API .

Kodet e gabimit

Për një referencë të plotë të të gjitha kodeve të gabimeve, duke përfshirë kodet e statusit HTTP, kodet e bllokimit të gjenerimit dhe kodet e gabimeve të përmbajtjes, shihni faqen e gabimeve të API-t .

Strategjia e riprovimit

Nëse merrni një gabim që tregon se duhet ta riprovoni kërkesën tuaj (si p.sh. një 429 RESOURCE_EXHAUSTED ose 503 UNAVAILABLE ), ne rekomandojmë zbatimin e një strategjie tërheqjeje eksponenciale. Kjo do të thotë që duhet të prisni pak kohë para riprovimit të parë dhe pastaj të rrisni gradualisht kohën e pritjes midis riprovimeve pasuese.

The official client SDKs for the Gemini API, such as the Python SDK , include automatic retry logic with exponential backoff by default for handling transient errors like timeouts, network issues, and rate limits ( 429 and 5xx status codes). For example, the Python SDK automatically retries transient errors up to four times with an initial delay of approximately 1 second and a maximum delay of 60 seconds.

Nëse po bëni kërkesa të drejtpërdrejta REST API ose po personalizoni logjikën e riprovimit, ndiqni këto praktika më të mira për të rritur gjasat e një kërkese të suksesshme dhe për të parandaluar mbingarkesën e shërbimit:

  • Përdorni tërheqje eksponenciale: Prisni pak kohë para ripërpjekjes së parë (për shembull, 1 sekondë), pastaj rrisni vonesën në mënyrë eksponenciale (për shembull, 2s, 4s, 8s).
  • Shto luhatje: Shtoni një "luhatje" të rastësishme në vonesë për të ndihmuar në parandalimin e riprovimit të të gjithë klientëve në të njëjtën kohë.
  • Riprovo për gabime specifike: Riprovo vetëm për gabime kalimtare (si 429 , 408 ose 5xx ). Mos riprovo për gabimet e klientit (si 400 , 402 ose 403 ) pasi ato tregojnë probleme si çelësa API të pavlefshëm, kredite të shteruara të Parapagimit ose sintaksë të keqe.
  • Cakto numrin maksimal të ripërpjekjeve: Përcakto një numër maksimal të përpjekjeve për të parandaluar sythe të pafundme.

Kontrolloni thirrjet tuaja API për gabime të parametrave të modelit

Verifikoni që parametrat e modelit tuaj janë brenda vlerave të mëposhtme:

Parametri i modelit Vlerat (diapazoni)
Numri i kandidatëve 1-8 (numër i plotë)
Temperatura 0.0-1.0
Tokenët maksimalë të daljes Përdorni faqen e modeleve për të përcaktuar numrin maksimal të tokenëve për modelin që po përdorni.
TopP 0.0-1.0

Përveç kontrollit të vlerave të parametrave, sigurohuni që po përdorni versionin e saktë të API-t (p.sh., /v1 ose /v1beta ) dhe modelin që mbështet veçoritë që ju nevojiten. Për shembull, nëse një veçori është në versionin Beta, ajo do të jetë e disponueshme vetëm në versionin /v1beta të API-t.

Kontrolloni nëse keni modelin e duhur

Verifikoni që po përdorni një model të mbështetur të listuar në faqen tonë të modeleve .

Vonesa më e lartë ose përdorimi i tokenëve me modelet e të menduarit

Vonesat ose përdorimi i tokenëve më të lartë shpesh ndodhin sepse modelet Gemini 3.x e kanë të menduarit të aktivizuar si parazgjedhje. Modelet e vjetruara Gemini 2.5 gjithashtu përdorin të menduarit si parazgjedhje.

Modelet e të menduarit gjenerojnë tokena të brendshme arsyetimi për të përmirësuar cilësinë. Ky proces arsyetimi rrit si vonesën e përgjigjes ashtu edhe konsumin total të tokenave.

Nëse i jepni përparësi vonesës më të ulët ose keni nevojë të minimizoni kostot, mund ta ulni nivelin e të menduarit ose ta çaktivizoni të menduarit.

Për detajet e konfigurimit dhe shembujt e kodit, shihni udhëzuesin e të menduarit .

Çështje sigurie

Nëse shihni se një kërkesë është bllokuar për shkak të një cilësimi sigurie në thirrjen tuaj API, rishikoni kërkesën në lidhje me filtrat që keni vendosur në thirrjen API.

Nëse shihni BlockedReason.OTHER , pyetja ose përgjigjja mund të shkelë kushtet e shërbimit ose të mos mbështetet për ndonjë arsye tjetër.

Çështja e recitimit

Nëse shihni që modeli ndalon së gjeneruari rezultate për shkak të arsyes RECITATION, kjo do të thotë që rezultati i modelit mund të ngjajë me të dhëna të caktuara. Për ta rregulluar këtë, përpiquni ta bëni kërkesën/kontekstin sa më unik të jetë e mundur dhe përdorni një temperaturë më të lartë.

Problem me tokenët përsëritës

Nëse shihni tokena dalës të përsëritura, provoni sugjerimet e mëposhtme për t'i zvogëluar ose eliminuar ato.

Përshkrimi Shkak Zgjidhje e sugjeruar
Viza ndarëse të përsëritura në tabelat Markdown Kjo mund të ndodhë kur përmbajtja e tabelës është e gjatë, ndërsa modeli përpiqet të krijojë një tabelë Markdown të ​​rreshtuar vizualisht. Megjithatë, rreshtimi në Markdown nuk është i nevojshëm për paraqitjen e saktë.

Shtoni udhëzime në kërkesën tuaj për të dhënë udhëzime specifike për modelin për gjenerimin e tabelave Markdown. Jepni shembuj që ndjekin këto udhëzime. Mund të provoni gjithashtu të rregulloni temperaturën. Për gjenerimin e kodit ose rezultateve shumë të strukturuara si tabelat Markdown, temperatura e lartë ka treguar se funksionon më mirë (>= 0.8).

Më poshtë është një shembull i një grupi udhëzimesh që mund t'i shtoni kërkesës suaj për të parandaluar këtë problem:

          # 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.
        
Tokenët e përsëritur në tabelat Markdown Ngjashëm me vizat ndarëse të përsëritura, kjo ndodh kur modeli përpiqet të rreshtojë vizualisht përmbajtjen e tabelës. Renditja në Markdown nuk kërkohet për paraqitjen e saktë.
  • Provo të shtosh udhëzime si më poshtë në njoftimin e sistemit tënd:
                FOR TABLE HEADINGS, IMMEDIATELY ADD ' |' AFTER THE TABLE HEADING.
              
  • Provo të rregullosh temperaturën. Temperaturat më të larta (>= 0.8) në përgjithësi ndihmojnë në eliminimin e përsëritjeve ose dublikimeve në dalje.
Rreshta të reja të përsëritura ( \n ) në daljen e strukturuar Kur hyrja e modelit përmban unicode ose sekuenca escape si \u ose \t , kjo mund të çojë në rreshta të rinj të përsëritur.
  • Kontrolloni dhe zëvendësoni sekuencat e ndaluara të escape me karaktere UTF-8 në kërkesën tuaj. Për shembull, sekuenca \u në shembujt tuaj JSON mund të bëjë që modeli t'i përdorë ato edhe në daljen e tij.
  • Jepni udhëzime modelit mbi daljet e lejuara. Shtoni një udhëzim sistemi si ky:
                In quoted strings, the only allowed escape sequences are \\, \n, and \". Instead of \u escapes, use UTF-8.
              
Tekst i përsëritur duke përdorur dalje të strukturuar Kur rezultati i modelit ka një renditje të ndryshme për fushat nga skema e strukturuar e përcaktuar, kjo mund të çojë në përsëritje të tekstit.
  • Mos e specifikoni rendin e fushave në kërkesën tuaj.
  • Bëni të gjitha fushat e daljes të detyrueshme.
Thirrje e përsëritur e mjeteve Kjo mund të ndodhë nëse modeli humbet kontekstin e mendimeve të mëparshme dhe/ose thërret një pikë fundore të padisponueshme që është e detyruar ta bëjë. Udhëzoni modelin që të ruajë gjendjen brenda procesit të tij të të menduarit. Shtojeni këtë në fund të udhëzimeve të sistemit tuaj:
        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.
      
Tekst përsëritës që nuk është pjesë e rezultatit të strukturuar Kjo mund të ndodhë nëse modeli ngec në një kërkesë që nuk mund ta zgjidhë.
  • Nëse të menduarit është i ndezur, shmangni dhënien e urdhrave të qartë se si të mendohet për një problem në udhëzime. Thjesht kërkoni rezultatin përfundimtar.
  • Provoni një temperaturë më të lartë >= 0.8.
  • Shtoni udhëzime si "Ji konciz", "Mos e përsërit veten" ose "Jep përgjigjen një herë".

Çelësa API të bllokuar ose jofunksionalë

Ky seksion përshkruan se si të kontrolloni nëse çelësi juaj Gemini API është i bllokuar dhe çfarë të bëni në lidhje me të.

Kuptoni pse çelësat janë të bllokuar

Ne kemi identifikuar një dobësi ku disa çelësa API mund të jenë ekspozuar publikisht. Për të mbrojtur të dhënat tuaja dhe për të parandaluar aksesin e paautorizuar, ne kemi bllokuar në mënyrë proaktive këto çelësa të njohur të rrjedhur nga qasja në API-n Gemini.

Konfirmo nëse çelësat e tu janë prekur

Nëse dihet se çelësi juaj ka rrjedhur, nuk mund ta përdorni më atë çelës me Gemini API. Mund të përdorni Google AI Studio për të parë nëse ndonjë nga çelësat e API-t tuaj është bllokuar nga thirrja e Gemini API dhe për të gjeneruar çelësa të rinj. Gjithashtu mund të shihni gabimin e mëposhtëm të kthyer kur përpiqeni të përdorni këto çelësa:

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

Veprim për çelësat e bllokuar të API-t

Duhet të gjeneroni çelësa të rinj API për integrimet tuaja të API-t Gemini duke përdorur Google AI Studio . Ne ju rekomandojmë fuqimisht të rishikoni praktikat tuaja të menaxhimit të çelësave API për t'u siguruar që çelësat tuaj të rinj mbahen të sigurt dhe nuk ekspozohen publikisht.

Tarifa të papritura për shkak të cenueshmërisë

Dorëzoni një rast mbështetjeje për faturimin . Ekipi ynë i faturimit po punon për këtë dhe do të komunikojmë përditësime sa më shpejt të jetë e mundur.

Masat e sigurisë së Google për çelësat e rrjedhur

Si do të më ndihmojë Google të mbroj llogarinë time nga tejkalimi i kostove dhe abuzimi nëse çelësat e API-t të mi zbulohen?

  • Po shkojmë drejt lëshimit të çelësave API kur kërkoni një çelës të ri duke përdorur Google AI Studio , i cili si parazgjedhje do të kufizohet vetëm në Google AI Studio dhe nuk do të pranojë çelësa nga shërbime të tjera. Kjo do të ndihmojë në parandalimin e çdo përdorimi të paqëllimshëm ndër-çelësor.
  • Ne po përdorim si parazgjedhje bllokimin e çelësave API që rrjedhin dhe përdoren me Gemini API, duke ndihmuar në parandalimin e abuzimit me koston dhe të dhënat e aplikacionit tuaj.
  • Do të jeni në gjendje të gjeni statusin e çelësave tuaj API brenda Google AI Studio dhe ne do të punojmë për të komunikuar në mënyrë proaktive kur të identifikojmë se çelësat tuaj API janë zbuluar për veprim të menjëhershëm.

Përmirëso prodhimin e modelit

Për rezultate modelesh me cilësi më të lartë, eksploroni shkrimin e pyetjeve më të strukturuara. Faqja e udhëzuesit të inxhinierisë së pyetjeve prezanton disa koncepte bazë, strategji dhe praktika më të mira për t'ju ndihmuar të filloni.

Kuptoni kufijtë e tokenëve

Lexoni udhëzuesin tonë për Token-at për të kuptuar më mirë se si të numëroni token-at dhe limitet e tyre.

Probleme të njohura

  • API mbështet vetëm një numër gjuhësh të zgjedhura. Dërgimi i kërkesave në gjuhë të pambështetura mund të prodhojë përgjigje të papritura ose edhe të bllokuara. Shihni gjuhët e disponueshme për përditësime.

Paraqit një defekt

Bashkohuni në diskutim në forumin e zhvilluesve të inteligjencës artificiale të Google nëse keni pyetje.

,

Përdoreni këtë udhëzues për t'ju ndihmuar të diagnostikoni dhe zgjidhni problemet e zakonshme që lindin kur thirrni Gemini API. Mund të hasni probleme ose nga shërbimi i prapavijës së Gemini API ose nga SDK-të e klientit. SDK-të e klientit tonë janë me burim të hapur në depot e mëposhtme:

Nëse hasni probleme me çelësin API, verifikoni që e keni konfiguruar çelësin API saktë sipas udhëzuesit të konfigurimit të çelësit API .

Kodet e gabimit

Për një referencë të plotë të të gjitha kodeve të gabimeve, duke përfshirë kodet e statusit HTTP, kodet e bllokimit të gjenerimit dhe kodet e gabimeve të përmbajtjes, shihni faqen e gabimeve të API-t .

Strategjia e riprovimit

Nëse merrni një gabim që tregon se duhet ta riprovoni kërkesën tuaj (si p.sh. një 429 RESOURCE_EXHAUSTED ose 503 UNAVAILABLE ), ne rekomandojmë zbatimin e një strategjie tërheqjeje eksponenciale. Kjo do të thotë që duhet të prisni pak kohë para riprovimit të parë dhe pastaj të rrisni gradualisht kohën e pritjes midis riprovimeve pasuese.

The official client SDKs for the Gemini API, such as the Python SDK , include automatic retry logic with exponential backoff by default for handling transient errors like timeouts, network issues, and rate limits ( 429 and 5xx status codes). For example, the Python SDK automatically retries transient errors up to four times with an initial delay of approximately 1 second and a maximum delay of 60 seconds.

Nëse po bëni kërkesa të drejtpërdrejta REST API ose po personalizoni logjikën e riprovimit, ndiqni këto praktika më të mira për të rritur gjasat e një kërkese të suksesshme dhe për të parandaluar mbingarkesën e shërbimit:

  • Përdorni tërheqje eksponenciale: Prisni pak kohë para ripërpjekjes së parë (për shembull, 1 sekondë), pastaj rrisni vonesën në mënyrë eksponenciale (për shembull, 2s, 4s, 8s).
  • Shto luhatje: Shtoni një "luhatje" të rastësishme në vonesë për të ndihmuar në parandalimin e riprovimit të të gjithë klientëve në të njëjtën kohë.
  • Riprovo për gabime specifike: Riprovo vetëm për gabime kalimtare (si 429 , 408 ose 5xx ). Mos riprovo për gabimet e klientit (si 400 , 402 ose 403 ) pasi ato tregojnë probleme si çelësa API të pavlefshëm, kredite të shteruara të Parapagimit ose sintaksë të keqe.
  • Cakto numrin maksimal të ripërpjekjeve: Përcakto një numër maksimal të përpjekjeve për të parandaluar sythe të pafundme.

Kontrolloni thirrjet tuaja API për gabime të parametrave të modelit

Verifikoni që parametrat e modelit tuaj janë brenda vlerave të mëposhtme:

Parametri i modelit Vlerat (diapazoni)
Numri i kandidatëve 1-8 (numër i plotë)
Temperatura 0.0-1.0
Tokenët maksimalë të daljes Përdorni faqen e modeleve për të përcaktuar numrin maksimal të tokenëve për modelin që po përdorni.
TopP 0.0-1.0

Përveç kontrollit të vlerave të parametrave, sigurohuni që po përdorni versionin e saktë të API-t (p.sh., /v1 ose /v1beta ) dhe modelin që mbështet veçoritë që ju nevojiten. Për shembull, nëse një veçori është në versionin Beta, ajo do të jetë e disponueshme vetëm në versionin /v1beta të API-t.

Kontrolloni nëse keni modelin e duhur

Verifikoni që po përdorni një model të mbështetur të listuar në faqen tonë të modeleve .

Vonesa më e lartë ose përdorimi i tokenëve me modelet e të menduarit

Vonesat ose përdorimi i tokenëve më të lartë shpesh ndodhin sepse modelet Gemini 3.x e kanë të menduarit të aktivizuar si parazgjedhje. Modelet e vjetruara Gemini 2.5 gjithashtu përdorin të menduarit si parazgjedhje.

Modelet e të menduarit gjenerojnë tokena të brendshme arsyetimi për të përmirësuar cilësinë. Ky proces arsyetimi rrit si vonesën e përgjigjes ashtu edhe konsumin total të tokenave.

Nëse i jepni përparësi vonesës më të ulët ose keni nevojë të minimizoni kostot, mund ta ulni nivelin e të menduarit ose ta çaktivizoni të menduarit.

Për detajet e konfigurimit dhe shembujt e kodit, shihni udhëzuesin e të menduarit .

Çështje sigurie

Nëse shihni se një kërkesë është bllokuar për shkak të një cilësimi sigurie në thirrjen tuaj API, rishikoni kërkesën në lidhje me filtrat që keni vendosur në thirrjen API.

Nëse shihni BlockedReason.OTHER , pyetja ose përgjigjja mund të shkelë kushtet e shërbimit ose të mos mbështetet për ndonjë arsye tjetër.

Çështja e recitimit

Nëse shihni që modeli ndalon së gjeneruari rezultate për shkak të arsyes RECITATION, kjo do të thotë që rezultati i modelit mund të ngjajë me të dhëna të caktuara. Për ta rregulluar këtë, përpiquni ta bëni kërkesën/kontekstin sa më unik të jetë e mundur dhe përdorni një temperaturë më të lartë.

Problem me tokenët përsëritës

Nëse shihni tokena dalës të përsëritura, provoni sugjerimet e mëposhtme për t'i zvogëluar ose eliminuar ato.

Përshkrimi Shkak Zgjidhje e sugjeruar
Viza ndarëse të përsëritura në tabelat Markdown Kjo mund të ndodhë kur përmbajtja e tabelës është e gjatë, ndërsa modeli përpiqet të krijojë një tabelë Markdown të ​​rreshtuar vizualisht. Megjithatë, rreshtimi në Markdown nuk është i nevojshëm për paraqitjen e saktë.

Shtoni udhëzime në kërkesën tuaj për të dhënë udhëzime specifike për modelin për gjenerimin e tabelave Markdown. Jepni shembuj që ndjekin këto udhëzime. Mund të provoni gjithashtu të rregulloni temperaturën. Për gjenerimin e kodit ose rezultateve shumë të strukturuara si tabelat Markdown, temperatura e lartë ka treguar se funksionon më mirë (>= 0.8).

Më poshtë është një shembull i një grupi udhëzimesh që mund t'i shtoni kërkesës suaj për të parandaluar këtë problem:

          # 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.
        
Tokenët e përsëritur në tabelat Markdown Ngjashëm me vizat ndarëse të përsëritura, kjo ndodh kur modeli përpiqet të rreshtojë vizualisht përmbajtjen e tabelës. Renditja në Markdown nuk kërkohet për paraqitjen e saktë.
  • Provo të shtosh udhëzime si më poshtë në njoftimin e sistemit tënd:
                FOR TABLE HEADINGS, IMMEDIATELY ADD ' |' AFTER THE TABLE HEADING.
              
  • Provo të rregullosh temperaturën. Temperaturat më të larta (>= 0.8) në përgjithësi ndihmojnë në eliminimin e përsëritjeve ose dublikimeve në dalje.
Rreshta të reja të përsëritura ( \n ) në daljen e strukturuar Kur hyrja e modelit përmban unicode ose sekuenca escape si \u ose \t , kjo mund të çojë në rreshta të rinj të përsëritur.
  • Kontrolloni dhe zëvendësoni sekuencat e ndaluara të escape me karaktere UTF-8 në kërkesën tuaj. Për shembull, sekuenca \u në shembujt tuaj JSON mund të bëjë që modeli t'i përdorë ato edhe në daljen e tij.
  • Jepni udhëzime modelit mbi daljet e lejuara. Shtoni një udhëzim sistemi si ky:
                In quoted strings, the only allowed escape sequences are \\, \n, and \". Instead of \u escapes, use UTF-8.
              
Tekst i përsëritur duke përdorur dalje të strukturuar Kur rezultati i modelit ka një renditje të ndryshme për fushat nga skema e strukturuar e përcaktuar, kjo mund të çojë në përsëritje të tekstit.
  • Mos e specifikoni rendin e fushave në kërkesën tuaj.
  • Bëni të gjitha fushat e daljes të detyrueshme.
Thirrje e përsëritur e mjeteve Kjo mund të ndodhë nëse modeli humbet kontekstin e mendimeve të mëparshme dhe/ose thërret një pikë fundore të padisponueshme që është e detyruar ta bëjë. Udhëzoni modelin që të ruajë gjendjen brenda procesit të tij të të menduarit. Shtojeni këtë në fund të udhëzimeve të sistemit tuaj:
        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.
      
Tekst përsëritës që nuk është pjesë e rezultatit të strukturuar Kjo mund të ndodhë nëse modeli ngec në një kërkesë që nuk mund ta zgjidhë.
  • Nëse të menduarit është i ndezur, shmangni dhënien e urdhrave të qartë se si të mendohet për një problem në udhëzime. Thjesht kërkoni rezultatin përfundimtar.
  • Provoni një temperaturë më të lartë >= 0.8.
  • Shtoni udhëzime si "Ji konciz", "Mos e përsërit veten" ose "Jep përgjigjen një herë".

Çelësa API të bllokuar ose jofunksionalë

Ky seksion përshkruan se si të kontrolloni nëse çelësi juaj Gemini API është i bllokuar dhe çfarë të bëni në lidhje me të.

Kuptoni pse çelësat janë të bllokuar

Ne kemi identifikuar një dobësi ku disa çelësa API mund të jenë ekspozuar publikisht. Për të mbrojtur të dhënat tuaja dhe për të parandaluar aksesin e paautorizuar, ne kemi bllokuar në mënyrë proaktive këto çelësa të njohur të rrjedhur nga qasja në API-n Gemini.

Konfirmo nëse çelësat e tu janë prekur

Nëse dihet se çelësi juaj ka rrjedhur, nuk mund ta përdorni më atë çelës me Gemini API. Mund të përdorni Google AI Studio për të parë nëse ndonjë nga çelësat e API-t tuaj është bllokuar nga thirrja e Gemini API dhe për të gjeneruar çelësa të rinj. Gjithashtu mund të shihni gabimin e mëposhtëm të kthyer kur përpiqeni të përdorni këto çelësa:

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

Veprim për çelësat e bllokuar të API-t

Duhet të gjeneroni çelësa të rinj API për integrimet tuaja të API-t Gemini duke përdorur Google AI Studio . Ne ju rekomandojmë fuqimisht të rishikoni praktikat tuaja të menaxhimit të çelësave API për t'u siguruar që çelësat tuaj të rinj mbahen të sigurt dhe nuk ekspozohen publikisht.

Tarifa të papritura për shkak të cenueshmërisë

Dorëzoni një rast mbështetjeje për faturimin . Ekipi ynë i faturimit po punon për këtë dhe do të komunikojmë përditësime sa më shpejt të jetë e mundur.

Masat e sigurisë së Google për çelësat e rrjedhur

Si do të më ndihmojë Google të mbroj llogarinë time nga tejkalimi i kostove dhe abuzimi nëse çelësat e API-t të mi zbulohen?

  • Po shkojmë drejt lëshimit të çelësave API kur kërkoni një çelës të ri duke përdorur Google AI Studio , i cili si parazgjedhje do të kufizohet vetëm në Google AI Studio dhe nuk do të pranojë çelësa nga shërbime të tjera. Kjo do të ndihmojë në parandalimin e çdo përdorimi të paqëllimshëm ndër-çelësor.
  • Ne po përdorim si parazgjedhje bllokimin e çelësave API që rrjedhin dhe përdoren me Gemini API, duke ndihmuar në parandalimin e abuzimit me koston dhe të dhënat e aplikacionit tuaj.
  • Do të jeni në gjendje të gjeni statusin e çelësave tuaj API brenda Google AI Studio dhe ne do të punojmë për të komunikuar në mënyrë proaktive kur të identifikojmë se çelësat tuaj API janë zbuluar për veprim të menjëhershëm.

Përmirëso prodhimin e modelit

Për rezultate modelesh me cilësi më të lartë, eksploroni shkrimin e pyetjeve më të strukturuara. Faqja e udhëzuesit të inxhinierisë së pyetjeve prezanton disa koncepte bazë, strategji dhe praktika më të mira për t'ju ndihmuar të filloni.

Kuptoni kufijtë e tokenëve

Lexoni udhëzuesin tonë për Token-at për të kuptuar më mirë se si të numëroni token-at dhe limitet e tyre.

Probleme të njohura

  • API mbështet vetëm një numër gjuhësh të zgjedhura. Dërgimi i kërkesave në gjuhë të pambështetura mund të prodhojë përgjigje të papritura ose edhe të bllokuara. Shihni gjuhët e disponueshme për përditësime.

Paraqit një defekt

Bashkohuni në diskutim në forumin e zhvilluesve të inteligjencës artificiale të Google nëse keni pyetje.

,

Përdoreni këtë udhëzues për t'ju ndihmuar të diagnostikoni dhe zgjidhni problemet e zakonshme që lindin kur thirrni Gemini API. Mund të hasni probleme ose nga shërbimi i prapavijës së Gemini API ose nga SDK-të e klientit. SDK-të e klientit tonë janë me burim të hapur në depot e mëposhtme:

Nëse hasni probleme me çelësin API, verifikoni që e keni konfiguruar çelësin API saktë sipas udhëzuesit të konfigurimit të çelësit API .

Kodet e gabimit

Për një referencë të plotë të të gjitha kodeve të gabimeve, duke përfshirë kodet e statusit HTTP, kodet e bllokimit të gjenerimit dhe kodet e gabimeve të përmbajtjes, shihni faqen e gabimeve të API-t .

Strategjia e riprovimit

Nëse merrni një gabim që tregon se duhet ta riprovoni kërkesën tuaj (si p.sh. një 429 RESOURCE_EXHAUSTED ose 503 UNAVAILABLE ), ne rekomandojmë zbatimin e një strategjie tërheqjeje eksponenciale. Kjo do të thotë që duhet të prisni pak kohë para riprovimit të parë dhe pastaj të rrisni gradualisht kohën e pritjes midis riprovimeve pasuese.

The official client SDKs for the Gemini API, such as the Python SDK , include automatic retry logic with exponential backoff by default for handling transient errors like timeouts, network issues, and rate limits ( 429 and 5xx status codes). For example, the Python SDK automatically retries transient errors up to four times with an initial delay of approximately 1 second and a maximum delay of 60 seconds.

Nëse po bëni kërkesa të drejtpërdrejta REST API ose po personalizoni logjikën e riprovimit, ndiqni këto praktika më të mira për të rritur gjasat e një kërkese të suksesshme dhe për të parandaluar mbingarkesën e shërbimit:

  • Përdorni tërheqje eksponenciale: Prisni pak kohë para ripërpjekjes së parë (për shembull, 1 sekondë), pastaj rrisni vonesën në mënyrë eksponenciale (për shembull, 2s, 4s, 8s).
  • Shto luhatje: Shtoni një "luhatje" të rastësishme në vonesë për të ndihmuar në parandalimin e riprovimit të të gjithë klientëve në të njëjtën kohë.
  • Riprovo për gabime specifike: Riprovo vetëm për gabime kalimtare (si 429 , 408 ose 5xx ). Mos riprovo për gabimet e klientit (si 400 , 402 ose 403 ) pasi ato tregojnë probleme si çelësa API të pavlefshëm, kredite të shteruara të Parapagimit ose sintaksë të keqe.
  • Cakto numrin maksimal të ripërpjekjeve: Përcakto një numër maksimal të përpjekjeve për të parandaluar sythe të pafundme.

Kontrolloni thirrjet tuaja API për gabime të parametrave të modelit

Verifikoni që parametrat e modelit tuaj janë brenda vlerave të mëposhtme:

Parametri i modelit Vlerat (diapazoni)
Numri i kandidatëve 1-8 (numër i plotë)
Temperatura 0.0-1.0
Tokenët maksimalë të daljes Përdorni faqen e modeleve për të përcaktuar numrin maksimal të tokenëve për modelin që po përdorni.
TopP 0.0-1.0

Përveç kontrollit të vlerave të parametrave, sigurohuni që po përdorni versionin e saktë të API-t (p.sh., /v1 ose /v1beta ) dhe modelin që mbështet veçoritë që ju nevojiten. Për shembull, nëse një veçori është në versionin Beta, ajo do të jetë e disponueshme vetëm në versionin /v1beta të API-t.

Kontrolloni nëse keni modelin e duhur

Verifikoni që po përdorni një model të mbështetur të listuar në faqen tonë të modeleve .

Vonesa më e lartë ose përdorimi i tokenëve me modelet e të menduarit

Vonesat ose përdorimi i tokenëve më të lartë shpesh ndodhin sepse modelet Gemini 3.x e kanë të menduarit të aktivizuar si parazgjedhje. Modelet e vjetruara Gemini 2.5 gjithashtu përdorin të menduarit si parazgjedhje.

Modelet e të menduarit gjenerojnë tokena të brendshme arsyetimi për të përmirësuar cilësinë. Ky proces arsyetimi rrit si vonesën e përgjigjes ashtu edhe konsumin total të tokenave.

Nëse i jepni përparësi vonesës më të ulët ose keni nevojë të minimizoni kostot, mund ta ulni nivelin e të menduarit ose ta çaktivizoni të menduarit.

Për detajet e konfigurimit dhe shembujt e kodit, shihni udhëzuesin e të menduarit .

Çështje sigurie

Nëse shihni se një kërkesë është bllokuar për shkak të një cilësimi sigurie në thirrjen tuaj API, rishikoni kërkesën në lidhje me filtrat që keni vendosur në thirrjen API.

If you see BlockedReason.OTHER , the query or response may violate the terms of service or be otherwise unsupported.

Recitation issue

If you see the model stops generating output due to the RECITATION reason, this means the model output may resemble certain data. To fix this, try to make prompt / context as unique as possible and use a higher temperature.

Repetitive tokens issue

If you see repeated output tokens, try the following suggestions to help reduce or eliminate them.

Përshkrimi Shkak Suggested workaround
Repeated hyphens in Markdown tables This can occur when the contents of the table are long as the model tries to create a visually aligned Markdown table. However, the alignment in Markdown is not necessary for correct rendering.

Add instructions in your prompt to give the model specific guidelines for generating Markdown tables. Provide examples that follow those guidelines. You can also try adjusting the temperature. For generating code or very structured output like Markdown tables, high temperature have shown to work better (>= 0.8).

The following is an example set of guidelines you can add to your prompt to prevent this issue:

          # 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.
        
Repeated tokens in Markdown tables Similar to the repeated hyphens, this occurs when the model tries to visually align the contents of the table. The alignment in Markdown is not required for correct rendering.
  • Try adding instructions like the following to your system prompt:
                FOR TABLE HEADINGS, IMMEDIATELY ADD ' |' AFTER THE TABLE HEADING.
              
  • Try adjusting the temperature. Higher temperatures (>= 0.8) generally helps to eliminate repetitions or duplication in the output.
Repeated newlines ( \n ) in structured output When the model input contains unicode or escape sequences like \u or \t , it can lead to repeated newlines.
  • Check for and replace forbidden escape sequences with UTF-8 characters in your prompt. For example, \u escape sequence in your JSON examples can cause the model to use them in its output too.
  • Instruct the model on allowed escapes. Add a system instruction like this:
                In quoted strings, the only allowed escape sequences are \\, \n, and \". Instead of \u escapes, use UTF-8.
              
Repeated text in using structured output When the model output has a different order for the fields than the defined structured schema, this can lead to repeating text.
  • Don't specify the order of fields in your prompt.
  • Make all output fields required.
Repetitive tool calling This can occur if the model loses the context of previous thoughts and/or call an unavailable endpoint that it's forced to. Instruct the model to maintain state within its thought process. Add this to the end of your system instructions:
        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.
      
Repetitive text that's not part of structured output This can occur if the model gets stuck on a request that it can't resolve.
  • If thinking is turned on, avoid giving explicit orders for how to think through a problem in the instructions. Just ask for the final output.
  • Try a higher temperature >= 0.8.
  • Add instructions like "Be concise", "Don't repeat yourself", or "Provide the answer once".

Blocked or non-working API keys

This section describes how to check whether your Gemini API key is blocked and what to do about it.

Understand why keys are blocked

We have identified a vulnerability where some API keys may have been publicly exposed. To protect your data and prevent unauthorized access, we have proactively blocked these known leaked keys from accessing the Gemini API.

Confirm if your keys are affected

If your key is known to be leaked, you can no longer use that key with the Gemini API. You can use Google AI Studio to see if any of your API keys are blocked from calling the Gemini API and generate new keys. You may also see the following error returned when attempting to use these keys:

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

Action for blocked API keys

You should generate new API keys for your Gemini API integrations using Google AI Studio . We strongly recommend reviewing your API key management practices to ensure that your new keys are kept secure and are not publicly exposed.

Unexpected charges due to vulnerability

Submit a billing support case . Our billing team is working on this, and we will communicate updates as soon as possible.

Google's security measures for leaked keys

How is Google going to help secure my account from cost overrun and abuse if my API keys are leaked?

  • We are moving towards issuing API keys when you request a new key using Google AI Studio that will by default be limited to only Google AI Studio and not accept keys from other services. This will help prevent any unintended cross-key usage.
  • We are defaulting to blocking API keys that are leaked and used with the Gemini API, helping prevent abuse of cost and your application data.
  • You will be able to find the status of your API keys within Google AI Studio and we will work on communicating proactively when we identify your API keys are leaked for immediate action.

Improve model output

For higher quality model outputs, explore writing more structured prompts. The prompt engineering guide page introduces some basic concepts, strategies, and best practices to get you started.

Understand token limits

Read through our Token guide to better understand how to count tokens and their limits.

Probleme të njohura

  • The API supports only a number of select languages. Submitting prompts in unsupported languages can produce unexpected or even blocked responses. See available languages for updates.

Paraqit një defekt

Join the discussion on the Google AI developer forum if you have questions.