AI - Configurando Crawler Offline para transformar sites em dados prontos para modelos de AI
Olá meus Unicórnios! 🦄✨
Imagine que você tenha um site com vários artigos falando sobre seu site, totalizando 10 mi páginas.
E você quer criar um bot que o seu cliente possa fazer perguntas sobre estas páginas.
Existem várias abordagens aqui, mas de maneira geral, você precisa tratar os textos destas páginas antes, deixando elas mais amigáveis para os modelos de AI.
Para isto, existe uma ferramenta chamada Firecrawl:
Onde inserimos um site e ele transforma as páginas deste site em textos planos no padrão Markdom:

Esta ferramenta tem uma API paga:

Porem, também tem uma versão Self-hosting que podemos instalar em nosso servidor, sem ter custo algum!
Configurando Dependências
Antes de começarmos, é necessário que você tenha o Redis configurado em seu servidor.
Se ainda não tem, consulte o tutorial abaixo:
Instalando Redis no WindowsDescubra como instalar o Redis no Windows e aproveite seu poder como banco de dados NoSQL de alta velocidade e disponibilidade.blog.palomamacetko.com.brInstalando o Firecrawl
Agora vamos começar a instalação do Firecrawl
Crie uma pasta em seu computador, e acesse ela em seu CMD.
Neste caso, iremos utilizar a pasta "C:\AI":

Digite o comando abaixo para clonar o repositório do firecrawl:
git clone https://github.com/mendableai/firecrawlQuando a cópia for concluída será exibido ".done":

Digite o comando abaixo para acessar a pasta API:
cd firecrawl/apps/api/Digite o comando abaixo para renomear o arquivo ".env.example" para ".env":
rename .env.example .envAbra o arquivo ".env" e altere a linha "USE_DB_AUTHENTICATION" para "false" para não pedir Token:

Digite o comando abaixo para instalar as dependências:
pnpm installDigite o comando abaixo para iniciar as rotinas que irão processar os trabalhos:
pnpm run workersEsta janela do CMD precisa ser mantida aberta, então agora iremos abrir uma nova janela CMD e abrir a pasta "firecrawl/apps/api/".
Considerando que instalamos dentro de "C:\AI" o caminho completo fica:
cd C:\AI\firecrawl\apps\apiNesta nova janela, digite o comando abaixo, para iniciar o Firecrawl:
pnpm run startNo final, você deve ter duas janelas cmd abertas:

Testando Instalação
O Firecrawl cria uma API na porta "3002", então, para teste, faça uma GET para:
http://localhost:3002/testCaso a instalação tenha tido sucesso, será exibido:
Hello, world!Executando Crawler de um Site
Para teste, iremos fazer um Crawler deste site, limitando a 10 páginas sem seguir os links.
Iremos fazer um POST para:
http://localhost:3002/v0/crawlEnviando um Json Semelhante ao Json abaixo:
{
"url": "https://www.palomamacetko.com.br/",
"crawlerOptions": {
"maxDepth": 0,
"limit": 10
}
}O retorno será o ID do Trabalho:
{
"jobId": "ab092267-067d-42f3-afbe-166d8b3ab49c"
}Agora precisamos ficar consultando este Trabalho, para ver quando é finalizado.
Para isto, faça uma GET para:
http://localhost:3002/v0/crawl/status/[JobID]Substituindo o "[JobID]" pelo ID gerado ao Criar o Crawler.
O retorno será o status do Trabalho:
{
"status": "waiting",
"data": null
}Quando o trabalho for completado, será retornado o status "completed" e no elemento "data" será retornado todas as páginas processadas:
{
"status": "completed",
"current": 1,
"total": 1,
"data": [
{
"content": "XXXXXXXXXXX",
"markdown": "XXXXXXXXXXX",
"linksOnPage": [
"https://www.palomamacetko.com.br"
]
}
],
"partial_data": []
}Por hoje é só, meus unicórnios! 🦄✨
Que a magia do arco-íris continue brilhando em suas vidas! Até mais! 🌈🌟
Leia também
llms.txt: por que importa e como gerar em PHP
Por que o llms.txt importa para quem quer ser citado pela IA, e como gerar o seu em PHP puro lendo o sitemap.xml que voce ja tem.
ElevenLabs: clonando vozes com Node.js
Como clonar uma voz na ElevenLabs pela API com Node.js: envio das amostras em multipart, a armadilha do Content-Type, listar e apagar.
MCP File Tools: a IA sem corromper seu ISO-8859-1
Como instalar o MCP File Tools no Claude Code para editar sites em ISO-8859-1 sem transformar "configuração" em "configuraçao".