Home
Login

웹사이트 크롤링을 통해 지식 파일을 생성하여 맞춤형 GPT 어시스턴트를 빠르게 만들 수 있는 오픈 소스 도구

ISCTypeScript 21.6kBuilderIO Last Updated: 2025-01-23

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 파일에서 urlselector 속성을 편집하여 요구 사항을 충족하십시오.

예시 구성:

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 액세스)

  1. https://chat.openai.com/으로 이동합니다.
  2. 왼쪽 하단의 사용자 이름을 클릭합니다.
  3. 메뉴에서 "My GPTs"를 선택합니다.
  4. "Create a GPT"를 선택합니다.
  5. "Configure"를 선택합니다.
  6. "Knowledge" 아래에서 "Upload a file"을 선택하고 생성된 파일을 업로드합니다.

주의: 맞춤형 GPT를 생성하고 사용하려면 유료 ChatGPT 요금제가 필요할 수 있습니다.

어시스턴트 생성 (API 액세스)

  1. https://platform.openai.com/assistants으로 이동합니다.
  2. "+ Create"를 클릭합니다.
  3. "upload"를 선택하고 생성된 파일을 업로드합니다.

기술 특성

  • TypeScript 개발: 타입 안전성과 더 나은 개발 경험을 제공합니다.
  • Express.js 서버: RESTful API 인터페이스를 제공합니다.
  • Docker 지원: 컨테이너화 배포를 용이하게 합니다.
  • 유연한 선택기: CSS 선택기를 지원하여 콘텐츠를 정확하게 찾습니다.
  • 리소스 필터링: 이미지, 비디오 등 불필요한 리소스 유형을 제외할 수 있습니다.
  • 크기 제어: 파일 크기 및 토큰 수를 제한할 수 있습니다.

실제 사례

프로젝트 작성자는 이 도구를 사용하여 Builder.io 어시스턴트를 만들었습니다. Builder.io 문서를 크롤링하여 Builder.io 사용 및 통합 방법에 대한 질문에 답변합니다.

장점 및 응용 시나리오

  • 빠른 배포: 몇 분 안에 전문적인 지식 어시스턴트를 만들 수 있습니다.
  • 비용 효율성: 기존 문서를 기반으로 AI 어시스턴트를 빠르게 생성합니다.
  • 강력한 맞춤화: 특정 분야 또는 제품에 대한 지식 기반을 지원합니다.
  • 쉬운 유지 관리: 정기적으로 다시 크롤링하여 지식 기반을 업데이트할 수 있습니다.

주의 사항

  • 대상 웹사이트를 크롤링할 권한이 있는지 확인하십시오.
  • 파일이 너무 크면 분할하여 업로드해야 할 수 있습니다.
  • 웹사이트의 크롤링 빈도 제한을 고려해야 합니다.
  • 먼저 소규모 크롤링을 테스트하여 구성을 확인하는 것이 좋습니다.

요약

GPT-Crawler는 전문적인 AI 어시스턴트를 빠르게 만들 수 있는 강력하고 유연한 솔루션을 제공하며, 특히 기존 문서 또는 웹사이트 콘텐츠를 기반으로 지능형 질의응답 시스템을 구축해야 하는 시나리오에 적합합니다.