Переглянути джерело

Add WORKFLOW_CALL_MAX_DEPTH env var. (#4713)

tags/0.6.10
majian 1 рік тому
джерело
коміт
72a90074bc
Аккаунт користувача з таким Email не знайдено
3 змінених файлів з 10 додано та 4 видалено
  1. 5
    0
      api/.env.example
  2. 2
    0
      api/config.py
  3. 3
    4
      api/core/workflow/workflow_engine_manager.py

+ 5
- 0
api/.env.example Переглянути файл

@@ -182,3 +182,8 @@ LOG_FILE=

# Indexing configuration
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=1000

# Workflow runtime configuration
WORKFLOW_MAX_EXECUTION_STEPS=50
WORKFLOW_MAX_EXECUTION_TIME=600
WORKFLOW_CALL_MAX_DEPTH=5

+ 2
- 0
api/config.py Переглянути файл

@@ -83,6 +83,7 @@ DEFAULTS = {
'INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH': 1000,
'WORKFLOW_MAX_EXECUTION_STEPS': 50,
'WORKFLOW_MAX_EXECUTION_TIME': 600,
'WORKFLOW_CALL_MAX_DEPTH': 5,
}


@@ -324,6 +325,7 @@ class Config:

self.WORKFLOW_MAX_EXECUTION_STEPS = int(get_env('WORKFLOW_MAX_EXECUTION_STEPS'))
self.WORKFLOW_MAX_EXECUTION_TIME = int(get_env('WORKFLOW_MAX_EXECUTION_TIME'))
self.WORKFLOW_CALL_MAX_DEPTH = int(get_env('WORKFLOW_CALL_MAX_DEPTH'))

# Moderation in app Configurations.
self.OUTPUT_MODERATION_BUFFER_SIZE = int(get_env('OUTPUT_MODERATION_BUFFER_SIZE'))

+ 3
- 4
api/core/workflow/workflow_engine_manager.py Переглянути файл

@@ -54,8 +54,6 @@ node_classes = {
NodeType.PARAMETER_EXTRACTOR: ParameterExtractorNode
}

WORKFLOW_CALL_MAX_DEPTH = 5

logger = logging.getLogger(__name__)


@@ -128,8 +126,9 @@ class WorkflowEngineManager:
user_inputs=user_inputs
)

if call_depth > WORKFLOW_CALL_MAX_DEPTH:
raise ValueError('Max workflow call depth reached.')
workflow_call_max_depth = current_app.config.get("WORKFLOW_CALL_MAX_DEPTH")
if call_depth > workflow_call_max_depth:
raise ValueError('Max workflow call depth {} reached.'.format(workflow_call_max_depth))

# init workflow run state
workflow_run_state = WorkflowRunState(

Завантаження…
Відмінити
Зберегти