Home
Login

Ferramenta de código aberto para criar arquivos de conhecimento rastreando sites, criando rapidamente assistentes GPT personalizados

ISCTypeScript 21.6kBuilderIO Last Updated: 2025-01-23

Apresentação Detalhada do Projeto GPT-Crawler

Visão Geral do Projeto

GPT-Crawler é um projeto de código aberto desenvolvido pela Builder.io, com o objetivo de gerar arquivos de conhecimento através da extração de conteúdo de sites específicos, permitindo a criação rápida de assistentes GPT personalizados. Esta ferramenta requer apenas um ou mais URLs para automaticamente coletar o conteúdo do site e gerar arquivos de dados que podem ser usados para treinar um GPT personalizado.

Funcionalidades Principais

  • Extração de Conteúdo de Sites: Coleta automaticamente o conteúdo de sites especificados.
  • Geração de Arquivos de Conhecimento: Converte o conteúdo extraído em um formato utilizável para o treinamento do GPT.
  • Configuração Flexível: Suporta diversas opções de configuração, incluindo regras de extração, seletores de página, etc.
  • Múltiplas Formas de Implantação: Suporta execução local, implantação em contêiner e modo de servidor API.

Instalação e Uso

Pré-requisitos

  • Node.js >= 16

Início Rápido

git clone https://github.com/builderio/gpt-crawler
npm i

Arquivo de Configuração

Edite as propriedades url e selector no arquivo config.ts para atender às suas necessidades.

Exemplo de Configuração:

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",
};

Detalhes das Opções de Configuração

type Config = {
  /** URL para iniciar a extração, se um sitemap for fornecido, ele será usado e todas as páginas nele serão baixadas */
  url: string;
  /** Padrão usado para corresponder links na página para rastreamento posterior */
  match: string;
  /** Seletor usado para extrair o texto interno */
  selector: string;
  /** Não rastrear mais do que este número de páginas */
  maxPagesToCrawl: number;
  /** Nome do arquivo para os dados concluídos */
  outputFileName: string;
  /** Tipos de recursos opcionais a serem excluídos */
  resourceExclusions?: string[];
  /** Tamanho máximo de arquivo opcional (em megabytes) */
  maxFileSize?: number;
  /** Número máximo opcional de tokens */
  maxTokens?: number;
};

Executar o Crawler

npm start

Isso gerará um arquivo output.json.

Opções de Implantação

Implantação em Contêiner

Entre no diretório containerapp e modifique o config.ts. O arquivo de saída será gerado na pasta data.

Modo de Servidor API

npm run start:server
  • O servidor é executado por padrão na porta 3000
  • Use o endpoint /crawl para solicitações POST
  • A documentação da API pode ser visualizada no endpoint /api-docs (usando Swagger)
  • Você pode copiar .env.example para .env para personalizar as variáveis de ambiente

Integração com OpenAI

Criar um GPT Personalizado (Acesso via UI)

  1. Vá para https://chat.openai.com/
  2. Clique no seu nome de usuário no canto inferior esquerdo
  3. Selecione "My GPTs" no menu
  4. Selecione "Create a GPT"
  5. Selecione "Configure"
  6. Em "Knowledge", selecione "Upload a file" e carregue o arquivo gerado

Nota: Pode ser necessário um plano ChatGPT pago para criar e usar um GPT personalizado.

Criar um Assistente (Acesso via API)

  1. Vá para https://platform.openai.com/assistants
  2. Clique em "+ Create"
  3. Selecione "upload" e carregue o arquivo gerado

Características Técnicas

  • Desenvolvimento em TypeScript: Oferece segurança de tipo e uma melhor experiência de desenvolvimento.
  • Servidor Express.js: Fornece interface de API RESTful.
  • Suporte a Docker: Facilita a implantação em contêiner.
  • Seletores Flexíveis: Suporta seletores CSS para localizar o conteúdo com precisão.
  • Filtro de Recursos: Permite excluir tipos de recursos desnecessários, como imagens e vídeos.
  • Controle de Tamanho: Suporta a limitação do tamanho do arquivo e do número de tokens.

Caso Prático

O autor do projeto usou esta ferramenta para criar um Assistente Builder.io, extraindo a documentação do Builder.io para responder a perguntas sobre como usar e integrar o Builder.io.

Vantagens e Cenários de Aplicação

  • Implantação Rápida: Crie assistentes de conhecimento profissionais em minutos.
  • Custo-Benefício: Gere rapidamente assistentes de IA com base na documentação existente.
  • Alta Personalização: Suporta bases de conhecimento para domínios ou produtos específicos.
  • Fácil Manutenção: Pode ser re-extraído periodicamente para atualizar a base de conhecimento.

Precauções

  • Certifique-se de ter permissão para extrair o site de destino.
  • Arquivos muito grandes podem precisar ser divididos para upload.
  • Considere os limites de frequência de extração do site.
  • Recomenda-se testar a extração em pequena escala para validar a configuração.

Conclusão

GPT-Crawler oferece uma solução poderosa e flexível para criar rapidamente assistentes de IA profissionais, especialmente adequada para cenários que exigem a criação de sistemas inteligentes de perguntas e respostas com base em documentos ou conteúdo de sites existentes.