环境变量
Langflow 允许您使用环境变量配置多个设置。
配置环境变量
Langflow 从以下来源识别支持的环境变量:
- 您在终端中设置的环境变量。
- 使用 Langflow CLI 中的
--env-file
选项从.env
文件导入的环境变量。
您可以选择专门使用一个来源,或同时使用两个来源。
如果您选择同时使用两个来源,请注意从 .env
文件导入的环境变量会优先于在终端中设置的环境变量。
在终端中设置环境变量
运行以下命令为当前终端会话设置环境变量:
- Linux 或 macOS
- Windows
- Docker
_10export VARIABLE_NAME='VALUE'
_10set VARIABLE_NAME='VALUE'
_10docker run -it --rm \_10 -p 7860:7860 \_10 -e VARIABLE_NAME='VALUE' \_10 langflowai/langflow:latest
当您启动 Langflow 时,它会查找您在终端中设置的环境变量。 如果检测到支持的环境变量,则会根据优先级规则自动采用指定的值。
从 .env 文件导入环境变量
-
创建一个
.env
文件并在您喜欢的编辑器中打开它。 -
将您的环境变量添加到文件中:
_28DO_NOT_TRACK=true_28LANGFLOW_AUTO_LOGIN=false_28LANGFLOW_AUTO_SAVING=true_28LANGFLOW_AUTO_SAVING_INTERVAL=1000_28LANGFLOW_BACKEND_ONLY=false_28LANGFLOW_BUNDLE_URLS=["https://github.com/user/repo/commit/hash"]_28LANGFLOW_CACHE_TYPE=async_28LANGFLOW_COMPONENTS_PATH=/path/to/components/_28LANGFLOW_CONFIG_DIR=/path/to/config/_28LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow_28LANGFLOW_DEV=false_28LANGFLOW_FALLBACK_TO_ENV_VAR=false_28LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5_28LANGFLOW_HOST=127.0.0.1_28LANGFLOW_LANGCHAIN_CACHE=InMemoryCache_28LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000_28LANGFLOW_LOG_LEVEL=error_28LANGFLOW_OPEN_BROWSER=false_28LANGFLOW_PORT=7860_28LANGFLOW_REMOVE_API_KEYS=false_28LANGFLOW_SAVE_DB_IN_CONFIG_DIR=true_28LANGFLOW_SECRET_KEY=somesecretkey_28LANGFLOW_STORE=true_28LANGFLOW_STORE_ENVIRONMENT_VARIABLES=true_28LANGFLOW_SUPERUSER=adminuser_28LANGFLOW_SUPERUSER_PASSWORD=adminpass_28LANGFLOW_WORKER_TIMEOUT=60000_28LANGFLOW_WORKERS=3提示Langflow 项目包含一个
.env.example
文件来帮助您入门。 您可以将此文件的内容复制到您自己的.env
文件中,并将示例值替换为您自己的首选设置。 -
保存并关闭文件。
-
使用
--env-file
选项启动 Langflow 以定义.env
文件的路径:- 本地
- Docker
_10python -m langflow run --env-file .env_10docker run -it --rm \_10-p 7860:7860 \_10--env-file .env \_10langflowai/langflow:latest
在启动时,Langflow 会导入 .env
文件中的环境变量,以及您在终端中设置的任何变量,并采用其指定的值。
优先级
在 .env 文件中定义的环境变量优先于在终端中设置的环境变量。
这意味着,如果您恰好在终端和 .env
文件中都设置了相同的环境变量,Langflow 会采用 .env
文件中的值。
Langflow CLI 选项会覆盖 .env
文件中定义的相应环境变量以及在终端中设置的任何环境变量的值。
支持的环境变量
下表列出了 Langflow 支持的环境变量。
变量 | 格式 | 默认值 | 描述 |
---|---|---|---|
DO_NOT_TRACK | 布尔值 | false | 如果启用此选项,Langflow 不会跟踪遥测数据。 |
LANGFLOW_AUTO_LOGIN | 布尔值 | true | 启用 Langflow 的自动登录。设置为 false 以禁用自动登录并要求使用登录表单登录 Langflow UI。设置为 false 需要设置 LANGFLOW_SUPERUSER 和 LANGFLOW_SUPERUSER_PASSWORD 。 |
LANGFLOW_AUTO_SAVING | 布尔值 | true | 启用流程自动保存。 参见 --auto-saving 选项。 |
LANGFLOW_AUTO_SAVING_INTERVAL | 整数 | 1000 | 设置流程自动保存的间隔(毫秒)。 参见 --auto-saving-interval 选项。 |
LANGFLOW_BACKEND_ONLY | 布尔值 | false | 仅运行 Langflow 的后端服务器(无前端)。 参见 --backend-only 选项。 |
LANGFLOW_BUNDLE_URLS | List[String] | [] | 用于加载组件包和流程的 URL 列表。支持 GitHub URL。如果启用了 LANGFLOW_AUTO_LOGIN,这些包中的流程将被加载到数据库中。 |
LANGFLOW_CACHE_TYPE | async redis memory disk critical | async | 设置 Langflow 的缓存类型。 如果将类型设置为 redis ,则还必须设置以下环境变量:LANGFLOW_REDIS_HOST、LANGFLOW_REDIS_PORT、LANGFLOW_REDIS_DB 和 LANGFLOW_REDIS_CACHE_EXPIRE。 |
LANGFLOW_COMPONENTS_PATH | 字符串 | langflow/components | 包含自定义组件的目录路径。 参见 --components-path 选项。 |
LANGFLOW_CONFIG_DIR | 字符串 | 见描述 | 设置存储文件、日志和 Langflow 数据库的 Langflow 配置目录。默认值:Linux/WSL:~/.cache/langflow/ macOS: /Users/<username>/Library/Caches/langflow/ Windows: %LOCALAPPDATA%\langflow\langflow\Cache |
LANGFLOW_DATABASE_URL | 字符串 | 未设置 | 设置 Langflow 的数据库 URL。如果未提供,Langflow 使用 SQLite 数据库。 |
LANGFLOW_DATABASE_CONNECTION_RETRY | 布尔值 | false | 如果为 True,Langflow 在连接数据库失败时会尝试重新连接。 |
LANGFLOW_DB_POOL_SIZE | 整数 | 10 | 已弃用: 请使用 LANGFLOW_DB_CONNECTION_SETTINGS。连接池中保持打开的连接数。 |
LANGFLOW_DB_MAX_OVERFLOW | 整数 | 20 | 已弃用: 请使用 LANGFLOW_DB_CONNECTION_SETTINGS。允许超出池大小的连接数。 |
LANGFLOW_DB_CONNECT_TIMEOUT | 整数 | 20 | 在放弃等待锁释放或建立数据库连接之前的等待秒数。 |
LANGFLOW_DB_CONNECTION_SETTINGS | JSON | 未设置 | 用于集中数据库连接参数的 JSON 字典。示例:{"pool_size": 10, "max_overflow": 20} |
LANGFLOW_DEV | 布尔值 | false | 在开发模式下运行 Langflow(可能包含错误)。 参见 --dev 选项。 |
LANGFLOW_ENABLE_LOG_RETRIEVAL | 布尔值 | false | 启用日志检索功能。 |
LANGFLOW_FALLBACK_TO_ENV_VAR | 布尔值 | true | 如果启用,当 Langflow 无法检索变量值时,在 Langflow UI 中设置的全局变量会回退到具有相同名称的环境变量。 |
LANGFLOW_FRONTEND_PATH | 字符串 | ./frontend | 包含构建文件的前端目录路径。这仅用于开发目 的。 参见 --frontend-path 选项。 |
LANGFLOW_HEALTH_CHECK_MAX_RETRIES | 整数 | 5 | 设置健康检查的最大重试次数。 参见 --health-check-max-retries 选项。 |
LANGFLOW_HOST | 字符串 | 127.0.0.1 | Langflow 服务器将运行的主机。 参见 --host 选项。 |
LANGFLOW_LANGCHAIN_CACHE | InMemoryCache SQLiteCache | InMemoryCache | 要使用的缓存类型。 参见 --cache 选项。 |
LANGFLOW_LOG_LEVEL | DEBUG INFO WARNING ERROR CRITICAL | INFO | 设置 Langflow 的日志级别。 |
LANGFLOW_LOG_FILE | 字符串 | 未设置 | 日志文件的路径。如果未设置此选项,日志将写入标准输出。 |
LANGFLOW_LOG_RETRIEVER_BUFFER_SIZE | 整数 | 10000 | 设置日志检索的缓冲区大小。仅在启用 LANGFLOW_ENABLE_LOG_RETRIEVAL 时使用。 |
LANGFLOW_MAX_FILE_SIZE_UPLOAD | 整数 | 100 | 设置上传文件的最大大小(兆字节)。 参见 --max-file-size-upload 选项。 |
LANGFLOW_MCP_SERVER_ENABLED | 布尔值 | true | 如果此选项设置为 False,Langflow 不会启用 MCP 服务器。 |
LANGFLOW_MCP_SERVER_ENABLE_PROGRESS_NOTIFICATIONS | 布尔值 | false | 如果此选项设置为 True,Langflow 会在 MCP 服务器中发送进度通知。 |
LANGFLOW_NEW_USER_IS_ACTIVE | 布尔值 | false | 启用后,新用户将自动激活,无需超级用户显式激活即可登录。 |
LANGFLOW_OPEN_BROWSER | 布尔值 | false | 在启动时打开系统网络浏览器。 参见 --open-browser 选项。 |
LANGFLOW_PORT | 整数 | 7860 | Langflow 服务器运行的端口。如果指定的端口正在使用中,服务器会自动选择一个空闲端口。 参见 --port 选项。 |
LANGFLOW_PROMETHEUS_ENABLED | 布尔值 | false | 暴露 Prometheus 指标。 |
LANGFLOW_PROMETHEUS_PORT | 整数 | 9090 | 设置 Langflow 暴露 Prometheus 指标的端口。 |
LANGFLOW_REDIS_CACHE_EXPIRE | 整数 | 3600 | 参见 LANGFLOW_CACHE_TYPE。 |
LANGFLOW_REDIS_DB | 整数 | 0 | 参见 LANGFLOW_CACHE_TYPE。 |
LANGFLOW_REDIS_HOST | 字符串 | localhost | 参见 LANGFLOW_CACHE_TYPE。 |
LANGFLOW_REDIS_PORT | 字符串 | 6379 | 参见 LANGFLOW_CACHE_TYPE。 |
LANGFLOW_REDIS_PASSWORD | 字符串 | 未设置 | 使用 Redis 缓存类型时的 Redis 认证密码。 |
LANGFLOW_REMOVE_API_KEYS | 布尔值 | false | 从数据库中保存的项目中删除 API 密钥。 参见 --remove-api-keys 选项。 |
LANGFLOW_SAVE_DB_IN_CONFIG_DIR | 布尔值 | false | 将 Langflow 数据库保存在 LANGFLOW_CONFIG_DIR 中,而不是 Langflow 包目录中。注意,当此变量设置为默认值(false )时,数据库不会在不同的虚拟环境之间共享,并且在卸载 Langflow 时会被删除。 |
LANGFLOW_SECRET_KEY | 字符串 | 自动生成 | 用于加密敏感数据(如 API 密钥)的密钥。如果未提供密钥,则会自动生成一个安全密钥。对于具有多个实例的生产环境,您应该显式设置此值以确保实例之间的一致加密。 |
LANGFLOW_STORE | 布尔值 | true | 启用 Langflow Store。 参见 --store 选项。 |
LANGFLOW_STORE_ENVIRONMENT_VARIABLES | 布尔值 | true | 将环境变量作为全局变量存储在数据库中。 |
LANGFLOW_UPDATE_STARTER_PROJECTS | 布尔值 | true | 如果启用此选项,Langflow 在初始化时会使用最新的组件版本更新入门项目。 |
LANGFLOW_SUPERUSER | 字符串 | langflow | 设置超级用户的名称。如果 LANGFLOW_AUTO_LOGIN 设置为 false ,则必需。参见 superuser --username 选项。 |
LANGFLOW_SUPERUSER_PASSWORD | 字符串 | langflow | 设置超级用户的密码。如果 LANGFLOW_AUTO_LOGIN 设置为 false ,则必需。参见 superuser --password 选项。 |
LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT | 字符串 | 未设置 | 要从环境中获取并存储为全局变量的环境变量的逗号分隔列表。 |
LANGFLOW_LOAD_FLOWS_PATH | 字符串 | 未设置 | 包含要在启动时加载的流程 JSON 文件的目录路径。注意,此功能仅在启用 LANGFLOW_AUTO_LOGIN 时有效。 |
LANGFLOW_WORKER_TIMEOUT | 整数 | 300 | 工作进程超时时间(秒)。 参见 --worker-timeout 选项。 |
LANGFLOW_WORKERS | 整数 | 1 | 工作进程数量。 参见 --workers 选项。 |
配置 .env、override.conf 和 tasks.json 文件
以下示例展示了如何在不同场景中使用环境变量配置 Langflow。
- .env 文件
- Systemd 服务
- VSCode tasks.json
.env
文件是一个包含环境变量键值对的文本文件。
在项目根目录中创建或编辑名为 .env
的文件,并添加您的配置:
_28DO_NOT_TRACK=true_28LANGFLOW_AUTO_LOGIN=false_28LANGFLOW_AUTO_SAVING=true_28LANGFLOW_AUTO_SAVING_INTERVAL=1000_28LANGFLOW_BACKEND_ONLY=false_28LANGFLOW_BUNDLE_URLS=["https://github.com/user/repo/commit/hash"]_28LANGFLOW_CACHE_TYPE=async_28LANGFLOW_COMPONENTS_PATH=/path/to/components/_28LANGFLOW_CONFIG_DIR=/path/to/config/_28LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow_28LANGFLOW_DEV=false_28LANGFLOW_FALLBACK_TO_ENV_VAR=false_28LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5_28LANGFLOW_HOST=127.0.0.1_28LANGFLOW_LANGCHAIN_CACHE=InMemoryCache_28LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000_28LANGFLOW_LOG_LEVEL=error_28LANGFLOW_OPEN_BROWSER=false_28LANGFLOW_PORT=7860_28LANGFLOW_REMOVE_API_KEYS=false_28LANGFLOW_SAVE_DB_IN_CONFIG_DIR=true_28LANGFLOW_SECRET_KEY=somesecretkey_28LANGFLOW_STORE=true_28LANGFLOW_STORE_ENVIRONMENT_VARIABLES=true_28LANGFLOW_SUPERUSER=adminuser_28LANGFLOW_SUPERUSER_PASSWORD=adminpass_28LANGFLOW_WORKER_TIMEOUT=60000_28LANGFLOW_WORKERS=3
Systemd 服务配置文件用于配置 Linux 系统服务。
要添加环境变量,请创建或编辑服务配置文件并添加 override.conf
文件。此文件允许您覆盖服务的默认环境变量。
_31[Service]_31Environment="DO_NOT_TRACK=true"_31Environment="LANGFLOW_AUTO_LOGIN=false"_31Environment="LANGFLOW_AUTO_SAVING=true"_31Environment="LANGFLOW_AUTO_SAVING_INTERVAL=1000"_31Environment="LANGFLOW_BACKEND_ONLY=false"_31Environment="LANGFLOW_BUNDLE_URLS=[\"https://github.com/user/repo/commit/hash\"]"_31Environment="LANGFLOW_CACHE_TYPE=async"_31Environment="LANGFLOW_COMPONENTS_PATH=/path/to/components/"_31Environment="LANGFLOW_CONFIG_DIR=/path/to/config"_31Environment="LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow"_31Environment="LANGFLOW_DEV=false"_31Environment="LANGFLOW_FALLBACK_TO_ENV_VAR=false"_31Environment="LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5"_31Environment="LANGFLOW_HOST=127.0.0.1"_31Environment="LANGFLOW_LANGCHAIN_CACHE=InMemoryCache"_31Environment="LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000"_31Environment="LANGFLOW_LOG_ENV=container_json"_31Environment="LANGFLOW_LOG_FILE=logs/langflow.log"_31Environment="LANGFLOW_LOG_LEVEL=error"_31Environment="LANGFLOW_OPEN_BROWSER=false"_31Environment="LANGFLOW_PORT=7860"_31Environment="LANGFLOW_REMOVE_API_KEYS=false"_31Environment="LANGFLOW_SAVE_DB_IN_CONFIG_DIR=true"_31Environment="LANGFLOW_SECRET_KEY=somesecretkey"_31Environment="LANGFLOW_STORE=true"_31Environment="LANGFLOW_STORE_ENVIRONMENT_VARIABLES=true"_31Environment="LANGFLOW_SUPERUSER=adminuser"_31Environment="LANGFLOW_SUPERUSER_PASSWORD=adminpass"_31Environment="LANGFLOW_WORKER_TIMEOUT=60000"_31Environment="LANGFLOW_WORKERS=3"
有关 systemd 的更多信息,请参见 Red Hat 文档。
位于 .vscode/tasks.json
的 tasks.json
文件是使用 Visual Studio Code 的开发环境的配置文件。
在项目根目录中创建或编辑 .vscode/tasks.json
文件:
_46{_46 "version": "2.0.0",_46 "options": {_46 "env": {_46 "DO_NOT_TRACK": "true",_46 "LANGFLOW_AUTO_LOGIN": "false",_46 "LANGFLOW_AUTO_SAVING": "true",_46 "LANGFLOW_AUTO_SAVING_INTERVAL": "1000",_46 "LANGFLOW_BACKEND_ONLY": "false",_46 "LANGFLOW_BUNDLE_URLS": "[\"https://github.com/user/repo/commit/hash\"]",_46 "LANGFLOW_CACHE_TYPE": "async",_46 "LANGFLOW_COMPONENTS_PATH": "D:/path/to/components/",_46 "LANGFLOW_CONFIG_DIR": "D:/path/to/config/",_46 "LANGFLOW_DATABASE_URL": "postgresql://postgres:password@localhost:5432/langflow",_46 "LANGFLOW_DEV": "false",_46 "LANGFLOW_FALLBACK_TO_ENV_VAR": "false",_46 "LANGFLOW_HEALTH_CHECK_MAX_RETRIES": "5",_46 "LANGFLOW_HOST": "localhost",_46 "LANGFLOW_LANGCHAIN_CACHE": "InMemoryCache",_46 "LANGFLOW_MAX_FILE_SIZE_UPLOAD": "10000",_46 "LANGFLOW_LOG_ENV": "container_csv",_46 "LANGFLOW_LOG_FILE": "langflow.log",_46 "LANGFLOW_LOG_LEVEL": "error",_46 "LANGFLOW_OPEN_BROWSER": "false",_46 "LANGFLOW_PORT": "7860",_46 "LANGFLOW_REMOVE_API_KEYS": "true",_46 "LANGFLOW_SAVE_DB_IN_CONFIG_DIR": "false",_46 "LANGFLOW_SECRET_KEY": "somesecretkey",_46 "LANGFLOW_STORE": "true",_46 "LANGFLOW_STORE_ENVIRONMENT_VARIABLES": "true",_46 "LANGFLOW_SUPERUSER": "adminuser",_46 "LANGFLOW_SUPERUSER_PASSWORD": "adminpass",_46 "LANGFLOW_WORKER_TIMEOUT": "60000",_46 "LANGFLOW_WORKERS": "3"_46 }_46 },_46 "tasks": [_46 {_46 "label": "langflow backend",_46 "type": "shell",_46 "command": ". ./langflownightly/Scripts/activate && langflow run",_46 "isBackground": true,_46 "problemMatcher": []_46 }_46 ]_46}
要使用上述 VSCode tasks.json
文件运行 Langflow,在 VSCode 命令面板中,选择 Tasks: Run Task > langflow backend。