Go 언어로 개발된 오픈소스 웹 크롤러 'doc-scraper'가 대규모 언어모델(LLM) 학습 및 검색 증강 생성(RAG) 시스템을 위한 기술 문서 수집 과정을 혁신합니다. 이 도구는 웹 기반 기술 문서 사이트에서 핵심 콘텐츠를 효율적으로 추출하고, 이를 LLM이 이해하기 쉬운 깔끔한 마크다운(Markdown) 형식으로 변환하여 로컬에 저장하는 기능을 제공합니다. 기존에 수동으로 진행되던 번거로운 데이터 준비 작업을 자동화하여 개발자들의 시간과 노력을 크게 절감할 수 있게 되었습니다.
'doc-scraper'는 설정 파일(config.yaml)을 통해 크롤링 범위, 콘텐츠 추출을 위한 CSS 선택자, 이미지 처리 방식 등을 세밀하게 제어할 수 있습니다. 특히, 도큐사우루스(Docusaurus), MkDocs, 스핑크스(Sphinx) 등 주요 문서 프레임워크를 자동으로 감지하여 최적화된 콘텐츠 추출을 지원하며, 크롤링 중단 시 재시작 기능, 속도 제한, 오류 처리 등 프로덕션 환경에 필요한 다양한 기능을 갖추고 있습니다. 추출된 데이터는 원본 사이트의 구조를 유지한 채 로컬 파일로 저장되며, 선택적으로 JSONL 형식으로도 출력되어 RAG 시스템 통합에 용이합니다. 또한, 오프라인 BM25 검색 기능도 내장되어 있어 수집된 문서에 대한 빠른 검색이 가능합니다.
이 도구의 등장은 LLM 개발 및 활용 방식에 중요한 변화를 가져올 것으로 예상됩니다. 고품질의 특정 도메인 데이터를 LLM에 학습시키거나 RAG 시스템을 구축하는 데 있어, 데이터 수집 및 전처리 과정은 항상 큰 장벽이었습니다. 'doc-scraper'는 이 과정을 자동화하고 표준화함으로써, 개발자들이 더 쉽게 맞춤형 LLM을 구축하고 특정 분야의 최신 정보를 반영한 AI 서비스를 개발할 수 있는 기반을 마련합니다. 이는 LLM의 성능 향상뿐만 아니라, 특정 산업이나 기업에 특화된 AI 솔루션 개발을 가속화하는 데 기여할 것입니다.