Introdução geral
O GPT-Crawler é uma ferramenta de código aberto desenvolvida pela equipe do BuilderIO e hospedada no GitHub. Ele rastreia o conteúdo da página inserindo um ou mais URLs de sites, gerando documentos de conhecimento estruturado (output.json
) para criar assistentes personalizados de GPT ou IA. Os usuários podem configurar regras de rastreamento, como especificar um URL inicial e um seletor de conteúdo, e a ferramenta extrai automaticamente o texto e o organiza em arquivos. A ferramenta é fácil de usar e oferece suporte a execuções locais, implementações de contêineres do Docker e chamadas de API, o que a torna ideal para que os desenvolvedores criem rapidamente assistentes de IA proprietários a partir do conteúdo do site. Até o momento, ela está ganhando força na comunidade tecnológica, popular por sua eficiência e natureza de código aberto.
Lista de funções
- Rastreia o conteúdo do site a partir de um ou mais URLs, gerando
output.json
Documentação. - Suporte a regras de rastreamento personalizadas, incluindo URLs iniciais, padrões de correspondência de links e seletores CSS.
- Capacidade de lidar com páginas dinâmicas da Web e rastrear conteúdo renderizado no lado do cliente usando um navegador sem cabeça.
- Fornece uma interface de API para iniciar tarefas de rastreamento por meio de solicitações POST.
- Suporta a configuração do número máximo de páginas (
maxPagesToCrawl
), tamanho do documento (maxFileSize
) e o número de tokens (maxTokens
). - Os arquivos gerados podem ser carregados diretamente no OpenAI para a criação de GPTs personalizados ou assistentes de IA.
- Suporta a execução de contêineres Docker, fácil de implementar em diferentes ambientes.
- Tipos específicos de recursos (por exemplo, imagens, vídeos, etc.) podem ser excluídos para otimizar a eficiência do rastreamento.
Usando a Ajuda
Instalação e operação (modo local)
O GPT-Crawler foi desenvolvido com base no Node.js e precisa ser instalado para ser executado. Aqui estão as etapas detalhadas:
- Verificação do ambiente
Certifique-se de que seu computador tenha o Node.js (versão 16 ou superior) e o npm instalados. Execute o seguinte comando para confirmar:
node -v
npm -v
Se você não o tiver, faça o download e instale-o no site do Node.js.
- projeto de clonagem
Faça o download do projeto localmente digitando o comando no terminal:
git clone https://github.com/BuilderIO/gpt-crawler.git
- Acesso ao catálogo
Quando o download estiver concluído, vá para a pasta do projeto:
cd gpt-crawler
- Instalação de dependências
Execute o seguinte comando para instalar os pacotes necessários:
npm install
- Configuração do rastreador
show (um ingresso)config.ts
modifique os parâmetros de rastreamento. Por exemplo, para rastrear o documento Builder.io:
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"
};
url
Endereço de rastreamento inicial.match
Padrão de correspondência de link com suporte a curinga.selector
Seletor CSS para extração de conteúdo.maxPagesToCrawl
Número máximo de páginas a serem rastreadas.outputFileName
Nome do arquivo de saída.
- Executando o rastreador
Quando a configuração estiver concluída, execute o seguinte comando para iniciar o rastreamento:
npm start
Após a conclusão.output.json
é gerado no diretório raiz do projeto.
Modos alternativos de operação
Usando contêineres do Docker
- Certifique-se de que o Docker esteja instalado (baixado do site do Docker).
- entrar em
containerapp
Pasta, Editarconfig.ts
. - Execute o seguinte comando para criar e iniciar o contêiner:
docker build -t gpt-crawler .
docker run -v $(pwd)/data:/app/data gpt-crawler
- O arquivo de saída é gerado no
data
pasta.
Execução com a API
- Depois de instalar as dependências, inicie o serviço de API:
npm run start:server
- O serviço é executado por padrão no
http://localhost:3000
. - Enviar uma solicitação POST para
/crawl
, por exemplo:
curl -X POST http://localhost:3000/crawl -H "Content-Type: application/json" -d '{"url":"https://example.com","match":"https://example.com/**","selector":"body","maxPagesToCrawl":10,"outputFileName":"output.json"}'
- acessível
/api-docs
Veja a documentação da API (baseada no Swagger).
Fazer upload para o OpenAI
- Criação de GPTs personalizados
- Chat abertoGPT.
- Clique em seu nome no canto inferior esquerdo e selecione "My GPTs" (Meus GPTs).
- Clique em "Create a GPT" (Criar uma GPT) > "Configure" (Configurar) > "Knowledge" (Conhecimento).
- carregar
output.json
Documentação. - Se o arquivo for muito grande, o
config.ts
configurarmaxFileSize
talvezmaxTokens
Arquivo dividido.
- Criação de assistentes personalizados
- Abra a plataforma OpenAI.
- Clique em "+ Create" > "Upload".
- carregar
output.json
Documentação.
Funções
- Rastreamento de conteúdo
indicar com clareza e certezaurl
responder cantandoselector
Depois disso, a ferramenta extrai o texto da página. Por exemplo..docs-builder-container
Pegue apenas o conteúdo da região. - Gerar arquivos
O formato do arquivo de saída é:
[{"title": "页面标题", "url": "https://example.com/page", "html": "提取的文本"}, ...]
- Produção otimizada
fazer uso deresourceExclusions
Excluir recursos estranhos (por exemplopng
ejpg
), reduzindo o tamanho do arquivo.
advertência
- É necessário ter uma conta paga da OpenAI para criar GPTs personalizados.
- O rastreamento dinâmico da Web depende de navegadores sem cabeça para garantir a integridade da dependência.
- A configuração pode ser ajustada para dividir o upload quando o arquivo for muito grande.
cenário do aplicativo
- Assistente de suporte técnico
Rastreie sites de documentação de produtos para gerar assistentes de IA que ajudem os usuários a responder perguntas técnicas. - Ferramentas de organização de conteúdo
Obtenha artigos de blogs ou sites de notícias para criar uma base de conhecimento ou um assistente de perguntas e respostas. - Assistente de educação e treinamento
Rastrear páginas de cursos on-line para gerar assistentes de aprendizagem que fornecem respostas relacionadas ao curso.
QA
- É possível rastrear vários sites?
Pode. Noconfig.ts
Basta definir vários URLs e regras de correspondência no - E se o arquivo for muito grande para ser carregado?
configurarmaxFileSize
talvezmaxTokens
divide o arquivo em vários arquivos menores. - Vocês oferecem suporte a sites chineses?
Suporte. Desde que o conteúdo do site possa ser analisado por navegadores sem cabeça, ele pode ser rastreado corretamente.