From c451f54925c14459d00e41a090590c4fb851588f Mon Sep 17 00:00:00 2001 From: XiaoBa <94062266+XiaoBa-Yu@users.noreply.github.com> Date: Wed, 26 Mar 2025 14:17:59 +0800 Subject: [PATCH] feat: add the maximum number of iterations to env (#16805) Co-authored-by: Xiaoba Yu --- docker/.env.example | 3 +++ docker/docker-compose-template.yaml | 1 + docker/docker-compose.yaml | 2 ++ web/.env.example | 5 ++++- .../config/agent/agent-setting/index.tsx | 11 +++++------ web/app/layout.tsx | 1 + web/config/index.ts | 9 +++++++++ 7 files changed, 25 insertions(+), 7 deletions(-) diff --git a/docker/.env.example b/docker/.env.example index 4d7486ed89..d366b18160 100644 --- a/docker/.env.example +++ b/docker/.env.example @@ -743,6 +743,9 @@ MAX_TOOLS_NUM=10 # Maximum number of Parallelism branches in the workflow MAX_PARALLEL_LIMIT=10 +# The maximum number of iterations for agent setting +MAX_ITERATIONS_NUM=5 + # ------------------------------ # Environment Variables for web Service # ------------------------------ diff --git a/docker/docker-compose-template.yaml b/docker/docker-compose-template.yaml index 05db17102b..e8ed382917 100644 --- a/docker/docker-compose-template.yaml +++ b/docker/docker-compose-template.yaml @@ -70,6 +70,7 @@ services: LOOP_NODE_MAX_COUNT: ${LOOP_NODE_MAX_COUNT:-100} MAX_TOOLS_NUM: ${MAX_TOOLS_NUM:-10} MAX_PARALLEL_LIMIT: ${MAX_PARALLEL_LIMIT:-10} + MAX_ITERATIONS_NUM: ${MAX_ITERATIONS_NUM:-5} # The postgres database. db: diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index c6a90eb521..bc92cb0922 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -325,6 +325,7 @@ x-shared-env: &shared-api-worker-env LOOP_NODE_MAX_COUNT: ${LOOP_NODE_MAX_COUNT:-100} MAX_TOOLS_NUM: ${MAX_TOOLS_NUM:-10} MAX_PARALLEL_LIMIT: ${MAX_PARALLEL_LIMIT:-10} + MAX_ITERATIONS_NUM: ${MAX_ITERATIONS_NUM:-5} TEXT_GENERATION_TIMEOUT_MS: ${TEXT_GENERATION_TIMEOUT_MS:-60000} PGUSER: ${PGUSER:-${DB_USERNAME}} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-${DB_PASSWORD}} @@ -502,6 +503,7 @@ services: LOOP_NODE_MAX_COUNT: ${LOOP_NODE_MAX_COUNT:-100} MAX_TOOLS_NUM: ${MAX_TOOLS_NUM:-10} MAX_PARALLEL_LIMIT: ${MAX_PARALLEL_LIMIT:-10} + MAX_ITERATIONS_NUM: ${MAX_ITERATIONS_NUM:-5} # The postgres database. db: diff --git a/web/.env.example b/web/.env.example index 6b2ab154cf..51dc3d6b3c 100644 --- a/web/.env.example +++ b/web/.env.example @@ -45,4 +45,7 @@ NEXT_PUBLIC_LOOP_NODE_MAX_COUNT=100 NEXT_PUBLIC_MAX_TOOLS_NUM=10 # Maximum number of Parallelism branches in the workflow -NEXT_PUBLIC_MAX_PARALLEL_LIMIT=10 \ No newline at end of file +NEXT_PUBLIC_MAX_PARALLEL_LIMIT=10 + +# The maximum number of iterations for agent setting +NEXT_PUBLIC_MAX_ITERATIONS_NUM=5 diff --git a/web/app/components/app/configuration/config/agent/agent-setting/index.tsx b/web/app/components/app/configuration/config/agent/agent-setting/index.tsx index 1501d75a8d..26a1242bd7 100644 --- a/web/app/components/app/configuration/config/agent/agent-setting/index.tsx +++ b/web/app/components/app/configuration/config/agent/agent-setting/index.tsx @@ -10,7 +10,7 @@ import { CuteRobot } from '@/app/components/base/icons/src/vender/solid/communic import { Unblur } from '@/app/components/base/icons/src/vender/solid/education' import Slider from '@/app/components/base/slider' import type { AgentConfig } from '@/models/debug' -import { DEFAULT_AGENT_PROMPT } from '@/config' +import { DEFAULT_AGENT_PROMPT, MAX_ITERATIONS_NUM } from '@/config' type Props = { isChatModel: boolean @@ -21,7 +21,6 @@ type Props = { } const maxIterationsMin = 1 -const maxIterationsMax = 5 const AgentSetting: FC = ({ isChatModel, @@ -99,7 +98,7 @@ const AgentSetting: FC = ({ { setTempPayload({ @@ -112,7 +111,7 @@ const AgentSetting: FC = ({ { @@ -120,8 +119,8 @@ const AgentSetting: FC = ({ if (value < maxIterationsMin) value = maxIterationsMin - if (value > maxIterationsMax) - value = maxIterationsMax + if (value > MAX_ITERATIONS_NUM) + value = MAX_ITERATIONS_NUM setTempPayload({ ...tempPayload, max_iteration: value, diff --git a/web/app/layout.tsx b/web/app/layout.tsx index 890d0bdf97..4f9fc616c8 100644 --- a/web/app/layout.tsx +++ b/web/app/layout.tsx @@ -52,6 +52,7 @@ const LocaleLayout = async ({ 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} + data-public-max-iterations-num={process.env.NEXT_PUBLIC_MAX_ITERATIONS_NUM} > diff --git a/web/config/index.ts b/web/config/index.ts index 3426222796..bba893ca54 100644 --- a/web/config/index.ts +++ b/web/config/index.ts @@ -293,3 +293,12 @@ else if (globalThis.document?.body?.getAttribute('data-public-loop-node-max-coun loopNodeMaxCount = Number.parseInt(globalThis.document.body.getAttribute('data-public-loop-node-max-count') as string) export const LOOP_NODE_MAX_COUNT = loopNodeMaxCount + +let maxIterationsNum = 5 + +if (process.env.NEXT_PUBLIC_MAX_ITERATIONS_NUM && process.env.NEXT_PUBLIC_MAX_ITERATIONS_NUM !== '') + maxIterationsNum = Number.parseInt(process.env.NEXT_PUBLIC_MAX_ITERATIONS_NUM) +else if (globalThis.document?.body?.getAttribute('data-public-max-iterations-num') && globalThis.document.body.getAttribute('data-public-max-iterations-num') !== '') + maxIterationsNum = Number.parseInt(globalThis.document.body.getAttribute('data-public-max-iterations-num') as string) + +export const MAX_ITERATIONS_NUM = maxIterationsNum