feat(llm): Add retry mechanism for LLM API calls (#400)
* feat(llm): Add retry mechanism for LLM API calls * feat: configure max_retries for LLM calls via conf.yaml --------- Co-authored-by: Willem Jiang <willem.jiang@gmail.com>
This commit is contained in:
parent
80e2b62c86
commit
2fd742d9c9
|
|
@ -10,6 +10,7 @@ BASIC_MODEL:
|
||||||
base_url: https://ark.cn-beijing.volces.com/api/v3
|
base_url: https://ark.cn-beijing.volces.com/api/v3
|
||||||
model: "doubao-1-5-pro-32k-250115"
|
model: "doubao-1-5-pro-32k-250115"
|
||||||
api_key: xxxx
|
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
|
# verify_ssl: false # Uncomment this line to disable SSL certificate verification for self-signed certificates
|
||||||
|
|
||||||
# Reasoning model is optional.
|
# Reasoning model is optional.
|
||||||
|
|
@ -20,6 +21,8 @@ BASIC_MODEL:
|
||||||
# base_url: https://ark-cn-beijing.bytedance.net/api/v3
|
# base_url: https://ark-cn-beijing.bytedance.net/api/v3
|
||||||
# model: "doubao-1-5-thinking-pro-m-250428"
|
# model: "doubao-1-5-thinking-pro-m-250428"
|
||||||
# api_key: xxxx
|
# api_key: xxxx
|
||||||
|
# max_retries: 3 # Maximum number of retries for LLM calls
|
||||||
|
|
||||||
|
|
||||||
# OTHER SETTINGS:
|
# OTHER SETTINGS:
|
||||||
# Search engine configuration (Only supports Tavily currently)
|
# Search engine configuration (Only supports Tavily currently)
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,10 @@ def _create_llm_use_conf(
|
||||||
if not merged_conf:
|
if not merged_conf:
|
||||||
raise ValueError(f"No configuration found for LLM type: {llm_type}")
|
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":
|
if llm_type == "reasoning":
|
||||||
merged_conf["api_base"] = merged_conf.pop("base_url", None)
|
merged_conf["api_base"] = merged_conf.pop("base_url", None)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue