diff --git a/conf.yaml.example b/conf.yaml.example index 9249961..a82c177 100644 --- a/conf.yaml.example +++ b/conf.yaml.example @@ -10,6 +10,7 @@ BASIC_MODEL: base_url: https://ark.cn-beijing.volces.com/api/v3 model: "doubao-1-5-pro-32k-250115" api_key: xxxx + # max_retries: 3 # Maximum number of retries for LLM calls # verify_ssl: false # Uncomment this line to disable SSL certificate verification for self-signed certificates # Reasoning model is optional. @@ -20,6 +21,8 @@ BASIC_MODEL: # base_url: https://ark-cn-beijing.bytedance.net/api/v3 # model: "doubao-1-5-thinking-pro-m-250428" # api_key: xxxx +# max_retries: 3 # Maximum number of retries for LLM calls + # OTHER SETTINGS: # Search engine configuration (Only supports Tavily currently) diff --git a/src/llms/llm.py b/src/llms/llm.py index d20696c..15ba13b 100644 --- a/src/llms/llm.py +++ b/src/llms/llm.py @@ -70,6 +70,10 @@ def _create_llm_use_conf( if not merged_conf: raise ValueError(f"No configuration found for LLM type: {llm_type}") + # Add max_retries to handle rate limit errors + if "max_retries" not in merged_conf: + merged_conf["max_retries"] = 3 + if llm_type == "reasoning": merged_conf["api_base"] = merged_conf.pop("base_url", None)