孤本网
/ 0 阅读
0

Crawl4AI助力Amazon Bedrock知识库实现开源Web内容预处理

一句话结论

AWS发布开源爬虫Crawl4AI预处理方案,填补Bedrock托管知识库缺乏精细爬取控制的官方空白。

关键要点

  • Crawl4AI基于Python启发式剪枝,仅保留标题、列表、表格等结构化元素,输出Markdown及元数据至S3。
  • 爬取有界模式默认限制1个链接层级和25个页面,支持JavaScript加载但禁实时访问及认证会话。
  • 元数据侧车文件命名须匹配主文档名(如page.md对应page.md.metadata.json),单个上限10 KB。
  • 该CDK部署堆栈不自动创建或修改知识库及数据源,需预先配置好托管或客户管理知识库。
  • 托管知识库采用混合搜索和AgenticRetrieveStream,客户管理知识库使用RetrieveAndGenerate操作。

背景与事实

Amazon Bedrock Knowledge Bases提供全托管检索增强生成(RAG)能力,管理数据摄入、存储、索引及检索。虽然其内置Web Crawler连接器支持基于用户授权的爬取,并遵守robots.txt规范、支持JavaScript加载及定期同步,但对于需要精细控制爬取行为的场景,该官方连接器存在局限。AWS在官方博客中提出使用开源Python爬虫Crawl4AI作为预处理方案,通过DefaultMarkdownGenerator及启发式剪枝技术,精准保留标题、列表、表格等关键信息,将网页转化为Markdown格式并生成元数据旁挂文件上传至Amazon S3,最终由S3数据源完成摄入。此架构同时适用于全托管知识库和客户管理知识库两种模式。

在具体实现上,该方案依赖AWS Fargate任务在公网子网运行,启动时从AWS Systems Manager Parameter Store读取非机密配置。AWS CDK将容器化工作流打包为镜像,调度触发后顺序执行爬取、上传、摄入脚本。爬取采用有界模式,默认限制1个链接层级和25个页面,避免资源失控。知识库支持纯文本、HTML、Markdown等格式,选用Markdown旨在保留结构化元素。需要明确的是,该流程不支持推理时实时Web访问及认证会话。

部署环境需预装AWS CDK、Node.js、AWS CLI v2、Docker兼容引擎,并设置AWS_DEFAULT_REGION。默认构建ARM64镜像,x86_64工作站需添加-c cpuArchitecture=X86_64参数;若账户开启VPC Ingress-only模式需使用-c egressMode=nat。该CDK堆栈本身不创建或修改知识库或数据源,需预先配置好目标环境。

影响分析

对于中文开发者与从业者而言,该方案提供了官方连接器之外的精细控制路径。当官方Web Crawler连接器无法满足特定结构保留需求时,Crawl4AI的Markdown转换策略能有效维持表格和列表完整性,降低语义丢失风险。元数据侧车文件机制为后续检索过滤提供基础,但单个10 KB的限制要求开发者预处理大字段。该架构明确了Fargate、CloudWatch、KMS及公共IPv4等计费项,团队需预估运营成本。托管与客户管理知识库的检索操作差异(AgenticRetrieveStream vs RetrieveAndGenerate)直接影响后端集成代码设计。

适用边界

该结论不适用于需要实时网络访问或认证会话的场景,流程仅支持静态爬取。托管知识库不支持startsWith和stringContains过滤器,依赖这些功能的团队必须选择客户管理知识库。该工作流扩展Bedrock但不包含知识库自动创建,需在已有基础设施上部署。

孤本观察

该方案本质是用开源爬虫替代官方连接器以换取结构化保留能力,10KB侧车上限是防止元数据膨胀的关键约束。

来源:AWS Machine Learning Blog