BuilderIO/gpt-crawlerView GitHub Homepage for Latest Official Releases
웹사이트 크롤링을 통해 지식 파일을 생성하여 맞춤형 GPT 어시스턴트를 빠르게 만들 수 있는 오픈 소스 도구
ISCTypeScriptgpt-crawlerBuilderIO 21.8k Last Updated: July 07, 2025
GPT-Crawler 프로젝트 상세 소개
프로젝트 개요
GPT-Crawler는 Builder.io에서 개발한 오픈 소스 프로젝트로, 지정된 웹사이트를 크롤링하여 지식 파일을 생성함으로써 맞춤형 GPT 어시스턴트를 빠르게 만들 수 있도록 설계되었습니다. 이 도구는 하나 이상의 URL만 제공하면 자동으로 웹사이트 콘텐츠를 가져와 맞춤형 GPT 훈련에 사용할 수 있는 데이터 파일을 생성합니다.
핵심 기능
- 웹사이트 콘텐츠 크롤링: 지정된 웹사이트의 콘텐츠를 자동으로 가져옵니다.
- 지식 파일 생성: 크롤링한 콘텐츠를 GPT 훈련에 사용할 수 있는 형식으로 변환합니다.
- 유연한 구성: 크롤링 규칙, 페이지 선택기 등 다양한 구성 옵션을 지원합니다.
- 다양한 배포 방식: 로컬 실행, 컨테이너화 배포 및 API 서버 모드를 지원합니다.
설치 및 사용
전제 조건
- Node.js >= 16
빠른 시작
git clone https://github.com/builderio/gpt-crawler
npm i
구성 파일
config.ts
파일에서 url
및 selector
속성을 편집하여 요구 사항을 충족하십시오.
예시 구성:
export const defaultConfig: Config = {
url: "https://www.builder.io/c/docs/developers",
match: "https://www.builder.io/c/docs/**",
selector: `.docs-builder-container`,
maxPagesToCrawl: 50,
outputFileName: "output.json",
};
구성 옵션 상세 설명
type Config = {
/** 크롤링을 시작할 URL, sitemap이 제공된 경우 sitemap을 사용하고 그 안의 모든 페이지를 다운로드합니다. */
url: string;
/** 페이지의 링크를 매칭하여 이후 크롤링에 사용될 패턴 */
match: string;
/** 내부 텍스트를 가져오는 데 사용되는 선택기 */
selector: string;
/** 이 페이지 수 이상으로 크롤링하지 마십시오. */
maxPagesToCrawl: number;
/** 완료된 데이터의 파일 이름 */
outputFileName: string;
/** 선택적으로 제외할 리소스 유형 */
resourceExclusions?: string[];
/** 선택적 최대 파일 크기 (메가바이트) */
maxFileSize?: number;
/** 선택적 최대 토큰 수 */
maxTokens?: number;
};
크롤러 실행
npm start
그러면 output.json
파일이 생성됩니다.
배포 옵션
컨테이너화 배포
containerapp
디렉토리로 이동하여 config.ts
를 수정하십시오. 출력 파일은 data
폴더에 생성됩니다.
API 서버 모드
npm run start:server
- 서버는 기본적으로 3000 포트에서 실행됩니다.
/crawl
엔드포인트를 사용하여 POST 요청을 보냅니다.- API 문서는
/api-docs
엔드포인트에서 확인할 수 있습니다 (Swagger 사용). .env.example
을.env
로 복사하여 환경 변수를 사용자 정의할 수 있습니다.
OpenAI 통합
맞춤형 GPT 생성 (UI 액세스)
- https://chat.openai.com/으로 이동합니다.
- 왼쪽 하단의 사용자 이름을 클릭합니다.
- 메뉴에서 "My GPTs"를 선택합니다.
- "Create a GPT"를 선택합니다.
- "Configure"를 선택합니다.
- "Knowledge" 아래에서 "Upload a file"을 선택하고 생성된 파일을 업로드합니다.
주의: 맞춤형 GPT를 생성하고 사용하려면 유료 ChatGPT 요금제가 필요할 수 있습니다.
어시스턴트 생성 (API 액세스)
- https://platform.openai.com/assistants으로 이동합니다.
- "+ Create"를 클릭합니다.
- "upload"를 선택하고 생성된 파일을 업로드합니다.
기술 특성
- TypeScript 개발: 타입 안전성과 더 나은 개발 경험을 제공합니다.
- Express.js 서버: RESTful API 인터페이스를 제공합니다.
- Docker 지원: 컨테이너화 배포를 용이하게 합니다.
- 유연한 선택기: CSS 선택기를 지원하여 콘텐츠를 정확하게 찾습니다.
- 리소스 필터링: 이미지, 비디오 등 불필요한 리소스 유형을 제외할 수 있습니다.
- 크기 제어: 파일 크기 및 토큰 수를 제한할 수 있습니다.
실제 사례
프로젝트 작성자는 이 도구를 사용하여 Builder.io 어시스턴트를 만들었습니다. Builder.io 문서를 크롤링하여 Builder.io 사용 및 통합 방법에 대한 질문에 답변합니다.
장점 및 응용 시나리오
- 빠른 배포: 몇 분 안에 전문적인 지식 어시스턴트를 만들 수 있습니다.
- 비용 효율성: 기존 문서를 기반으로 AI 어시스턴트를 빠르게 생성합니다.
- 강력한 맞춤화: 특정 분야 또는 제품에 대한 지식 기반을 지원합니다.
- 쉬운 유지 관리: 정기적으로 다시 크롤링하여 지식 기반을 업데이트할 수 있습니다.
주의 사항
- 대상 웹사이트를 크롤링할 권한이 있는지 확인하십시오.
- 파일이 너무 크면 분할하여 업로드해야 할 수 있습니다.
- 웹사이트의 크롤링 빈도 제한을 고려해야 합니다.
- 먼저 소규모 크롤링을 테스트하여 구성을 확인하는 것이 좋습니다.
요약
GPT-Crawler는 전문적인 AI 어시스턴트를 빠르게 만들 수 있는 강력하고 유연한 솔루션을 제공하며, 특히 기존 문서 또는 웹사이트 콘텐츠를 기반으로 지능형 질의응답 시스템을 구축해야 하는 시나리오에 적합합니다.