概述
MaxKB是一款基於RAG技術的開源知識庫問答系統,支持對接多種大語言模型,廣泛應用於智能客服、企業知識庫等場景。雖然MaxKB社區版提供了便捷的Docker快速部署方式,但企業在生產環境中需要更高的可靠性、安全性和運維便利性。
本文介紹如何基於亞馬遜雲科技託管服務構建高可用MaxKB應用架構。方案採用AmazonECS運行容器化應用,配合RDS PostgreSQL(含pgvector擴展)和ElastiCache Valkey提供數據持久化和緩存能力,通過Application Load Balancer實現流量分發和多可用區部署,確保99.9%以上的服務可用性。方案還集成了Secrets Manager進行密鑰管理,支持對接Amazon Bedrock模型服務。
本文面向需要在生產環境部署企業級AI知識庫的架構師和運維工程師,提供從架構設計、服務配置到部署驗證的完整實施指南。
📢限時插播:無需管理基礎設施,利用亞馬遜技術與生態,快速集成與部署生成式AI模型能力。
✨ 精心設計,旨在引導您深入探索Amazon Bedrock的模型選擇與調用、模型自動化評估以及安全圍欄(Guardrail)等重要功能。
⏩快快點擊進入《多模一站通 —— Amazon Bedrock 上的基礎模型初體驗》實驗構建無限, 探索啓程!
方案價值
MaxKB核心能力¹
MaxKB是基於RAG(檢索增強生成)技術的開源知識庫問答系統,自2024年4月發佈以來,已獲得19,000+ GitHub Stars,發展為企業級智能體平台。其核心能力包括:
- 開箱即用的RAG問答引擎:支持多格式文檔導入(PDF、Word、Markdown等),自動文檔解析、文本分塊和向量化處理,答案支持富文本展示(圖片、表格、圖表等);
- 多模型靈活對接:基於開源架構,支持對接Amazon Bedrock託管模型及國內外主流大語言模型和Embedding模型服務,兼容標準API接口,可根據業務需求靈活選擇和切換;
- 工作流編排:內置工作流引擎和函數庫,支持MCP工具調用,可編排複雜的AI Agent處理流程,實現多步驟任務自動化;
- 快速集成:提供API接口和零編碼嵌入方式,可快速集成到企業現有業務系統或第三方系統,降低企業開發和部署成本。
典型應用場景:智能客服(7×24小時自動問答)、企業知識庫(內部知識管理和檢索)、智能辦公助手等。
亞馬遜雲科技託管方案的增強價值
MaxKB社區版提供基於Docker Compose的快速部署方式,適合開發測試和小規模應用。但在企業生產環境中,面臨單點故障風險、手動運維負擔重、安全管理複雜等挑戰。本方案基於亞馬遜雲科技託管服務,提供以下企業級增強能力:
1. 企業級高可用性
- 多可用區架構、可用性SLA可達99.9%以上:應用層(ECS)、數據庫層(RDS Multi-AZ)、緩存層(ElastiCache)均採用跨多可用區部署,RDS主節點故障時60-120秒內自動切換,ALB自動分發流量並剔除異常容器,保障整體架構可達99.9%以上的服務可用性,滿足企業級應用要求;
2. 彈性伸縮能力
- 應用層自動擴縮容:面對業務流量波動的場景需求,ECS可根據資源使用率或請求數量規則自動調整任務數量;
- 向量查詢加速:RDS PostgreSQL + pgvector提供高性能向量檢索,db.r8g.16xlarge規格下100併發可達毫秒級響應;
- 緩存層在線擴展:ElastiCache支持在線添加節點,無需停機即可提升緩存容量
3. 安全與合規
- 密鑰集中管理:Secrets Manager安全存儲數據庫憑證、API密鑰等敏感信息,支持自動輪換,避免硬編碼風險
- 網絡隔離:VPC私有子網部署數據庫和緩存,僅應用層可訪問,公網不可達
- 細粒度權限控制:IAM角色和Security Group實現最小權限原則
適用場景:本方案特別適合需要在生產環境部署智能客服、企業知識庫等AI應用的中大型企業,以及對可用性、安全性、合規性有較高要求的行業客户(如金融、醫療、政務等)。
解決方案概述
本解決方案將MaxKB Docker託管運行在亞馬遜雲科技容器服務ECS上,並配置Amazon RDS for PostgresSQL和ElastiCache Valkey(兼容Redis),作為MaxKB的外部數據庫,實現MaxKB應用的高可用架構。
架構設計
- 用户通過互聯網連接到應用程序,所有請求首先通過 Elastic Load Balancing 服務,確保流量均勻分佈並提高系統可用性和容錯能力。
- 負載均衡器將流量智能分配到 ECS集羣 內的多個 Service Frontend 實例,實現請求的高效處理和資源的動態伸縮。ECS集羣提供容器化環境,便於部署和管理應用服務。
-
應用程序內可以配置LLM模型和Embedding模型,支持訪問Bedrock 的模型服務:
- Bedrock LLM:提供大型語言模型服務
- Bedrock Embedding:提供文本嵌入服務
- 系統與 Secrets Management 模塊集成,通過 Secrets Manager 安全存儲和管理應用所需的密鑰、令牌、憑證等敏感信息,確保信息不被硬編碼到應用中。
- 應用程序連接到 RDS PostgreSQL 數據庫服務,PostgreSQL提供了強大的關係型數據庫功能;同時在數據庫安裝了pgvector,使您能夠直接在PostgreSQL 數據庫中高效地存儲、操作和分析向量數據。
- 架構引入了Amazon ElastiCache for Valkey 緩存層(兼容Redis 8.0),用於存儲頻繁訪問的數據,減少數據庫負載並提高應用響應速度。
亞馬遜雲科技託管數據庫的產品優勢
Amazon RDS for PostgresSQL
PostgreSQL 是許多企業開發人員和企業的首選開源關係數據庫,為領先的商用和移動應用程序提供助力。Amazon RDS 讓用户能夠更輕鬆地在雲中設置、操作和擴展 PostgreSQL 部署。藉助 Amazon RDS,您可以在幾分鐘內完成可擴展的 PostgreSQL 部署,不僅經濟實惠,而且可以調整硬件容量。Amazon RDS 除了具備託管的優勢外,針對知識庫應用場景也有明顯的優勢:
1.跨AZ強一致,保證主備數據一致性
Amazon RDS Multi-AZ 部署架構在存儲層EBS採用物理同步複製機制,主節點寫入操作同步到備節點後才返回確認,確保數據零丟失,滿足知識庫數據完整性要求。
2.自動failover,保證系統可用性
當Amazon RDS 主節點故障時,Multi-AZ支持自動failover到備節點,故障轉移時間通常在 60-120 秒內完成,應用程序自動重連,無需人工干預,提供 99.95% 的可用性 SLA。
3.vector向量查詢性能高,讀性能橫向擴展
PostgreSQL 支持 pgvector 擴展,在滿足OLTP數據庫正常的業務需求之外還可以提供向量存儲和高併發檢索的能力,滿足多模態業務需求,另外RDS只讀副本可以進行在線擴展,支持最多 15 個只讀副本。在10TB以內,並且有高QPS需求的場景下,性價比優於Elasticsearch和Milvus。
如下是在Amazon RDS for PostgreSQL db.r8g.16xlarge規格下使用VectorDBBench進行100併發線程進行壓測,每次壓測時長300s,分別在Performance768D1M和Performance768D10M兩種數據集下,不同ef_search下的性能表現:
ElastiCache for Valkey
Valkey 是由 Linux 基金會支持的開源緩存數據庫,保證了vendor的中立性,過去6個月,有50多萬次container pull代碼,幾千個貢獻,以及40多家公司的支持。亞馬遜雲科技作為Valkey的主要貢獻之一,ElastiCache for Valkey不僅給客户帶來穩定的方案,也能保證Valkey持續的創新。ElastiCache for Valkey的主要優勢如下:
性價比提升
- 單點處理能力增強,採用IO線程多路複用技術,吞吐量增加72%和P99 耗時降低71%,可以達到1.2M QPS讀取性能,用户可以用更少節點數量或者更小機型來支撐同樣規模應用。
- 託管的ElastiCache for Valkey 8.0優化了內存結構,單節點上可以存儲更多的數據(相同數據存儲空間佔用減少20%)。
客户端兼容性高
- 已有客户端訪問Valkey,接口和redis 7.2 兼容,jedis、redis-benchmark、rediscluster、K6等。
- Valkey-glide作為亞馬遜雲科技貢獻的開源客户端,與python/Java/node.js/golang 多種客户端提供一致能力,支持更好failover以及連接池管理等。
其他增強
- Valkey8.0 主從複製效率大幅提升,RDB和複製backlog的雙通路實現,可以加快sync速度,單獨進程處理RDB複製可以減少對主節點影響。
- resharding 重分片期間抗主節點故障能力增強。
- 提供slot級別指標,提供更好可觀測性。
MaxKB on Amazon解決方案部署指南
部署要求
MaxKB應用部署要求包括:
- 操作系統:Ubuntu 22.04 / CentOS 7(內核版本要求 ≥ 3.10)
- CPU/內存:4C/8GB 以上
- 磁盤空間:100GB
- PostgrsSQL:17.6版本
- Redis:8.0版本
在亞馬遜雲科技部署之前,您需要有一個可訪問的亞馬遜雲科技賬户,部署的主要資源包括:
- Amazon VPC
- Amazon RDS for postgreSQL
- Amazon ElastiCache for Valkey
- Amazon ECS
- Amazon ALB
CDK部署方式
為了簡化高可用架構的部署流程,我們提供了基於Amazon CDK(Cloud Development Kit)的一鍵部署代碼和腳本:通過基礎設施即代碼(IaC)的方式,能夠自動處理資源間的依賴關係,一條命令即可完成VPC、RDS、ElastiCache、ECS、ALB等所有組件的創建和配置,無需手動在控制枱操作多個服務,大幅降低部署複雜度和人為錯誤,顯著提高部署成功率和運維效率。
以下部署命令請在Linux環境運行。
1、從github下載MaxKB-on-Amazon部署代碼
運行以下命令下載部署代碼包:
git clone https://github.com/supinyu/sample-maxkb-on-aws.git
2、安裝Docker
sudo yum install docker python3-pip git npm -y
# Configure Docker Components
sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -aG docker $USER
newgrp docker
3、安裝aws cdk
sudo npm install -g aws-cdk
4、安裝相關的npm包
cd 20251020-hex-cdk
npm install aws-cdk-lib
5、賬號信息及部署Region ID導入到環境變量中
export AWS_ACCOUNT_ID=XXXXXXXXXXXX
export AWS_REGION=us-west-2
6、進行CDK部署
cdk bootstrap aws://$AWS_ACCOUNT_ID/$AWS_REGION
cdk deploy HexRagCdkStack --require-approval never
以上部署過程通常需要15-20分鐘,CDK會自動完成以下操作:
- 創建VPC和子網
- 配置安全組規則
- 部署RDS PostgreSQL數據庫(含pgvector擴展)
- 部署ElastiCache Valkey集羣
- 創建ECS集羣和任務定義
- 配置ALB負載均衡器
- 設置Secrets Manager密鑰管理
- 配置自動擴展策略
7、 驗證部署
部署完成後,CDK會輸出ALB的DNS地址,通過該地址即可訪問MaxKB應用:
# 輸出示例
RagCdkStack.LoadBalancerDNS = RagCdkStack-ALB-XXXXXXXXXX.us-west-2.elb.amazonaws.com
8、版本更新
如需更新MaxKB版本(比如從maxkb-v2.1.1升級到maxkb-v2.x.x),只需修改Dockerfile中對應的MaxKB鏡像版本號,然後重新執行部署命令:
cdk deploy HexRagCdkStack —require-approval never
CDK會自動檢測變更並僅更新受影響的資源,實現零停機滾動更新。
MaxKB應用效果
這裏我們以一個對話問答助手為例,演示MaxKB的使用效果。
支持Bedrock模型
首先需要添加LLM模型和Embedding模型,MaxKB 支持Bedrock模型,可以在模型配置頁面進行添加,具體的操作如下:
1、添加LLM模型
2、添加Embedding模型
3、知識庫創建
接下來,我們創建知識庫
4、上傳需要問答的pdf文檔
5、創建知識庫問答助手
在創建對話助手頁面,可以配置對話流程,MaxKB具有靈活的流程配置功能。配置完成,用户可以針對對話流程進行調試和發佈。
對話助手發佈之後,我們可以進行相關的問答。
在管理界面,我們也可以對相關的數據進行統計監控。
總結
本方案通過將MaxKB社區版遷移部署在亞馬遜雲科技託管服務上,構建了高可用、可擴展的RAG知識庫應用,實現了從單機Docker部署向企業級雲原生架構的轉型,為企業知識管理和智能問答場景提供了完整的技術解決方案。
參考資料
[1] MaxKB on Github:https://github.com/1Panel-dev/MaxKB
[2] MaxKB社區版下載:https://community.fit2cloud.com/#/products/maxkb/downloads
[3] MaxKB離線安裝文檔:https://maxkb.cn/docs/v2/installation/offline_installtion/
*前述特定亞馬遜雲科技生成式人工智能相關的服務目前在亞馬遜雲科技海外區域可用。亞馬遜雲科技中國區域相關雲服務由西雲數據和光環新網運營,具體信息以中國區域官網為準。
本篇作者
本期最新實驗《多模一站通 —— Amazon Bedrock 上的基礎模型初體驗》
✨ 精心設計,旨在引導您深入探索Amazon Bedrock的模型選擇與調用、模型自動化評估以及安全圍欄(Guardrail)等重要功能。無需管理基礎設施,利用亞馬遜技術與生態,快速集成與部署生成式AI模型能力。
⏩️[點擊進入實驗] 即刻開啓 AI 開發之旅
構建無限, 探索啓程!