You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I confirm that I am using English to submit this report (我已阅读并同意 Language Policy).
[FOR CHINESE USERS] 请务必使用英文提交 Issue,否则会被关闭。谢谢!:)
Please do not modify this template :) and fill in all the required fields.
1. Is this request related to a challenge you're experiencing? Tell me about your story.
Enhancement suggestion
This is enhancement request related to error handling of workflow node i.e. http, llm, and tool introduced in v.0.14.2.
I would like to suggest following enhancements:
upper limit of max_retries and retry_interval are configurable in each retry-able nodes only if configured
default values of retries are configurable in each retry-able nodes only if configured
not hardcoded but configurable system-wide default values of retries is applied only if nothing is configured
Background of this request
Current concern
HTTP node's default value: retry=enabled, max_retry=3, retry_interval=100ms which should be configurable in each environment because many users simply use these settings as-is, potentially causing redundant unnecessary HTTP retries, however, redundant HTTP retries are in general discouraged depending on the policy of environments where dify deployed. In fact, at least in my company, default retry should be disabled, upper limit of max_retry=10 is too large and dangerous.
upper limit of max_retries and retry_interval: LLM node’s upper limit of retry interval (5000ms) can be too short for some scenarios. This is related to the issues I raised here regarding Amazon bedrock where I want to configure retry interval larger. However, current upper limit of retry interval is hardcoded system-wide.
In response to above concerns, I would like to suggest enhancements above.
Concrete implementation approach
I have already implemented this in my local env and will push it later to main repository, please review if it is good, thanks.
to change upper limit of max_retry and retry_interval from hardcode to configured values which are passed from each node initialization. If it's not specified, system default values are loaded from config file. This is implemented inweb/app/components/workflow/nodes/_base/components/retry/retry-on-panel.tsx.
to do 1, in default.ts for each retry-able node(LLM, Node, Tool), fix default value for retry_config property so that retry-on-panel.tsx can access each node's retry default values and upper limit constraints configured in config file.
to do 2, in type.ts in retry component, adding max_retries_upper_bound and retry_interval_upper_bound
to add configuration variables in config/index.ts for both of system-wide default values and each node's values.
Note: no behavior change should happen after this change is applied unless config file is changed intentionally for each nodes.
System default retry config as-is are as follows:
retry enable/disable: disable
max_retry: 3
retry_interval: 1000ms
upper limit of max_retry: 10
upper limit of retry_interval: 5000
2. Additional context or comments
Described in 1.
3. Can you help us with this feature?
I am interested in contributing to this feature.
The text was updated successfully, but these errors were encountered:
Self Checks
1. Is this request related to a challenge you're experiencing? Tell me about your story.
Enhancement suggestion
This is enhancement request related to error handling of workflow node i.e. http, llm, and tool introduced in v.0.14.2.
I would like to suggest following enhancements:
Background of this request
Current concern
In response to above concerns, I would like to suggest enhancements above.
Concrete implementation approach
I have already implemented this in my local env and will push it later to main repository, please review if it is good, thanks.
web/app/components/workflow/nodes/_base/components/retry/retry-on-panel.tsx
.default.ts
for each retry-able node(LLM, Node, Tool), fix default value for retry_config property so thatretry-on-panel.tsx
can access each node's retry default values and upper limit constraints configured in config file.type.ts
in retry component, addingmax_retries_upper_bound
andretry_interval_upper_bound
config/index.ts
for both of system-wide default values and each node's values.Note: no behavior change should happen after this change is applied unless config file is changed intentionally for each nodes.
System default retry config as-is are as follows:
2. Additional context or comments
Described in 1.
3. Can you help us with this feature?
The text was updated successfully, but these errors were encountered: