Files
ragflow/internal/common/environments.go
Jin Hai add7b9486f Go: merge duplicate codes (#16783)
### Summary

1. merge heartbeat function.
2. introduce all environments

---------

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
2026-07-10 11:58:32 +08:00

189 lines
9.9 KiB
Go

//
// Copyright 2026 The InfiniFlow Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package common
import (
"os"
"strings"
)
func GetEnv(key string) string {
return os.Getenv(key)
}
func GetEnvSmall(key string) string {
return strings.ToLower(GetEnv(key))
}
// environment variables
const (
EnvDeepDocURL = "DEEPDOC_URL"
EnvTensorrtDLAServer = "TENSORRT_DLA_SVR"
EnvRAGFlowTTSCacheTTLSeconds = "RAGFLOW_TTS_CACHE_TTL_SECONDS"
EnvComponentExecTimeout = "COMPONENT_EXEC_TIMEOUT"
EnvDocEngine = "DOC_ENGINE"
EnvMaxFileNumPerUser = "MAX_FILE_NUM_PER_USER"
EnvRAGFlowDictPath = "RAGFLOW_DICT_PATH"
EnvDefaultSuperuserEmail = "DEFAULT_SUPERUSER_EMAIL"
EnvDefaultSuperuserNickname = "DEFAULT_SUPERUSER_NICKNAME"
EnvDefaultSuperuserPassword = "DEFAULT_SUPERUSER_PASSWORD"
EnvDBType = "DB_TYPE"
EnvDevice = "DEVICE"
EnvStorageImpl = "STORAGE_IMPL"
EnvStageHandCacheCap = "STAGEHAND_CACHE_CAP"
EnvStageHandCacheTTLSeconds = "STAGEHAND_CACHE_TTL_SECONDS"
EnvStageHandCacheSweepInterval = "STAGEHAND_CACHE_SWEEP_INTERVAL"
EnvStageHandExtractResultFile = "STAGEHAND_EXTRACT_RESULT_FILE"
EnvAgentRunAccessKeyID = "AGENTRUN_ACCESS_KEY_ID"
EnvAgentRunAccessKeySecret = "AGENTRUN_ACCESS_KEY_SECRET"
EnvAgentRunAccountID = "AGENTRUN_ACCOUNT_ID"
EnvAgentRunRegion = "AGENTRUN_REGION"
EnvAgentRunTemplateName = "AGENTRUN_TEMPLATE_NAME"
EnvAgentRunExecuteHost = "AGENTRUN_EXECUTE_HOST"
EnvAgentRunTimeout = "AGENTRUN_TIMEOUT"
EnvE2BTemplate = "E2B_TEMPLATE"
EnvE2BTemplateName = "E2B_TEMPLATE_NAME"
EnvE2BTimeout = "E2B_TIMEOUT"
EnvE2BAPIURL = "E2B_API_URL"
EnvE2BApiKey = "E2B_API_KEY"
EnvE2BAccessToken = "E2B_ACCESS_TOKEN"
EnvE2BDomain = "E2B_DOMAIN"
EnvLocalPythonBin = "LOCAL_PYTHON_BIN"
EnvLocalNodeBin = "LOCAL_NODE_BIN"
EnvLocalWorkDir = "LOCAL_WORK_DIR"
EnvLocalTimeout = "LOCAL_TIMEOUT"
EnvLocalMaxMemoryMB = "LOCAL_MAX_MEMORY_MB"
EnvLocalMaxOutputBytes = "LOCAL_MAX_OUTPUT_BYTES"
EnvLocalMaxArtifacts = "LOCAL_MAX_ARTIFACTS"
EnvLocalMaxArtifactBytes = "LOCAL_MAX_ARTIFACT_BYTES"
EnvPath = "PATH"
EnvOMPNumThreads = "OMP_NUM_THREADS"
EnvOpenBLASNumThreads = "OPENBLAS_NUM_THREADS"
EnvMKLNumThreads = "MKL_NUM_THREADS"
EnvVECLIBMaximumThreads = "VECLIB_MAXIMUM_THREADS"
EnvNumEXPRNumThreads = "NUMEXPR_NUM_THREADS"
EnvXDGCacheHome = "XDG_CACHE_HOME"
EnvOpenAIApiKey = "OPENAI_API_KEY"
EnvOpenAIBaseURL = "OPENAI_BASE_URL"
EnvOpenAIModel = "OPENAI_MODEL"
EnvStageHandExtractSchemaJSON = "STAGEHAND_EXTRACT_SCHEMA_JSON"
EnvSandboxProviderType = "SANDBOX_PROVIDER_TYPE"
EnvSandboxExecutorManagerURL = "SANDBOX_EXECUTOR_MANAGER_URL"
EnvSandboxExecutorManagerTimeout = "SANDBOX_EXECUTOR_MANAGER_TIMEOUT"
EnvSandboxExecutorManagerPoolSize = "SANDBOX_EXECUTOR_MANAGER_POOL_SIZE"
EnvSandboxExecutorManagerMaxRetries = "SANDBOX_EXECUTOR_MANAGER_MAX_RETRIES"
EnvSandboxBasePythonImage = "SANDBOX_BASE_PYTHON_IMAGE"
EnvSandboxBaseNodeJSImage = "SANDBOX_BASE_NODEJS_IMAGE"
EnvSandboxArtifactBucket = "SANDBOX_ARTIFACT_BUCKET"
EnvSSHHost = "SSH_HOST"
EnvSSHPort = "SSH_PORT"
EnvSSHUsername = "SSH_USERNAME"
EnvSSHPassword = "SSH_PASSWORD"
EnvSSHPrivateKey = "SSH_PRIVATE_KEY"
EnvSSHPrivateKeyPath = "SSH_PRIVATE_KEY_PATH"
EnvSSHPassphrase = "SSH_PASSPHRASE"
EnvSSHPythonBin = "SSH_PYTHON_BIN"
EnvSSHNodeBin = "SSH_NODE_BIN"
EnvSSHWorkDir = "SSH_WORK_DIR"
EnvSSHTimeout = "SSH_TIMEOUT"
EnvSSHMaxOutputBytes = "SSH_MAX_OUTPUT_BYTES"
EnvSSHMaxArtifacts = "SSH_MAX_ARTIFACTS"
EnvSSHMaxArtifactBytes = "SSH_MAX_ARTIFACT_BYTES"
EnvSSHKnownHosts = "SSH_KNOWN_HOSTS"
EnvTrinoUseTls = "TRINO_USE_TLS"
EnvSSHEnableAPIURL = "SSH_ENABLE_API_URL"
EnvAllowAnyHost = "ALLOW_ANY_HOST"
EnvTavilyApiKey = "TAVILY_API_KEY"
EnvHome = "HOME"
EnvUserProfile = "USERPROFILE"
EnvHttpHTTPProxy = "http_proxy"
EnvHttpHTTPSProxy = "https_proxy"
EnvBatchSingle = "BATCH_SINGLE"
EnvBatchCount = "BATCH_COUNT"
EnvBatchLogLevel = "BATCH_LOG_LEVEL"
EnvBatchSkipOCR = "BATCH_SKIP_OCR"
EnvBatchCompareOnly = "BATCH_COMPARE_ONLY"
EnvBatchCompareFilter = "BATCH_COMPARE_FILTER"
EnvBatchCompareCSV = "BATCH_COMPARE_CSV"
EnvPYOCRSuffix = "PY_OCR_SUFFIX"
EnvOSSDeepDocURL = "OSSDEEPDOC_URL"
EnvUpdateGolden = "UPDATE_GOLDEN"
EnvBatchParityFilter = "BATCH_PARITY_FILTER"
EnvDumpCount = "DUMP_COUNT"
EnvBatchCSV = "BATCH_CSV"
EnvESTest = "ES_TEST"
EnvESHost = "ES_HOST"
EnvESUsername = "ES_USERNAME"
EnvESPassword = "ES_PASSWORD"
EnvESIndexPrefix = "ES_INDEX_PREFIX"
EnvGiteeListModelsIntegration = "GITEE_LIST_MODELS_INTEGRATION"
EnvGiteeBaseUrl = "GITEE_BASE_URL"
EnvGiteeApiKey = "GITEE_API_KEY"
EnvRAGFlowApiTiming = "RAGFLOW_API_TIMING"
EnvInfinityURI = "INFINITY_URI"
EnvDoclingServerURL = "DOCLING_SERVER_URL"
EnvDoclingApiKey = "DOCLING_API_KEY"
EnvMineruApiServer = "MINERU_APISERVER"
EnvMineruApiKey = "MINERU_API_KEY"
EnvMineruBackend = "MINERU_BACKEND"
EnvOpenDataLoaderApiServer = "OPENDATALOADER_APISERVER"
EnvOpenDataLoaderApiKey = "OPENDATALOADER_API_KEY"
EnvPaddleOCRBaseUrl = "PADDLEOCR_BASE_URL"
EnvPaddleOCRApiURL = "PADDLEOCR_API_URL"
EnvPaddleOCRAccessToken = "PADDLEOCR_ACCESS_TOKEN"
EnvPaddleOCRAlgorithm = "PADDLEOCR_ALGORITHM"
EnvSOMarkBaseUrl = "SOMARK_BASE_URL"
EnvSOMarkApiKey = "SOMARK_API_KEY"
EnvSOMarkImageFormat = "SOMARK_IMAGE_FORMAT"
EnvSOMarkFormulaFormat = "SOMARK_FORMULA_FORMAT"
EnvSOMarkTableFormat = "SOMARK_TABLE_FORMAT"
EnvSOMarkCSFormat = "SOMARK_CS_FORMAT"
EnvSOMarkEnableTextCrossPage = "SOMARK_ENABLE_TEXT_CROSS_PAGE"
EnvSOMarkEnableTableCrossPage = "SOMARK_ENABLE_TABLE_CROSS_PAGE"
EnvSOMarkEnableTitleLevelRecognition = "SOMARK_ENABLE_TITLE_LEVEL_RECOGNITION"
EnvSOMarkEnableInlineImage = "SOMARK_ENABLE_INLINE_IMAGE"
EnvSOMarkEnableTableImage = "SOMARK_ENABLE_TABLE_IMAGE"
EnvSOMarkEnableImageUnderstanding = "SOMARK_ENABLE_IMAGE_UNDERSTANDING"
EnvSOMarkKeepHeaderFooter = "SOMARK_KEEP_HEADER_FOOTER"
EnvTCADPApiServerURL = "TCADP_APISERVER_URL"
EnvTCADPApiKey = "TCADP_API_KEY"
EnvRAGFlowSecretKey = "RAGFLOW_SECRET_KEY"
EnvRegisterEnabled = "REGISTER_ENABLED"
EnvDisablePasswordLogin = "DISABLE_PASSWORD_LOGIN"
EnvMinioHost = "MINIO_HOST"
EnvMinioRegion = "MINIO_REGION"
EnvLang = "LANG"
EnvLanguage = "LANGUAGE"
EnvChunkFeedbackEnabled = "CHUNK_FEEDBACK_ENABLED"
EnvChunkFeedbackWeighting = "CHUNK_FEEDBACK_WEIGHTING"
EnvComposeProfiles = "COMPOSE_PROFILES"
EnvTEIModel = "TEI_MODEL"
EnvTEIBaseURL = "TEI_BASE_URL"
EnvRAGFlowConfDir = "RAGFLOW_CONF_DIR"
EnvRAGProjectBaseURL = "RAG_PROJECT_BASE"
EnvRAGDeployBaseURL = "RAG_DEPLOY_BASE"
EnvRAGFlowTestEnvIntOrUnset = "RAGFLOW_TEST_ENVINTOR_UNSET"
EnvRAGFlowTestEnvIntOr = "RAGFLOW_TEST_ENVINTOR"
EnvRAGFlowTestEnvOr = "RAGFLOW_TEST_ENVOR"
EnvRAGFlowTestEnvOrUnset = "RAGFLOW_TEST_ENVOR_UNSET"
EnvKeenableAPIURL = "KEENABLE_API_URL"
EnvBoxWebOAuthRedirectURI = "BOX_WEB_OAUTH_REDIRECT_URI"
EnvGmailWebOAuthRedirectURI = "GMAIL_WEB_OAUTH_REDIRECT_URI"
EnvGoogleDriveWebOAuthRedirectURI = "GOOGLE_DRIVE_WEB_OAUTH_REDIRECT_URI"
EnvSpacyModelDir = "SPACY_MODEL_DIR"
)