Feat: support local provider for code exec component & remove some outdated models (#14637)

### What problem does this PR solve?

Feat: support local provider for code exec component & remove some
outdated models

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
Magicbook1108
2026-05-07 21:23:13 +08:00
committed by GitHub
parent 057806d7f1
commit c29335cbff
10 changed files with 659 additions and 143 deletions

View File

@@ -239,32 +239,72 @@ EMBEDDING_BATCH_SIZE=${EMBEDDING_BATCH_SIZE:-16}
# - Disable registration: 0
REGISTER_ENABLED=1
# Important: To enable sandbox, you need to uncomment following two lines:
# -----------------------------------------------------------------------------
# Sandbox
# -----------------------------------------------------------------------------
# Sandbox settings are grouped by provider type.
# 1. Set `SANDBOX_ENABLED=1` to enable sandbox support.
# 2. Set `SANDBOX_PROVIDER_TYPE` to choose the active provider.
# 3. Only edit the section that matches the selected provider type.
# 4. If you do not use `self_managed`, remove `,sandbox` from `COMPOSE_PROFILES`.
#
# Naming convention for future providers:
# - `SANDBOX_<PROVIDER>_*`
# Examples:
# - `SANDBOX_SELF_MANAGED_*`
# - `SANDBOX_LOCAL_*`
# - `SANDBOX_E2B_*`
# - `SANDBOX_ALIYUN_CODEINTERPRETER_*`
# Enable sandbox support.
# SANDBOX_ENABLED=1
# COMPOSE_PROFILES=${COMPOSE_PROFILES},sandbox
# SANDBOX_PROVIDER_TYPE=${SANDBOX_PROVIDER_TYPE:-self_managed}
# Sandbox settings
# Double check if you add `sandbox-executor-manager` to your `/etc/hosts`
# Shared sandbox settings
# `SANDBOX_HOST` is kept as the common endpoint name for legacy HTTP fallback
# and for the self-managed provider.
# Double check that `sandbox-executor-manager` resolves correctly in your
# Docker network or `/etc/hosts`.
# SANDBOX_HOST=${SANDBOX_HOST:-sandbox-executor-manager}
# The MinIO bucket name for storing sandbox-generated artifacts.
# SANDBOX_ARTIFACT_BUCKET=sandbox-artifacts
# Number of days before sandbox artifacts are automatically deleted.
# SANDBOX_ARTIFACT_EXPIRE_DAYS=7
# Provider: self_managed
# Use this provider when sandbox executors run as Docker services managed by
# RAGFlow. This is the default provider used by the `sandbox` compose profile.
# Pull the required base images before running:
# docker pull infiniflow/sandbox-base-nodejs:latest
# docker pull infiniflow/sandbox-base-python:latest
# Our default sandbox environments include:
# - Node.js base image: includes axios
# - Python base image: includes requests, numpy, and pandas
# Specify custom executor images below if you're using non-default environments.
# SANDBOX_HOST=${SANDBOX_HOST:-sandbox-executor-manager}
# SANDBOX_EXECUTOR_MANAGER_IMAGE=infiniflow/sandbox-executor-manager:latest
# SANDBOX_EXECUTOR_MANAGER_POOL_SIZE=3
# SANDBOX_BASE_PYTHON_IMAGE=infiniflow/sandbox-base-python:latest
# SANDBOX_BASE_NODEJS_IMAGE=infiniflow/sandbox-base-nodejs:latest
# SANDBOX_EXECUTOR_MANAGER_PORT=9385
# Default runtime images include:
# - Node.js base image: axios
# - Python base image: requests, numpy, pandas
# SANDBOX_EXECUTOR_MANAGER_IMAGE=${SANDBOX_EXECUTOR_MANAGER_IMAGE:-infiniflow/sandbox-executor-manager:latest}
# SANDBOX_EXECUTOR_MANAGER_POOL_SIZE=${SANDBOX_EXECUTOR_MANAGER_POOL_SIZE:-3}
# SANDBOX_BASE_PYTHON_IMAGE=${SANDBOX_BASE_PYTHON_IMAGE:-infiniflow/sandbox-base-python:latest}
# SANDBOX_BASE_NODEJS_IMAGE=${SANDBOX_BASE_NODEJS_IMAGE:-infiniflow/sandbox-base-nodejs:latest}
# SANDBOX_EXECUTOR_MANAGER_PORT=${SANDBOX_EXECUTOR_MANAGER_PORT:-9385}
# SANDBOX_ENABLE_SECCOMP=false
# SANDBOX_MAX_MEMORY=256m # b, k, m, g
# SANDBOX_TIMEOUT=10s # s, m, 1m30s
# The MinIO bucket name for storing sandbox-generated artifacts (charts, files, etc.).
SANDBOX_ARTIFACT_BUCKET=sandbox-artifacts
# Number of days before sandbox artifacts are automatically deleted from storage.
SANDBOX_ARTIFACT_EXPIRE_DAYS=7
# Provider: local
# Use this provider only in trusted development environments. It executes code
# on the local machine instead of inside Docker-managed sandbox containers.
# When `SANDBOX_PROVIDER_TYPE=local`, you usually do not need the `sandbox`
# compose profile.
# Uncomment and adjust only if you use the local provider.
# SANDBOX_LOCAL_ENABLED=true
# SANDBOX_LOCAL_PYTHON_BIN=python3
# SANDBOX_LOCAL_NODE_BIN=node
# SANDBOX_LOCAL_WORK_DIR=/tmp/ragflow-codeexec
# SANDBOX_LOCAL_TIMEOUT=30
# SANDBOX_LOCAL_MAX_MEMORY_MB=1024
# SANDBOX_LOCAL_MAX_OUTPUT_BYTES=1048576
# SANDBOX_LOCAL_MAX_ARTIFACTS=20
# SANDBOX_LOCAL_MAX_ARTIFACT_BYTES=10485760
# Enable DocLing
USE_DOCLING=false