False45 commited on
Commit
bf47217
·
1 Parent(s): f3ff454

fix: update deprecated gemini-1.5-flash fallback models to gemini-flash-latest and gemini-flash-lite-latest to resolve 404 API errors during rate limit fallback

Browse files
Files changed (2) hide show
  1. src/config.py +1 -1
  2. src/services/gemini_service.py +4 -4
src/config.py CHANGED
@@ -38,7 +38,7 @@ class Settings(BaseSettings):
38
  gemini_api_key: str = ""
39
  use_gemini: bool = True # Feature flag: True = Gemini primary, False = Groq
40
  gemini_primary_model: str = "gemini-2.0-flash"
41
- gemini_fallback_model: str = "gemini-1.5-flash"
42
  gemini_vision_model: str = "gemini-2.0-flash"
43
  gemini_temperature: float = 0.1
44
  gemini_max_tokens: int = 2048
 
38
  gemini_api_key: str = ""
39
  use_gemini: bool = True # Feature flag: True = Gemini primary, False = Groq
40
  gemini_primary_model: str = "gemini-2.0-flash"
41
+ gemini_fallback_model: str = "gemini-flash-latest"
42
  gemini_vision_model: str = "gemini-2.0-flash"
43
  gemini_temperature: float = 0.1
44
  gemini_max_tokens: int = 2048
src/services/gemini_service.py CHANGED
@@ -176,10 +176,10 @@ class GeminiService:
176
  yield chunk.text
177
  except Exception as e2:
178
  logger.error(f"Fallback model {self.fallback_model} streaming also failed: {e2}")
179
- logger.info("Falling back to gemini-1.5-flash-8b...")
180
  try:
181
  response_stream = client.models.generate_content_stream(
182
- model="gemini-1.5-flash-8b",
183
  contents=prompt,
184
  config=config
185
  )
@@ -251,10 +251,10 @@ class GeminiVisionService:
251
  )
252
  except Exception as e:
253
  logger.error(f"Primary vision model failed: {e}")
254
- logger.info("Falling back to gemini-1.5-flash-8b for vision...")
255
  try:
256
  response = client.models.generate_content(
257
- model="gemini-1.5-flash-8b",
258
  contents=[prompt, types.Part.from_bytes(data=image_bytes, mime_type=mime_type)],
259
  config=config
260
  )
 
176
  yield chunk.text
177
  except Exception as e2:
178
  logger.error(f"Fallback model {self.fallback_model} streaming also failed: {e2}")
179
+ logger.info("Falling back to gemini-flash-lite-latest...")
180
  try:
181
  response_stream = client.models.generate_content_stream(
182
+ model="gemini-flash-lite-latest",
183
  contents=prompt,
184
  config=config
185
  )
 
251
  )
252
  except Exception as e:
253
  logger.error(f"Primary vision model failed: {e}")
254
+ logger.info("Falling back to gemini-flash-lite-latest for vision...")
255
  try:
256
  response = client.models.generate_content(
257
+ model="gemini-flash-lite-latest",
258
  contents=[prompt, types.Part.from_bytes(data=image_bytes, mime_type=mime_type)],
259
  config=config
260
  )