Ferramenta de código aberto para criar arquivos de conhecimento rastreando sites, criando rapidamente assistentes GPT personalizados
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)
- Vá para https://chat.openai.com/
- Clique no seu nome de usuário no canto inferior esquerdo
- Selecione "My GPTs" no menu
- Selecione "Create a GPT"
- Selecione "Configure"
- 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)
- Vá para https://platform.openai.com/assistants
- Clique em "+ Create"
- 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.