import os | |
from litellm.router import Router | |
# Declare all global app dependencies here | |
# - Setup your dependency global inside init_dependencies() | |
# - Create a get_xxxx_() function to retrieve the dependency inside the FastAPI router | |
def init_dependencies(): | |
"""Initialize the application global dependencies""" | |
global llm_router | |
llm_router = Router(model_list=[ | |
{ | |
"model_name": "gemini-v1", | |
"litellm_params": | |
{ | |
"model": "gemini/gemini-2.0-flash", | |
"api_key": os.environ.get("GEMINI"), | |
"max_retries": 5, | |
"rpm": 15, | |
"allowed_fails": 1, | |
"cooldown": 30, | |
} | |
}, | |
{ | |
"model_name": "gemini-v2", | |
"litellm_params": | |
{ | |
"model": "gemini/gemini-2.5-flash", | |
"api_key": os.environ.get("GEMINI"), | |
"max_retries": 5, | |
"rpm": 10, | |
"allowed_fails": 1, | |
"cooldown": 30, | |
} | |
}], fallbacks=[{"gemini-v2": ["gemini-v1"]}], num_retries=10, retry_after=30) | |
def get_llm_router() -> Router: | |
"""Retrieves the LLM router""" | |
return llm_router | |