Browse Source

feat: add Maximum number of Parallelism branches to env (#15964)

Co-authored-by: Xiaoba Yu <xb1823725853@gmail.com>
XiaoBa 1 month ago
parent
commit
5e52d4d6b3

+ 3 - 0
docker/.env.example

@@ -738,6 +738,9 @@ LOOP_NODE_MAX_COUNT=100
 # The maximum number of tools that can be used in the agent.
 MAX_TOOLS_NUM=10
 
+# Maximum number of Parallelism branches in the workflow
+MAX_PARALLEL_LIMIT=10
+
 # ------------------------------
 # Environment Variables for web Service
 # ------------------------------

+ 1 - 0
docker/docker-compose-template.yaml

@@ -69,6 +69,7 @@ services:
       PM2_INSTANCES: ${PM2_INSTANCES:-2}
       LOOP_NODE_MAX_COUNT: ${LOOP_NODE_MAX_COUNT:-100}
       MAX_TOOLS_NUM: ${MAX_TOOLS_NUM:-10}
+      MAX_PARALLEL_LIMIT: ${MAX_PARALLEL_LIMIT:-10}
 
   # The postgres database.
   db:

+ 2 - 0
docker/docker-compose.yaml

@@ -322,6 +322,7 @@ x-shared-env: &shared-api-worker-env
   SSRF_PROXY_HTTPS_URL: ${SSRF_PROXY_HTTPS_URL:-http://ssrf_proxy:3128}
   LOOP_NODE_MAX_COUNT: ${LOOP_NODE_MAX_COUNT:-100}
   MAX_TOOLS_NUM: ${MAX_TOOLS_NUM:-10}
+  MAX_PARALLEL_LIMIT: ${MAX_PARALLEL_LIMIT:-10}
   TEXT_GENERATION_TIMEOUT_MS: ${TEXT_GENERATION_TIMEOUT_MS:-60000}
   PGUSER: ${PGUSER:-${DB_USERNAME}}
   POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-${DB_PASSWORD}}
@@ -498,6 +499,7 @@ services:
       PM2_INSTANCES: ${PM2_INSTANCES:-2}
       LOOP_NODE_MAX_COUNT: ${LOOP_NODE_MAX_COUNT:-100}
       MAX_TOOLS_NUM: ${MAX_TOOLS_NUM:-10}
+      MAX_PARALLEL_LIMIT: ${MAX_PARALLEL_LIMIT:-10}
 
   # The postgres database.
   db:

+ 4 - 1
web/.env.example

@@ -42,4 +42,7 @@ NEXT_PUBLIC_INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=4000
 NEXT_PUBLIC_LOOP_NODE_MAX_COUNT=100
 
 # Maximum number of tools in the agent/workflow
-NEXT_PUBLIC_MAX_TOOLS_NUM=10
+NEXT_PUBLIC_MAX_TOOLS_NUM=10
+
+# Maximum number of Parallelism branches in the workflow
+NEXT_PUBLIC_MAX_PARALLEL_LIMIT=10

+ 8 - 1
web/app/components/workflow/constants.ts

@@ -416,7 +416,14 @@ export const LOOP_PADDING = {
   left: 16,
 }
 
-export const PARALLEL_LIMIT = 10
+let maxParallelLimit = 10
+
+if (process.env.NEXT_PUBLIC_MAX_PARALLEL_LIMIT && process.env.NEXT_PUBLIC_MAX_PARALLEL_LIMIT !== '')
+  maxParallelLimit = Number.parseInt(process.env.NEXT_PUBLIC_MAX_PARALLEL_LIMIT)
+else if (globalThis.document?.body?.getAttribute('data-public-max-parallel-limit') && globalThis.document.body.getAttribute('data-public-max-parallel-limit') !== '')
+  maxParallelLimit = Number.parseInt(globalThis.document.body.getAttribute('data-public-max-parallel-limit') as string)
+
+export const PARALLEL_LIMIT = maxParallelLimit
 export const PARALLEL_DEPTH_LIMIT = 3
 
 export const RETRIEVAL_OUTPUT_STRUCT = `{

+ 1 - 0
web/app/layout.tsx

@@ -48,6 +48,7 @@ const LocaleLayout = ({
         data-public-site-about={process.env.NEXT_PUBLIC_SITE_ABOUT}
         data-public-text-generation-timeout-ms={process.env.NEXT_PUBLIC_TEXT_GENERATION_TIMEOUT_MS}
         data-public-max-tools-num={process.env.NEXT_PUBLIC_MAX_TOOLS_NUM}
+        data-public-max-parallel-limit={process.env.NEXT_PUBLIC_MAX_PARALLEL_LIMIT}
         data-public-top-k-max-value={process.env.NEXT_PUBLIC_TOP_K_MAX_VALUE}
         data-public-indexing-max-segmentation-tokens-length={process.env.NEXT_PUBLIC_INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH}
         data-public-loop-node-max-count={process.env.NEXT_PUBLIC_LOOP_NODE_MAX_COUNT}