Executando verificação de segurança...
12

Criei uma versão open source do Deep Research da OpenAI

Fala TabNews! Queria compartilhar minha implementação open source do Deep Research da OpenAI, usando Firecrawl para busca e extração de dados.

Ontem a noite a OpenAI lançou o Deep Research, uma ferramenta que permite realizar pesquisas profundas na web usando IA. Entao em algumas horas decidi criar uma versão open source usando Next.js, Firecrawl e o AI SDK da Vercel.

O meu post no X na madrugada teve muitas visualizações e então lancei pela manhã.

Como Funciona:

  1. Arquitetura Principal:
  • Utilizei o AI SDK da Vercel para gerenciar streams e chamadas de modelo - partiu de um fork do AI chatbot da Vercel que eu tinha apaptado.
  • Implementei um sistema de agentes que coordena busca, extração e análise
  • Criei um deep research context no React para gerenciar o estado da pesquisa em tempo real
  1. Componentes Principais:
  • Um agente de pesquisa que utiliza Firecrawl para buscar e extrair dados da web
  • Sistema de análise progressiva que avalia e sintetiza informações
  • UI em tempo real mostrando progresso, fontes e atividades
  1. Fluxo de Pesquisa:
  • Busca inicial usando Firecrawl
  • Extração estruturada de dados das páginas relevantes
  • Análise progressiva usando modelos de raciocínio
  • Síntese final dos resultados

Dentro do Agente
O coração do sistema está no arquivo api/chat/route.ts, onde implementei o agente de pesquisa:

O agente opera em um ciclo iterativo de busca-extração-análise, controlado por um sistema de estado gerenciado. Cada ciclo começa com uma busca usando Firecrawl /search, que retorna URLs relevantes ao prompt da pesquisa. O agente então extrai informações estruturadas dessas URLs usando a função /extract do Firecrawl, que processa as URLs mais relevantes por vez e extraí qualquer dado que você queira da URL. Após a extração, a função analyzeAndPlan avalia os dados coletados, determinando lacunas no conhecimento e próximos passos. O agente mantém um researchState que rastreia descobertas, sumários e métricas de progresso, com limites de profundidade (maxDepth) e tempo (5 minutos) para evitar o maxDuration da edge function da Vercel.

Todo o processo é transmitido em tempo real via dataStream, permitindo uma UI reativa que mostra o progresso da pesquisa, fontes consultadas e atividades do agente. O ciclo continua até que o agente determine que tem informações suficientes ou atinja os limites estabelecidos, culminando em uma síntese final usando um modelo de raciocínio para gerar uma análise abrangente das descobertas.

Stack:

  • Next.js (App Router)
  • Firecrawl para busca e extração
  • AI SDK da Vercel
  • TypeScript
  • Tailwind CSS
  • Radix UI para componentes base

Se gostaram me avisa que vou começar a trazer mais desse conteúdo e se quiserem dar um star na repo, ajuda demais!

https://github.com/nickscamara/open-deep-research

Obrigado :)

Carregando publicação patrocinada...
1
1
1
0