Skip to main content

全域變數

使用全域變數來儲存和重複使用憑證以及在所有FLOW中通用的值。 全域變數通常由FLOW中的組件使用,您可以在任何顯示 全域變數圖示的欄位中使用它們。

相較之下,環境變數(如 LANGFLOW_PORT 或 LANGFLOW_LOG_LEVEL)通常用於配置 AgentBuilder 運行的更廣泛設定。 不過,AgentBuilder 也可以從環境變數中取得全域變數。

AgentBuilder 將全域變數儲存在其內部資料庫中,並使用密鑰加密這些值。

建立全域變數​

要建立新的全域變數,請遵循以下步驟。

  1. 在 AgentBuilder 標題中,按一下您的個人檔案圖示,然後選取 Settings。

  2. 按一下 Global Variables。

  3. 按一下 Add New。

  4. 在 Create Variable 對話框中,在 Variable Name 欄位中輸入變數名稱。

  5. 選用:為您的全域變數選取 Type。可用的類型為 Generic(預設)和 Credential。

    AgentBuilder 會加密 Generic 和 Credential 類型的全域變數。 不過,Generic 變數在視覺編輯器中不會被遮罩,而 Credential 變數會被遮罩。 Session ID 欄位不接受 Credential(遮罩)變數。

  6. 輸入您的全域變數的 Value。

  7. 選用:使用 Apply To Fields 選單選取一或多個您希望 AgentBuilder 自動套用全域變數的欄位。例如,如果您選取 OpenAI API Key,AgentBuilder 會自動將變數套用至任何 OpenAI API Key 欄位。

  8. 按一下 Save Variable。

您現在可以從任何顯示 Globe 圖示的文字輸入欄位中選取您的全域變數。

編輯全域變數​

  1. 在 AgentBuilder 標題中,按一下您的個人檔案圖示,然後選取 Settings。

  2. 按一下 Global Variables。

  3. 按一下您要編輯的全域變數。

  4. 在 Update Variable 對話框中,您可以編輯以下欄位:Variable Name、Value 和 Apply To Fields。

  5. 按一下 Update Variable。

刪除全域變數​

刪除全域變數會永久從資料庫中刪除該值。 參考已刪除全域變數的FLOW將會失敗。

  1. 在 AgentBuilder 標題中,按一下您的個人檔案圖示,然後選取 Settings。

  2. 按一下 Global Variables。

  3. 按一下要刪除的全域變數旁邊的核取方塊。

  4. 按一下 Delete。

全域變數會從資料庫中刪除。

從環境新增自訂全域變數​

AgentBuilder 可以從您的執行環境中取得自訂全域變數。 有關 AgentBuilder 如何偵測和套用環境變數的資訊,請參閱 AgentBuilder 環境變數。

如果 AgentBuilder 偵測到任何相符的環境變數,它會根據 constants.py 自動產生全域變數。 例如,如果您在執行環境中設定 OPENAI_API_KEY,AgentBuilder 會自動使用該值產生全域變數。

您可以在 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT 中宣告其他變數。 例如,LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT=WATSONX_PROJECT_ID,WATSONX_API_KEY 會在 AgentBuilder 的資料庫中建立名為 WATSONX_PROJECT_ID 和 WATSONX_API_KEY 的全域變數。 然後,您可以在組件設定中需要的地方使用這些變數。

如果您在本機安裝 AgentBuilder,請在您的 AgentBuilder .env 檔案中設定 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT:

  1. 建立或編輯您的 AgentBuilder .env 檔案。

  2. 如下新增 LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT 環境變數:

    您可以將變數指定為逗號分隔的字串(無空格),或 JSON 清單:


    _10
    # 選項 1:逗號分隔的字串(無空格)
    _10
    LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT=VARIABLE1,VARIABLE2
    _10
    _10
    # 選項 2:JSON 清單格式
    _10
    LANGFLOW_VARIABLES_TO_GET_FROM_ENVIRONMENT=["VARIABLE1", "VARIABLE2"]

    將 VARIABLE1,VARIABLE2 替換為您希望 AgentBuilder 從環境取得的其他變數,例如 CUSTOM_API_KEY,INTERNAL_SERVICE_URL 或 ["CUSTOM_API_KEY", "INTERNAL_SERVICE_URL"]。

  3. 儲存並關閉檔案。

  4. 使用 .env 檔案啟動 AgentBuilder:


    _10
    uv run langflow run --env-file .env

    或者,您可以直接在命令列中設定環境變數:


    _10
    VARIABLE1="VALUE1" VARIABLE2="VALUE2" uv run langflow run --env-file .env

    命令列變數會覆寫 .env 檔案中的相符變數。 以最適合您自己環境的方式向 AgentBuilder 公開您的環境變數。

  5. 確認 AgentBuilder 成功從環境取得全域變數:

    1. 在 AgentBuilder 標題中,按一下您的個人檔案圖示,然後選取 Settings。

    2. 按一下 Global Variables,然後確保您的環境變數出現在 Global Variables 清單中。

啟動 AgentBuilder 後,前往您的 AgentBuilder Settings 以確認變數已建立。

只有 Name 和 Value 會從環境取得。 如果您想要配置其他選項,例如 Apply To Fields 選項,您可以在 AgentBuilder Settings 中編輯變數。

從環境取得的全局變數會被指派為 Credential 類型,這會在視覺編輯器中遮罩這些值。 不過,AgentBuilder 會自動加密儲存在資料庫中的_所有_全域變數。

禁止從環境取得全域變數​

如果您想要明確防止 AgentBuilder 從環境取得全域變數,請在您的 .env 檔案中設定 LANGFLOW_STORE_ENVIRONMENT_VARIABLES=False。

對遺失的全域變數使用環境變數​

如果您想要自動將全域變數的後備值設定為環境變數,請在您的 .env 檔案中設定 LANGFLOW_FALLBACK_TO_ENV_VAR=True。 啟用此設定後,如果找不到全域變數,AgentBuilder 會嘗試使用同名的環境變數作為備份。

例如,假設您有以下 AgentBuilder .env 配置,而您的FLOW有一個期望 WATSONX_API_KEY 全域變數的組件:


_10
LANGFLOW_FALLBACK_TO_ENV_VAR=True
_10
WATSONX_PROJECT_ID=your_project_id
_10
WATSONX_API_KEY=your_api_key

當您執行FLOW時,如果沒有名為 WATSONX_API_KEY 的全域變數,AgentBuilder 會尋找名為 WATSONX_API_KEY 的環境變數。 在此範例中,AgentBuilder 會使用來自 .env 的 WATSONX_API_KEY 值來執行FLOW。

Search