Gemini 2.0 timing out

Hi guys, I am using a fairly standard gemini query, sending 1 request per minute and I am getting repeated time outs after about three requests any ideas about what could be happening? I’m pretty sure I am way below the rate limits for these exp models.

Here’s the request function I’m using:

def gemini_exp_query(prompt, system_instruction='answer as concisely as possible', model="gemini-2.0-flash-exp"):

  generation_config = {
  "temperature": 1,
  "top_p": 0.95,
  "top_k": 64,
  "max_output_tokens": 8192,
  "response_mime_type": "text/plain",
  }

  model = genai.GenerativeModel(
    model_name=model,
    generation_config=generation_config,
    system_instruction=system_instruction,
  )



  response = model.generate_content(prompt)
  result = response.text 
  print(result)
  return result

Thanks for any help!

Here’s an enhanced version of your query function with built-in retry logic and timeout handling:

from tenacity import retry, stop_after_attempt, wait_exponential
import google.generativeai as genai

@retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=4, max=10))
def gemini_exp_query(prompt, system_instruction='answer as concisely as possible', model="gemini-2.0-flash-exp"):
    generation_config = {
        "temperature": 1,
        "top_p": 0.95,
        "top_k": 64,
        "max_output_tokens": 8192,
        "response_mime_type": "text/plain",
        "timeout": 30  # Adding explicit timeout
    }
    
    model = genai.GenerativeModel(
        model_name=model,
        generation_config=generation_config,
        system_instruction=system_instruction
    )
    
    response = model.generate_content(prompt)
    return response. Text

The improvements include:

  • Exponential backoff retry strategy
  • Explicit timeout setting
  • Decorator-based retry logic
  • More robust error handling

This should help manage intermittent timeouts while maintaining your request rate.