Skip to main content

Get started with the AgentBuilder API

您可以使用 AgentBuilder API 進行與 AgentBuilder 的程式化互動,例如以下用途:

  • 建立和編輯 Flow,包括 Flow的檔案管理。
  • 開發使用您的 Flow的應用程式。
  • 開發自訂Components。
  • 將 AgentBuilder 建置為更大應用程式、程式碼庫或服務的依賴項。
  • 為整體 AgentBuilder 程式碼庫做出貢獻。

要查看和測試所有可用 EndPoint,您可以在 AgentBuilder 部署的 /docs EndPoint 存取 AgentBuilder API 的 OpenAPI 規範,例如 http://localhost:7860/docs

試試看

有關 AgentBuilder API 在指令碼中的示例,請參閱 AgentBuilder 快速入門

快速入門演示了如何為您的 Flow獲取自動生成的程式碼片段、使用指令碼運行 Flow,以及從 AgentBuilder API 回應中提取資料。

形成 AgentBuilder API 請求

雖然各 EndPoint 的選項各不相同,但所有 AgentBuilder API 請求都共享一些共同點,如 URL、方法、參數和認證。

作為 AgentBuilder API 請求的示例,以下 curl 命令調用 /v1/run EndPoint,並將運行時覆蓋 (tweaks) 傳遞給 Flow的 Chat Output Components:


_14
curl --request POST \
_14
--url "$LANGFLOW_SERVER_URL/api/v1/run/$FLOW_ID?stream=false" \
_14
--header "Content-Type: application/json" \
_14
--header "x-api-key: $LANGFLOW_API_KEY" \
_14
--data '{
_14
"input_value": "hello world!",
_14
"output_type": "chat",
_14
"input_type": "chat",
_14
"tweaks": {
_14
"ChatOutput-6zcZt": {
_14
"should_store_message": true
_14
}
_14
}
_14
}'

基礎 URL

預設情況下,本地部署在 http://localhost:7860/api 提供 AgentBuilder API。

遠端託管的 AgentBuilder 部署可在託管服務設定的網域取得,例如 http://IP_OR_DNS/apihttp://IP_OR_DNS:LANGFLOW_PORT/api

您可以在 LANGFLOW_PORT 環境變數 中配置 AgentBuilder 連接埠號碼。

  • https://UUID.ngrok.app/api
  • http://IP_OR_DNS/api
  • http://IP_OR_DNS:LANGFLOW_PORT/api

認證

在 AgentBuilder 1.5 及更高版本中,大多數 API EndPoint 需要使用 x-api-key 標頭或查詢參數中的 AgentBuilder API 金鑰進行認證。 有關更多資訊,請參閱 API 金鑰和認證

與任何 API 一樣,請遵循業界最佳實務來儲存和引用敏感憑證。 例如,您可以為您的 API 金鑰 設定環境變數,然後在您的 API 請求中引用這些環境變數。

方法、路徑和參數

AgentBuilder API 請求使用各種方法、路徑、路徑參數、查詢參數和主體參數。 具體要求和選項取決於您要調用的 EndPoint。

例如,要建立 Flow,您將 JSON 格式的 Flow定義傳遞給 POST /v1/flows。 然後,要運行您的 Flow,您使用請求主體中的可選運行參數調用 POST /v1/run/$FLOW_ID

API 版本

AgentBuilder API 提供 /v1/v2 EndPoint。

某些 EndPoint 僅在單一版本下存在,某些在 /v1/v2 版本下都存在。

如果請求失敗或結果意外,請確保您的 EndPoint 路徑具有正確的版本。

設定環境變數

您可以在環境變數中儲存常用值,以促進重用、簡化權杖輪換,並安全地引用敏感值。

您可以使用任何您偏好的方法來設定環境變數,例如 export.envzshrc.curlrc。 然後,在您的 API 請求中引用這些環境變數。 例如:


_22
# 設定環境變數
_22
export LANGFLOW_API_KEY="sk..."
_22
export LANGFLOW_SERVER_URL="https://localhost:7860"
_22
export FLOW_ID="359cd752-07ea-46f2-9d3b-a4407ef618da"
_22
export PROJECT_ID="1415de42-8f01-4f36-bf34-539f23e47466"
_22
export LANGFLOW_API_KEY="sk-..."
_22
_22
# 在 API 請求中使用環境變數
_22
curl --request POST \
_22
--url "$LANGFLOW_SERVER_URL/api/v1/run/$FLOW_ID$?stream=false" \
_22
--header "Content-Type: application/json" \
_22
--header "x-api-key: $LANGFLOW_API_KEY" \
_22
--data '{
_22
"input_value": "hello world!",
_22
"output_type": "chat",
_22
"input_type": "chat",
_22
"tweaks": {
_22
"ChatOutput-6zcZt": {
_22
"should_store_message": true
_22
}
_22
}
_22
}'

