環境變數
一般來說,環境變數(如 LANGFLOW_PORT 或 LANGFLOW_LOG_LEVEL)配置 AgentBuilder 的運作方式。
這些是適用於整個 AgentBuilder 部署的廣泛設定。
相較之下,全域變數是儲存在 AgentBuilder 資料庫中的使用者定義值,用於 Flow中,例如 OPENAI_API_KEY。
AgentBuilder 也可以從環境變數取得全域變數。
有關更多資訊,請參閱 AgentBuilder 全域變數。
配置 AgentBuilder OSS 的環境變數
AgentBuilder 從以下來源識別支援的環境變數:
- 在終端機中設定的環境變數。
- 啟動 AgentBuilder 時從
.env檔案匯入的環境變數。 - 使用 AgentBuilder CLI 設定的環境變數,包括
--env-file選項和直接選項,例如--port。
您可以選擇使用一個或多個這些來源。
優先順序
如果在多個地方設定了相同的環境變數,以下階層適用:
- AgentBuilder CLI 選項覆寫所有其他來源。
.env檔案覆寫系統環境變數。- 系統環境變數僅在其他地方未設定時使用。
執行 AgentBuilder Docker 映像時,可以使用
-e旗標設定其他系統環境變數。
例如:
- 如果您在系統環境中設 定
LANGFLOW_PORT=8080,並在.env中設定LANGFLOW_PORT=7860,AgentBuilder 使用來自.env的7860。 - 如果您使用 AgentBuilder CLI 執行
langflow run --env-file .env --port 9000,並在.env中設定LANGFLOW_PORT=7860,則 AgentBuilder 使用來自 CLI 選項的9000。
在終端機中設定環境變數
執行以下命令來為目前終端機工作階段設定環境變數:
- Linux or 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
當您啟動 AgentBuilder 時,它會尋找您在終端機中設定的環境變數。 如果它偵測到支援的環境變數,則會自動採用指定的值,受 優先順序規則 約束。
從 .env 檔案匯入環境變數
-
如果 AgentBuilder 正在執行,請退出 AgentBuilder。
-
建立
.env檔案,然後在您偏好的編輯器中開啟它。 -
在
.env檔案中定義 AgentBuilder 環境變數。範例:.env
_29DO_NOT_TRACK=True_29LANGFLOW_AUTO_LOGIN=False_29LANGFLOW_AUTO_SAVING=True_29LANGFLOW_AUTO_SAVING_INTERVAL=1000_29LANGFLOW_BACKEND_ONLY=False_29LANGFLOW_BUNDLE_URLS=["https://github.com/user/repo/commit/hash"]_29LANGFLOW_CACHE_TYPE=async_29LANGFLOW_COMPONENTS_PATH=/path/to/components/_29LANGFLOW_CONFIG_DIR=/path/to/config/_29LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow_29LANGFLOW_DEV=False_29LANGFLOW_FALLBACK_TO_ENV_VAR=False_29LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5_29LANGFLOW_HOST=localhost_29LANGFLOW_LANGCHAIN_CACHE=InMemoryCache_29LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000_29LANGFLOW_MAX_ITEMS_LENGTH=100_29LANGFLOW_MAX_TEXT_LENGTH=1000_29LANGFLOW_LOG_LEVEL=error_29LANGFLOW_OPEN_BROWSER=False_29LANGFLOW_PORT=7860_29LANGFLOW_REMOVE_API_KEYS=False_29LANGFLOW_SAVE_DB_IN_CONFIG_DIR=True_29LANGFLOW_SECRET_KEY=somesecretkey_29LANGFLOW_STORE_ENVIRONMENT_VARIABLES=True_29LANGFLOW_SUPERUSER=adminuser_29LANGFLOW_SUPERUSER_PASSWORD=adminpass_29LANGFLOW_WORKER_TIMEOUT=60000_29LANGFLOW_WORKERS=3如需其他範例,請參閱 AgentBuilder 儲存庫中的
.env.example。 -
儲存並關閉
.env。 -
使用您的
.env檔案啟動 AgentBuilder:- Local
- Docker
_10uv run langflow run --env-file .env_10docker run -it --rm \_10-p 7860:7860 \_10--env-file .env \_10langflowai/langflow:latest如果您的
.env檔案不在相同目錄中,請提供.env檔案的路徑。
啟動時,AgentBuilder 從您的 .env 檔案匯入環境變數,以及您在終端機中設定的任何其他變數,然後採用它們指定的值。
配置開發環境變數
以下範例顯示如何在不同的開發情境中使用環境變數配置 AgentBuilder。
- .env file
- Systemd service
- VSCode tasks.json
.env 檔案是一個包含環境變數鍵值對的文字檔案。
在應用程式或 AgentBuilder 環境的根 目錄中建立或編輯 .env 檔案,然後將您的配置變數新增至檔案:
範例:.env
_29DO_NOT_TRACK=True_29LANGFLOW_AUTO_LOGIN=False_29LANGFLOW_AUTO_SAVING=True_29LANGFLOW_AUTO_SAVING_INTERVAL=1000_29LANGFLOW_BACKEND_ONLY=False_29LANGFLOW_BUNDLE_URLS=["https://github.com/user/repo/commit/hash"]_29LANGFLOW_CACHE_TYPE=async_29LANGFLOW_COMPONENTS_PATH=/path/to/components/_29LANGFLOW_CONFIG_DIR=/path/to/config/_29LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow_29LANGFLOW_DEV=False_29LANGFLOW_FALLBACK_TO_ENV_VAR=False_29LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5_29LANGFLOW_HOST=localhost_29LANGFLOW_LANGCHAIN_CACHE=InMemoryCache_29LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000_29LANGFLOW_MAX_ITEMS_LENGTH=100_29LANGFLOW_MAX_TEXT_LENGTH=1000_29LANGFLOW_LOG_LEVEL=error_29LANGFLOW_OPEN_BROWSER=False_29LANGFLOW_PORT=7860_29LANGFLOW_REMOVE_API_KEYS=False_29LANGFLOW_SAVE_DB_IN_CONFIG_DIR=True_29LANGFLOW_SECRET_KEY=somesecretkey_29LANGFLOW_STORE_ENVIRONMENT_VARIABLES=True_29LANGFLOW_SUPERUSER=adminuser_29LANGFLOW_SUPERUSER_PASSWORD=adminpass_29LANGFLOW_WORKER_TIMEOUT=60000_29LANGFLOW_WORKERS=3
systemd 服務配置檔案配置 Linux 系統服務。
要新增環境變數,請建立或編輯服務配置檔案並新增 override.conf 檔案。此檔案允許您覆寫服務的預設環境變數。
範例:override.conf
_32[Service]_32Environment="DO_NOT_TRACK=true"_32Environment="LANGFLOW_AUTO_LOGIN=false"_32Environment="LANGFLOW_AUTO_SAVING=true"_32Environment="LANGFLOW_AUTO_SAVING_INTERVAL=1000"_32Environment="LANGFLOW_BACKEND_ONLY=false"_32Environment="LANGFLOW_BUNDLE_URLS=[\"https://github.com/user/repo/commit/hash\"]"_32Environment="LANGFLOW_CACHE_TYPE=async"_32Environment="LANGFLOW_COMPONENTS_PATH=/path/to/components/"_32Environment="LANGFLOW_CONFIG_DIR=/path/to/config"_32Environment="LANGFLOW_DATABASE_URL=postgresql://user:password@localhost:5432/langflow"_32Environment="LANGFLOW_DEV=false"_32Environment="LANGFLOW_FALLBACK_TO_ENV_VAR=false"_32Environment="LANGFLOW_HEALTH_CHECK_MAX_RETRIES=5"_32Environment="LANGFLOW_HOST=localhost"_32Environment="LANGFLOW_LANGCHAIN_CACHE=InMemoryCache"_32Environment="LANGFLOW_MAX_FILE_SIZE_UPLOAD=10000"_32Environment="LANGFLOW_MAX_ITEMS_LENGTH=100"_32Environment="LANGFLOW_MAX_TEXT_LENGTH=1000"_32Environment="LANGFLOW_LOG_ENV=container_json"_32Environment="LANGFLOW_LOG_FILE=logs/langflow.log"_32Environment="LANGFLOW_LOG_LEVEL=error"_32Environment="LANGFLOW_OPEN_BROWSER=false"_32Environment="LANGFLOW_PORT=7860"_32Environment="LANGFLOW_REMOVE_API_KEYS=false"_32Environment="LANGFLOW_SAVE_DB_IN_CONFIG_DIR=true"_32Environment="LANGFLOW_SECRET_KEY=somesecretkey"_32Environment="LANGFLOW_STORE_ENVIRONMENT_VARIABLES=true"_32Environment="LANGFLOW_SUPERUSER=adminuser"_32Environment="LANGFLOW_SUPERUSER_PASSWORD=adminpass"_32Environment="LANGFLOW_WORKER_TIMEOUT=60000"_32Environment="LANGFLOW_WORKERS=3"
有關 systemd 的更多資訊,請參閱 Red Hat 文件。
位於 .vscode/tasks.json 的 tasks.json 檔案是使用 Visual Studio Code 的開發環境的配置檔案。
在專案根目錄中建立或編輯 .vscode/tasks.json 檔案。
範例:.vscode/tasks.json
_47{_47 "version": "2.0.0",_47 "options": {_47 "env": {_47 "DO_NOT_TRACK": "true",_47 "LANGFLOW_AUTO_LOGIN": "false",_47 "LANGFLOW_AUTO_SAVING": "true",_47 "LANGFLOW_AUTO_SAVING_INTERVAL": "1000",_47 "LANGFLOW_BACKEND_ONLY": "false",_47 "LANGFLOW_BUNDLE_URLS": "[\"https://github.com/user/repo/commit/hash\"]",_47 "LANGFLOW_CACHE_TYPE": "async",_47 "LANGFLOW_COMPONENTS_PATH": "D:/path/to/components/",_47 "LANGFLOW_CONFIG_DIR": "D:/path/to/config/",_47 "LANGFLOW_DATABASE_URL": "postgresql://postgres:password@localhost:5432/langflow",_47 "LANGFLOW_DEV": "false",_47 "LANGFLOW_FALLBACK_TO_ENV_VAR": "false",_47 "LANGFLOW_HEALTH_CHECK_MAX_RETRIES": "5",_47 "LANGFLOW_HOST": "localhost",_47 "LANGFLOW_LANGCHAIN_CACHE": "InMemoryCache",_47 "LANGFLOW_MAX_FILE_SIZE_UPLOAD": "10000",_47 "LANGFLOW_MAX_ITEMS_LENGTH": "100",_47 "LANGFLOW_MAX_TEXT_LENGTH": "1000",_47 "LANGFLOW_LOG_ENV": "container_csv",_47 "LANGFLOW_LOG_FILE": "langflow.log",_47 "LANGFLOW_LOG_LEVEL": "error",_47 "LANGFLOW_OPEN_BROWSER": "false",_47 "LANGFLOW_PORT": "7860",_47 "LANGFLOW_REMOVE_API_KEYS": "true",_47 "LANGFLOW_SAVE_DB_IN_CONFIG_DIR": "false",_47 "LANGFLOW_SECRET_KEY": "somesecretkey",_47 "LANGFLOW_STORE_ENVIRONMENT_VARIABLES": "true",_47 "LANGFLOW_SUPERUSER": "adminuser",_47 "LANGFLOW_SUPERUSER_PASSWORD": "adminpass",_47 "LANGFLOW_WORKER_TIMEOUT": "60000",_47 "LANGFLOW_WORKERS": "3"_47 }_47 },_47 "tasks": [_47 {_47 "label": "langflow backend",_47 "type": "shell",_47 "command": ". ./langflownightly/Scripts/activate && langflow run",_47 "isBackground": true,_47 "problemMatcher": []_47 }_47 ]_47}
要使用上述 VSCode tasks.json 檔案執行 AgentBuilder,請在 VSCode 命令選擇區中選取 Tasks: Run Task > langflow backend。
設定 AgentBuilder Desktop 的環境變數
在終端機中設定的環境變數不會自動提供給從 Windows 或 macOS GUI 啟動的 GUI 應用程式,如 AgentBuilder Desktop。
對於 Windows,這意味著從「開始」選單、桌面捷徑或 Windows 檔案總管啟動的任何 GUI 應用程式。
對於 macOS,這意味著從 Finder、Spotlight、Launchpad 或 Dock 啟動的任何 GUI 應用程式。
要設定 AgentBuilder Desktop 的環境變數,您需要根據您的 OS 使用特定命令或檔案。
- macOS
- Window System Properties
- Powershell
macOS 的 AgentBuilder Desktop 無法在從 macOS GUI 啟動時自動使用在終端機中設定的變數,例如 .zshrc 或 .bash_profile 中的變數。
要在 macOS 上使環境變數可用於 GUI 應用程式,您需要使用 launchctl 搭配 plist 檔案:
-
如果不存在,請建立
LaunchAgents目錄:_10mkdir -p ~/Library/LaunchAgents -
在
LaunchAgents目錄中,建立名為dev.langflow.env的.plist檔案。 -
將以下內容新增至
dev.langflow.env.plist,然後根據您的配置新增、變更或移除 AgentBuilder 環境變數。此範例為從 macOS GUI 啟動的所有 GUI 應用程式設定多個環境變數。
_21<?xml version="1.0" encoding="UTF-8"?>_21<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">_21<plist version="1.0">_21<dict>_21<key>Label</key>_21<string>dev.langflow.env</string>_21<key>ProgramArguments</key>_21<array>_21<string>/bin/sh</string>_21<string>-c</string>_21<string>_21launchctl setenv LANGFLOW_CONFIG_DIR /Users/your_user/custom/config &&_21launchctl setenv LANGFLOW_PORT 7860 &&_21launchctl setenv LANGFLOW_HOST localhost &&_21launchctl setenv ARIZE_API_KEY ak-..._21</string>_21</array>_21<key>RunAtLoad</key>_21<true/>_21</dict>_21</plist> -
使用
launchctl載入檔案:_10launchctl load ~/Library/LaunchAgents/dev.langflow.env.plist
Windows 的 AgentBuilder Desktop 無法在從 Windows GUI 啟動時自動使用在終端機中設定的變數,例如在 cmd 中使用 set 定義的變數,或在 PowerShell 中使用 $env:VAR=... 定義的變數。
要使環境變數可用於 AgentBuilder Desktop 應用程式,您必須使用 System Properties 介面或終端機在使用者或系統層級設定它們。
要使用 System Properties 介面設定環境變數,請執行以下操作:
-
按 Win + R,輸入
SystemPropertiesAdvanced,然後按 Enter。 -
按一下 Environment Variables。
-
在 User variables 下,按一下 New。
tip要將設定套用至所有使用者,請選取 System variables。
-
輸入您要設定的 AgentBuilder 變數名稱,例如
LANGFLOW_CONFIG_DIR,以及所需的值,例如C:\Users\your_user\.langflow_config。 -
按一下 OK 儲存變數。
-
重複直到您設定了所有必要的 AgentBuilder 環境變數。
-
啟動或重新啟動 AgentBuilder Desktop 以套用環境變數。
要使用 PowerShell 定義 Windows 的環境變數,請執行以下操作:
-
輸入您要設定的 AgentBuilder 變數名稱,例如
LANGFLOW_CONFIG_DIR,以及所需的值,例如C:\Users\your_user\.langflow_config。要為目前使用者設定環境變數:
_10[System.Environment]::SetEnvironmentVariable("LANGFLOW_CONFIG_DIR", "C:\Users\your_user\.langflow_config", "User")要為所有使用者設定環境變數(您必須有管理員權限):
_10[System.Environment]::SetEnvironmentVariable("LANGFLOW_CONFIG_DIR", "C:\AgentBuilder\Config", "Machine") -
重複直到您設定了所有必要的 AgentBuilder 環境變數。
-
啟動或重新啟動 AgentBuilder Desktop 以套用環境變數。
支援的環境變數
以下各節提供有關特定 AgentBuilder 環境變數的資訊。
驗證和安全性
請參閱 API 金鑰和驗證。
全域變數
有關 AgentBuilder 全域變數與環境變數之間的關係,以及控制全域變數處理的環境變數的資訊,請參閱 全域變數。
日誌
請參閱 配置日誌選項。
MCP 伺服器
請參閱 使用 AgentBuilder 作為 MCP 伺服器。
監控和指標
有關特定監控服務提供者的環境變數,請參閱 AgentBuilder 監控整合指南,例如 Langfuse 和 Kubernetes 上 AgentBuilder 的最佳實務。
伺服器
以下環境變數設定基礎 AgentBuilder 伺服器配置,例如伺服器託管位置、SSL 加密所需檔案,以及部署類型(前端和後端、僅後端、開發模式)。
| 變數 | 格式 | 預設值 | 描述 |
|---|---|---|---|
LANGFLOW_HOST | String | localhost | AgentBuilder 伺服器將運行的主機。 |
LANGFLOW_PORT | Integer | 7860 | AgentBuilder 伺服器運行的連接埠。如果指定的連接埠正在使用中,伺服器會自動選取一個可用連接埠。 |
LANGFLOW_BACKEND_ONLY | Boolean | False | 僅執行 AgentBuilder 後端服務(無前端)。 |
LANGFLOW_DEV | Boolean | False | 是否在開發模式下執行 AgentBuilder(可能包含錯誤)。 |
LANGFLOW_OPEN_BROWSER | Boolean | False | 啟動時開啟系統網路瀏覽器。 |
LANGFLOW_HEALTH_CHECK_MAX_RETRIES | Integer | 5 | 設定 AgentBuilder 伺服器狀態健康檢查的最大重試次數。 |
LANGFLOW_WORKERS | Integer | 1 | 工作程序數量。 |
LANGFLOW_WORKER_TIMEOUT | Integer | 300 | 工作逾時秒數。 |
LANGFLOW_SSL_CERT_FILE | String | 未設定 | 啟用 AgentBuilder 網頁伺服器 HTTPS 的 SSL 憑證檔案路徑。這與資料庫 SSL 連接分開。 |
LANGFLOW_SSL_KEY_FILE | String | 未設定 | 啟用 AgentBuilder 網頁伺服器 HTTPS 的 SSL 金鑰檔案路徑。這與資料庫 SSL 連接分開。 |
LANGFLOW_DEACTIVATE_TRACING | Boolean | False | 停用追蹤功能。 |
LANGFLOW_CELERY_ENABLED | Boolean | False | 啟用 Celery 以進行分散式任務處理。 |
有關部署 AgentBuilder 伺服器的更多資訊,請參閱 AgentBuilder 部署概觀。
儲存
遙測
請參閱 遙測。
視覺編輯器和 Playground 行為
| 變數 | 格式 | 預設值 | 描述 |
|---|---|---|---|
LANGFLOW_AUTO_SAVING | Boolean | True | 是否自動儲存 Flow。 |
LANGFLOW_AUTO_SAVING_INTERVAL | Integer | 1000 | 如果 LANGFLOW_AUTO_SAVING=True,設定自動儲存間隔(毫秒)。 |
LANGFLOW_BUNDLE_URLS | List[String] | [] | 載入自訂套件的 URL 清單。支援 GitHub URL。如果 LANGFLOW_AUTO_LOGIN=True,來自這些套件的 Flow會載入到資料庫中。 |
LANGFLOW_COMPONENTS_PATH | String | 未設定 | 包含自訂組件的目錄路徑。通常在您有本機自訂組件或建置包含自訂組件的 Docker 映像時使用。 |
LANGFLOW_LOAD_FLOWS_PATH | String | 未設定 | 包含 Flow JSON 檔案的目錄路徑,通常在建立包含預先封裝 Flow的 Docker 映像時使用。需要 LANGFLOW_AUTO_LOGIN=True。 |
LANGFLOW_CREATE_STARTER_PROJECTS | Boolean | True | 是否在初始化期間建立範本。如果 false,AgentBuilder 不會建立範本,並將 LANGFLOW_UPDATE_STARTER_PROJECTS 視為 false。 |
LANGFLOW_UPDATE_STARTER_PROJECTS | Boolean | True | 是否在升級後初始化時以最新組件版本更新範本。 |
LANGFLOW_LAZY_LOAD_COMPONENTS | Boolean | False | 如果 true,AgentBuilder 只在啟動時部分載入組件,並按需完全載入。這會顯著減少啟動時間,但可能會在使用組件時造成輕微延遲。 |
LANGFLOW_EVENT_DELIVERY | String | streaming | 如何將建置事件傳遞到前端:polling、streaming 或 direct。 |
LANGFLOW_FRONTEND_PATH | String | ./frontend | 包含建置檔案的前端目錄路徑。僅供開發目的使用,當您需要服務特定前端程式碼時。 |
LANGFLOW_MAX_ITEMS_LENGTH | Integer | 100 | 在視覺編輯器中儲存和顯示的最大項目數。超過此長度的清單在視覺編輯 器中顯示時會被截斷。不會影響輸出或在組件之間傳遞的數據。 |
LANGFLOW_MAX_TEXT_LENGTH | Integer | 1000 | 在視覺編輯器中儲存和顯示的最大字元數。超過此長度的回應在視覺編輯器中顯示時會被截斷。不會截斷在組件之間傳遞的輸出或回應。 |
LANGFLOW_MAX_TRANSACTIONS_TO_KEEP | Integer | 3000 | 在資料庫中保留的最大 Flow交易事件數。 |
LANGFLOW_MAX_VERTEX_BUILDS_TO_KEEP | Integer | 3000 | 在資料庫中保留的最大頂點建置數。與 Playground 功能相關。 |
LANGFLOW_MAX_VERTEX_BUILDS_PER_VERTEX | Integer | 2 | 每個頂點保留的最大建置數。舊建置會被刪除。與 Playground 功能相關。 |
LANGFLOW_PUBLIC_FLOW_CLEANUP_INTERVAL | Integer | 3600 | 清理共享 Playground Flow數據的間隔秒數。預設值:3600 秒(1 小時)。最小值:600 秒(10 分鐘)。 |
LANGFLOW_PUBLIC_FLOW_EXPIRATION | Integer | 86400 | 共享 Playground Flow被視為過期並符合清理資格的秒數。預設值:86400 秒(24 小時)。最小值:600 秒(10 分鐘)。 |