O que é PolyUQuest?
O PolyUQuest responde perguntas sobre um site mantendo a estrutura que o chunking plano joga fora. Ele monta um grafo de três camadas com páginas web, blocos DOM (seções do HTML de cada página, limitadas a cerca de 150 palavras) e entidades extraídas, guarda tudo no Neo4j com vetores no Qdrant e direciona cada consulta para um de três modos: busca direta de blocos, busca ancorada em páginas que segue links, ou travessia do grafo de entidades. Existe um modo híbrido para consultas de baixa confiança, mas ele vem desligado na configuração incluída. As respostas citam os blocos de origem.
O repositório é a stack de serviço online de um grupo da Hong Kong Polytechnic University: um backend FastAPI, um frontend Next.js 14 e um benchmark de 300 perguntas sobre o site da PolyU. O artigo que o acompanha, PolyUQuest: Verifiable Structure-Aware Web RAG over Heterogeneous Graphs (arXiv 2607.08269), foi aceito no demo track do CIKM 2026. Por padrão, ele chama a API da SiliconFlow para modelos DeepSeek e embeddings BGE-M3, com Qwen3-Reranker-8B para o reranking.
O código é Apache 2.0; o dataset é só para pesquisa, em termos que os autores equiparam à CC BY-NC 4.0. O repositório foi criado em junho de 2026, tem dois commits, o mais recente de 3 de novembro de 2026, e nenhuma release.
PolyUQuest vale a pena?
O PolyUQuest é um resultado de pesquisa bem fundamentado, mas ainda não é algo para colocar em produção. A ideia é boa e pouco atendida pelos frameworks de RAG com grafo que as pessoas já usam: os links e o layout HTML de um site são estrutura que vem de graça, e a ablação do artigo diz que os blocos baseados no DOM, e não o grafo de entidades, respondem pela maior parte da vantagem de qualidade. Mas o repositório tem 3 estrelas no GitHub, dois commits e nenhuma release, e vem sem o pipeline offline que rastreia e indexa um site, então os bancos Neo4j e Qdrant começam vazios.
Os números do artigo são fortes, mas autodeclarados, no benchmark dos próprios autores com 300 perguntas sobre 4.240 páginas da PolyU (31.086 blocos DOM e 29.119 entidades). O PolyUQuest marcou 0,644 em correção das respostas e 0,921 em fidelidade, contra 0,610 e 0,559 do LightRAG, usando 2.968 tokens por consulta contra 29.825 do LightRAG e 17,5 milhões de tokens para construir o índice contra 37,4 milhões. Um RAG simples por chunks chegou a 0,532 de correção com 2.947 tokens. O artigo não diz qual modelo de linguagem foi usado nem se as respostas foram avaliadas por pessoas ou por um modelo, o que torna os números difíceis de reproduzir.
Do jeito que vem, é um ambiente de desenvolvimento. O servidor FastAPI escuta em 0.0.0.0, com recarga automática ligada e sem autenticação em /api/query. O docker-compose.yml publica Neo4j e Qdrant em todas as interfaces, com uma senha do Neo4j gravada no próprio arquivo e os procedimentos APOC e Graph Data Science sem restrição. Além disso, toda consulta vai para a SiliconFlow, um provedor de API chinês, para roteamento, embeddings, reescrita de consultas e reranking, a menos que você troque; DeepSeek e Qwen são as alternativas documentadas, e os embeddings podem rodar localmente com BGE-M3.
LightRAG e Microsoft GraphRAG, ambos avaliados aqui, indexam qualquer coleção de documentos e têm releases mantidas; o PolyUQuest mira sites HTML e foi avaliado em apenas um. Neo4j e Graphiti são infraestrutura sobre a qual ele poderia rodar, e não concorrentes. A lição mais útil, de que dividir as páginas pelo DOM antes de gerar embeddings supera tanto os chunks planos quanto os grafos mais pesados, vale ser levada para um pipeline existente muito antes de este código estar pronto para adoção.
Onde ele se destaca
Uma pesquisadora de recuperação de informação comparando métodos de RAG com grafo
Comparar um método novo com RAG web sensível à estrutura num conjunto de teste publicado
python -m agent_rag.evaluation --validate-only verifica as 300 perguntas sem nenhum serviço, e o modo replay pontua as saídas do seu próprio sistema com métricas de trechos de resposta. Métricas por bloco exigem o corpus 20260523 dos autores, que não está no repositório, então uma comparação direta com o próprio PolyUQuest ainda não é possível.
A equipe web de uma universidade com alguns milhares de páginas sobre cursos e admissões
Prototipar um assistente de perguntas para estudantes que cite a seção exata da página em cada resposta
O roteador, os modos de recuperação e a interface de chat em Next.js servem de referência. Os módulos de rastreamento e extração de entidades estão no código, mas o pipeline que os carrega no Neo4j e no Qdrant não, então a equipe monta a própria construção; os 17,5 milhões de tokens de construção do artigo para 4.240 páginas dão um orçamento aproximado. Adicione autenticação e feche as portas dos bancos antes de liberar para os estudantes.
Um engenheiro que roda LightRAG sobre a documentação de um produto
Reduzir tokens na hora da resposta sem perder fidelidade
Aproveite a conclusão, não o código: divida as páginas pela estrutura HTML em blocos de cerca de 150 palavras antes de indexar. A ablação do artigo atribui a esse passo a maior parte da vantagem do PolyUQuest, e ele não exige banco de dados novo.
Antes de decidir
- Configuração
- Copie o .env.example e adicione uma chave da SiliconFlow, docker-compose up -d para Neo4j e Qdrant, uv sync e uv run agent-rag-serve, depois npm run dev em frontend/. Requer Python 3.11+, Node 18+ e Docker; sem GPU com os padrões de API. Os bancos começam vazios.
- Integrações
- Neo4j 5 Community com APOC e Graph Data Science, Qdrant, APIs da SiliconFlow, DeepSeek ou Qwen, embeddings BGE-M3 por API ou localmente, Qwen3-Reranker-8B via SiliconFlow e Firecrawl opcional para páginas renderizadas em JavaScript. Endpoints REST /api/query, /api/graph/stats e /api/health.
- Dados e privacidade
- Consultas e texto das páginas vão para as APIs de LLM, embeddings e reranker configuradas (SiliconFlow por padrão). O servidor escuta em 0.0.0.0 sem autenticação; as portas do Neo4j e do Qdrant são publicadas com uma senha padrão gravada no repositório. O código é Apache 2.0; o benchmark proíbe uso comercial.
- Custo em escala
- Sem edição paga. O artigo informa 17,5 milhões de tokens de LLM para indexar 4.240 páginas e cerca de 2.968 tokens por consulta; o repositório não traz preços de API. Hospedar por conta própria acrescenta servidores para Neo4j e Qdrant, além de GPUs se os modelos rodarem localmente.
- Limites
- Pipeline de indexação não publicado; dois commits, nenhuma release e nenhuma issue aberta; o roteamento híbrido vem desligado na configuração incluída; avaliado em um único site universitário; os IDs de blocos de referência do dataset só se resolvem contra o corpus não publicado dos autores.
O que é bom
- Usa links e estrutura HTML que o chunking plano descarta
- O artigo relata fidelidade de 0,921 contra 0,559 do LightRAG
- Cerca de um décimo dos tokens por consulta do LightRAG nos testes do artigo
- Inclui um benchmark de 300 perguntas e um harness de ablação
O que não é
- Pipeline offline de rastreamento e indexação não incluído
- 3 estrelas, dois commits e nenhuma release
- Sem autenticação na API; bancos expostos com senha no repositório
- Resultados autodeclarados e benchmark de uso não comercial
Ideal para
Pesquisadores e equipes web de universidades que estudam recuperação sensível à estrutura em sites HTML, e não equipes que precisam de um sistema RAG em produção.
Alternativas ao PolyUQuest
PolyUQuest: perguntas frequentes
- PolyUQuest vale a pena?
- Um artigo inteligente sobre usar a própria estrutura de um site para RAG, lançado como código de serviço que ainda não consegue indexar o seu site. Damos nota 3.0 de 5.
- Quanto custa PolyUQuest?
- Gratuito e open source sob Apache 2.0; o benchmark incluído é só para pesquisa. Consultas e indexação usam seus próprios créditos de APIs de LLM, embeddings e reranker (SiliconFlow por padrão).
- Quais são as desvantagens de PolyUQuest?
- Pipeline offline de rastreamento e indexação não incluído; 3 estrelas, dois commits e nenhuma release; sem autenticação na API; bancos expostos com senha no repositório; resultados autodeclarados e benchmark de uso não comercial.
- Para quem PolyUQuest é indicado?
- Pesquisadores e equipes web de universidades que estudam recuperação sensível à estrutura em sites HTML, e não equipes que precisam de um sistema RAG em produção.
- Quanto custa PolyUQuest para uma equipe ou em produção?
- Sem edição paga. O artigo informa 17,5 milhões de tokens de LLM para indexar 4.240 páginas e cerca de 2.968 tokens por consulta; o repositório não traz preços de API. Hospedar por conta própria acrescenta servidores para Neo4j e Qdrant, além de GPUs se os modelos rodarem localmente.
- PolyUQuest é seguro para dados da empresa?
- Consultas e texto das páginas vão para as APIs de LLM, embeddings e reranker configuradas (SiliconFlow por padrão). O servidor escuta em 0.0.0.0 sem autenticação; as portas do Neo4j e do Qdrant são publicadas com uma senha padrão gravada no repositório. O código é Apache 2.0; o benchmark proíbe uso comercial.
- Quais são as melhores alternativas ao PolyUQuest?
- As alternativas mais próximas que analisamos são LightRAG, GraphRAG, RAGFlow, Graphiti e Crawl4AI.
Respostas verificadas em 9 de nov. de 2026.