AgentBuilder API 請求中常用的值包括您的 AgentBuilder 伺服器 URLAgentBuilder API 金鑰、 Flow ID 和 專案 ID

您可以從 API access 窗格、 Flow的 URL 以及使用 GET /flows 檢索 Flow ID。

嘗試一些 AgentBuilder API 請求

一旦您有 AgentBuilder 伺服器 URL,請嘗試調用這些返回 AgentBuilder 元資料的 EndPoint。

健康檢查

返回 AgentBuilder 資料庫和聊天服務的健康狀態:


_10
curl -X GET \
_10
"$LANGFLOW_SERVER_URL/health_check" \
_10
-H "accept: application/json"

Result

_10
{
_10
"status": "ok",
_10
"chat": "ok",
_10
"db": "ok"
_10
}

AgentBuilder 提供額外的 GET /health EndPoint。 此 EndPoint 由 uvicorn 在 AgentBuilder 完全初始化之前提供,因此不可靠用於檢查 AgentBuilder 服務健康。

獲取版本

返回當前 AgentBuilder API 版本:


_10
curl -X GET \
_10
"$LANGFLOW_SERVER_URL/api/v1/version" \
_10
-H "accept: application/json"

Result

_10
{
_10
"version": "1.6.0",
_10
"main_version": "1.6.0",
_10
"package": "Langflow"
_10
}

獲取配置

返回您的 AgentBuilder 部署的配置詳細資訊:


_10
curl -X GET \
_10
"$LANGFLOW_SERVER_URL/api/v1/config" \
_10
-H "accept: application/json"

Result

_20
{
_20
"feature_flags": {
_20
"mvp_components": false
_20
},
_20
"serialization_max_items_length": 1000,
_20
"serialization_max_text_length": 6000,
_20
"frontend_timeout": 0,
_20
"auto_saving": true,
_20
"auto_saving_interval": 1000,
_20
"health_check_max_retries": 5,
_20
"max_file_size_upload": 1024,
_20
"webhook_polling_interval": 5000,
_20
"public_flow_cleanup_interval": 3600,
_20
"public_flow_expiration": 86400,
_20
"event_delivery": "streaming",
_20
"webhook_auth_enable": false,
_20
"voice_mode_available": false,
_20
"default_folder_name": "Starter Project",
_20
"hide_getting_started_progress": false
_20
}

獲取所有Components

返回所有 AgentBuilder Components的字典。 需要 AgentBuilder API 金鑰


_10
curl -X GET \
_10
"$LANGFLOW_SERVER_URL/api/v1/all" \
_10
-H "accept: application/json" \
_10
-H "x-api-key: $LANGFLOW_API_KEY"

可用 EndPoint

因為您可以將 AgentBuilder 作為 IDE(前端和後端)或運行時(無頭、後端專用)運行,它提供支援前端和後端操作的 EndPoint。 許多 EndPoint 用於前端和後端之間的協調、讀寫 AgentBuilder 資料庫,或啟用前端功能,如 Playground。 除非您正在為 AgentBuilder 程式碼庫做出貢獻,否則您不會直接調用大多數 AgentBuilder EndPoint。

對於應用程式開發,最常用的 EndPoint 是 /run/webhook FLOW觸發 EndPoint。 對於某些用例,您可能會使用其他 EndPoint,例如 /files EndPoint 在FLOW中使用檔案。

為了幫助您探索可用 EndPoint,以下列表按主要用例排序,雖然某些 EndPoint 可能支援多個用例。

