GPT-Crawler 是由 Builder.io 开发的一个开源项目,旨在通过爬取指定网站来生成知识文件,从而快速创建自定义的 GPT 助手。这个工具只需要提供一个或多个 URL,就能自动抓取网站内容并生成可用于训练自定义 GPT 的数据文件。
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;
/** 可选的最大token数量 */
maxTokens?: number;
};
npm start
这将生成一个 output.json
文件。
进入 containerapp
目录并修改 config.ts
,输出文件将在 data
文件夹中生成。
npm run start:server
/crawl
端点进行 POST 请求/api-docs
端点查看(使用 Swagger).env.example
为 .env
来自定义环境变量注意:可能需要付费的 ChatGPT 计划才能创建和使用自定义 GPT
项目作者使用这个工具创建了一个 Builder.io 助手,通过爬取 Builder.io 的文档来回答有关如何使用和集成 Builder.io 的问题。
GPT-Crawler 为快速创建专业的 AI 助手提供了一个强大而灵活的解决方案,特别适合需要基于现有文档或网站内容创建智能问答系统的场景。