AgentBuilder 架構
有兩種廣泛的 AgentBuilder 部署類型:
-
AgentBuilder IDE(開發):部署 AgentBuilder 視覺編輯器(前端)和 API(後端)。通常,這用於開發環境,開發人員在其中使用視覺編輯器來建立和管理FLOW,然後再透過生產運行時部署來打包和服務它們。
AgentBuilder 儲存庫的範例
docker-compose.yml檔案建置 AgentBuilder IDE 映像。如需有關 Kubernetes 上 IDE 部署的資訊,請參閱在 Kubernetes 上部署 AgentBuilder 開發環境。
-
AgentBuilder 運行時(生產):為生產FLOW部署 AgentBuilder 運行時,這是無頭(僅後端)服務,專注於服務 AgentBuilder API。這用於生產環境,FLOW以程式設計方式執行,無需視覺編輯器。伺服器將您的FLOW公開為端點,然後僅運行服務每個FLOW所需的程序。
強烈建議使用外部 PostgreSQL 資料庫搭配此部署類型,以改善與預設 SQLite 資料庫相比的可擴展性和可靠性。
如需有關 Kubernetes 上運行時部署的資訊,請參閱在 Kubernetes 上部署 AgentBuilder 生產環境。
tip您可以使用
LANGFLOW_BACKEND_ONLY環境變數 以無頭模式啟動 AgentBuilder。
您也可以在 Docker 上部署 AgentBuilder IDE 和運行時。
在 Kubernetes 上部署 AgentBuilder 的好處
在 Kubernetes 上部署提供以下優點:
-
可擴展性:Kubernetes 允許您擴展 AgentBuilder 服務以滿足您的工作負載需求。
-
可用性和彈性:Kubernetes 提供內建彈性功能,例如自動故障轉移和自我修復,以確保 AgentBuilder 服務始終可用。
-
安全性:Kubernetes 提供安全性功能,例如基於角色的存取控制和網路隔離,以保護 AgentBuilder 服務及其資料。
-
可移植性:Kubernetes 是一個可移植平台,這意味著您可以將 AgentBuilder 服務部署到任何 Kubernetes 叢集,無論是在內部部署還是雲端。
AgentBuilder 可以部署在 AWS EKS、Google GKE 或 Azure AKS 等雲端平台。如需更多資訊,請參閱 AgentBuilder Helm charts 儲存庫。
AgentBuilder 部署
典型的 AgentBuilder 部署包括:
- AgentBuilder 服務:AgentBuilder API,以及 IDE 部署的視覺編輯器。
- Kubernetes 叢集:Kubernetes 叢集提供部署和管理 AgentBuilder 及其支援服務的平台。
- 持久性儲存:持久性儲存用於儲存 AgentBuilder 服務的資料,例如模型和訓練資料。
- Ingress 控制器:Ingress 控制器為 AgentBuilder 服務的流量提供單一入口點。
- 負載平衡器:平衡多個 AgentBuilder 複本間的流量。
- 向量資料庫:如果您使用 AgentBuilder 進行 RAG,您可以與 Astra Serverless 中的向量資料庫整合。

環境隔離
建議為 AgentBuilder 部署和運行單獨的開發和生產環境:
- 在您的開發環境中部署 IDE,您的開發人員可以在其中原型設計和測試新FLOW。
- 在您的生產環境中部署運行時,以將FLOW作為獨立服務提供。

這種分離旨在增強安全性、支援有組織的軟體開發管道,並優化基礎設施資源分配:
- 隔離:透過分離開發和生產環境,您可以更好地隔離應用程式生命週期的不同階段。這種隔離將開發相關問題影響生產環境的風險降 到最低。
- 存取控制:可以對每個環境應用不同的安全政策和存取控制。開發人員在 IDE 中進行測試和除錯時可能需要更廣泛的存取權,而運行時環境可以鎖定更嚴格的安全措施。
- 減少攻擊面:運行時環境配置為僅包含基本Components,減少攻擊面和潛在漏洞。
- 優化資源使用和成本效益:透過分離這兩個環境,您可以更有效地分配資源。每個FLOW都可以獨立部署,提供細粒度的資源控制。
- 可擴展性:運行時環境可以根據應用程式負載和效能需求獨立擴展,而不會影響開發環境。