Crawl4AI로 웹 콘텐츠를 준비해 Amazon Bedrock Knowledge Bases에 연결하는 방법
Prepare web content for Amazon Bedrock Knowledge Bases with Crawl4AI
Amazon Bedrock Web Crawler로 처리하기 어려운 웹 소스는 오픈소스 Python 크롤러 Crawl4AI로 Markdown과 메타데이터 사이드카를 미리 만들어 Amazon S3에 올리고, 그 S3 데이터 소스를 Knowledge Base가 수집하는 방식으로 처리할 수 있다. 본문 영역 추출, 보일러플레이트 제거, 사용자 정의 메타데이터 부착이 필요한 경우에 적합하다. Amazon Bedrock Web Crawler는 시드 URL이나 사이트맵, 범위와 속도 제한을 설정하면 예약 동기화로 페이지 변경을 반영하고 JavaScript로 로드되는 콘텐츠도 기다릴 수 있다. robots.txt를 존중하며, 첫 전체 크롤 이후 각 동기화는 추가·수정·삭제된 콘텐츠만 가져온다. Crawl4AI 경로는 DefaultMarkdownGenerator와 pruning 콘텐츠 필터로 내비게이션 등 보일러플레이트를 줄이면서 제목, 목록, 표를 보존하고, 선택적 CSS 셀렉터로 일치하는 페이지 영역만 추출한다. 깊이와 페이지 수 상한, URL 패턴으로 너비 우선 탐색 범위를 제한할 수 있으며, 각 문서에 소스 URL, 크롤 시각, 콘텐츠 유형 등 메타데이터를 붙여 검색 결과를 필터링할 수 있다. 기사는 pruning이 휴리스틱 방식이므로 대상 사이트의 대표 출력을 직접 검토해야 한다고 명시한다. 또한 이 방식은 추론 시점의 실시간 웹 접근(예: Amazon Nova의 Web Grounding)이 아니라 알려진 웹 자산의 배치 수집이라고 구분한다. 기본 샘플은 Fargate 작업을 퍼블릭 서브넷에서 인터넷 게이트웨이를 통해 실행하며, 준비 단계 이후의 파싱, 청킹, 임베딩, 인덱싱, 검색은 Amazon Bedrock Knowledge Bases가 담당한다.
Crawl4AI의 pruning 콘텐츠 필터와 CSS 셀렉터, Amazon S3 데이터 소스 연결을 활용하면 Amazon Bedrock Web Crawler로 얻기 어려운 본문 중심 Markdown과 메타데이터 필터링 가능한 문서를 Knowledge Base에 넣을 수 있다.
원문 출처
AWS Machine Learning Blog