以下端點對於使用 AgentBuilder 開發應用程式以及管理具有一個或多個使用者的 AgentBuilder 部署很有用。 您最常使用FLOW觸發端點。 其他端點對於特定用例很有幫助,例如無視覺編輯器的運行時部署中的管理員和FLOW管理。

  • FLOW觸發端點

    • POST /v1/run/{flow_id_or_name}:運行FLOW。
    • POST /v1/run/advanced/{flow_id}:進階運行,具有明確的 inputsoutputstweaks 和可選的 session_id
    • POST /v1/webhook/{flow_id_or_name}:通過 webhook 載荷觸發FLOW。
  • OpenAI Responses API

    • POST /v1/responses:使用 OpenAI 相容的請求格式執行FLOW。
  • 部署詳細資訊:

    • GET /v1/version:返回 AgentBuilder 版本。請參閱 獲取版本
    • GET /v1/config:返回部署配置。請參閱 獲取配置
    • GET /health_check:驗證資料庫和聊天服務連接的健康檢查端點。如果任何服務不可用,則返回 500 狀態。
  • 專案端點

    • POST /v1/projects/:建立專案。
    • GET /v1/projects/:列出專案。
    • GET /v1/projects/{project_id}:讀取專案(支援分頁FLOW)。
    • PATCH /v1/projects/{project_id}:更新專案資訊和成員資格。
    • DELETE /v1/projects/{project_id}:刪除專案。
    • GET /v1/projects/download/{project_id}:將專案中的所有FLOW匯出為 ZIP。
    • POST /v1/projects/upload/:匯入專案 ZIP(建立專案和FLOW)。
    • GET /v1/starter-projects/:返回模板列表。
  • 檔案端點

    • 檔案 (v1)
      • POST /v1/files/upload/{flow_id}:將檔案上傳到特定FLOW。
      • GET /v1/files/download/{flow_id}/{file_name}:從FLOW下載檔案。
      • GET /v1/files/images/{flow_id}/{file_name}:從FLOW串流圖像。
      • GET /v1/files/profile_pictures/{folder_name}/{file_name}:獲取個人資料圖片資產。
      • GET /v1/files/profile_pictures/list:列出可用的個人資料圖片資產。
      • GET /v1/files/list/{flow_id}:列出FLOW的檔案。
      • DELETE /v1/files/delete/{flow_id}/{file_name}:從FLOW刪除檔案。
    • 檔案 (v2)
      • POST /v2/files (別名 /v2/files/):上傳當前使用者擁有的檔案。
      • GET /v2/files (別名 /v2/files/):列出當前使用者擁有的檔案。
      • DELETE /v2/files/batch/:按 ID 刪除多個檔案。
      • POST /v2/files/batch/:按 ID 下載多個檔案作為 ZIP。
      • GET /v2/files/{file_id}:按 ID 下載檔案(或在內部返回原始內容)。
      • PUT /v2/files/{file_id}:按 ID 編輯檔案名稱。
      • DELETE /v2/files/{file_id}:按 ID 刪除檔案。
      • DELETE /v2/files (別名 /v2/files/):刪除當前使用者的所有檔案。
  • API 金鑰和認證

    • GET /v1/api_key/:列出當前使用者的 API 金鑰。
    • POST /v1/api_key/:建立新的 API 金鑰。
    • DELETE /v1/api_key/{api_key_id}:刪除 API 金鑰。
    • POST /v1/api_key/store:儲存加密的 Store API 金鑰(設定 cookie)。
  • FLOW管理端點

    • POST /v1/flows/:建立FLOW。
    • GET /v1/flows/:列出FLOW(支援分頁和篩選器)。
    • GET /v1/flows/{flow_id}:按 ID 讀取FLOW。
    • GET /v1/flows/public_flow/{flow_id}:按 ID 讀取公開FLOW。
    • PATCH /v1/flows/{flow_id}:更新FLOW。
    • DELETE /v1/flows/{flow_id}:刪除FLOW。
    • POST /v1/flows/batch/:建立多個FLOW。
    • POST /v1/flows/upload/:從 JSON 檔案匯入FLOW。
    • DELETE /v1/flows/:按 ID 刪除多個FLOW。
    • POST /v1/flows/download/:將FLOW匯出到 ZIP 檔案。
    • GET /v1/flows/basic_examples/:列出基本示例FLOW。
  • 使用者端點

    • POST /v1/users/:新增使用者(啟用認證時需要超級使用者)。
    • GET /v1/users/whoami:返回當前認證的使用者。
    • GET /v1/users/:列出所有使用者(需要超級使用者)。
    • PATCH /v1/users/{user_id}:更新使用者(帶角色檢查)。
    • PATCH /v1/users/{user_id}/reset-password:重設自己的密碼。
    • DELETE /v1/users/{user_id}:刪除使用者(不能刪除自己)。
  • 自訂Components:當開發自訂 AgentBuilder Components供自己使用或與 AgentBuilder 社群分享時,您可能會使用這些端點:

    • GET /v1/all:返回所有可用的 AgentBuilder Components類型。請參閱 獲取所有Components
    • POST /v1/custom_component:從程式碼建置自訂Components並返回其節點。
    • POST /v1/custom_component/update:更新現有自訂Components的建置配置和輸出。
    • POST /v1/validate/code:驗證自訂Components的 Python 程式碼片段。

下一步

Search