Skip to content
ReviewRamble

The weekly brief

AI, reviewed, in your inbox.

  • New reviews of tools, models, MCP servers and repos, with the verdict up front
  • Re-checked prices and ratings when something changes
  • New analysis pieces as they are published

Models, agents, MCP servers and the tools actually worth your time.

One email a week. Unsubscribe with the link in any brief. How we use your email

PolyUQuest

Research code for a CIKM 2026 demo: graph RAG over university websites that keeps page links and HTML structure.

Reviewed by ReviewRamble editors · Updated

View on GitHub Open source

Our rating

3.0/5

A smart paper about using a website's own structure for RAG, released as serving code that cannot yet index your site.

What is PolyUQuest?

PolyUQuest answers questions about a website by keeping the structure that flat chunking throws away. It builds a three-layer graph of web pages, DOM blocks (sections of each page's HTML, capped at about 150 words) and extracted entities, stores it in Neo4j with vectors in Qdrant, and routes each query to one of three modes: direct block search, page-anchored search that follows links, or entity-graph traversal. A hybrid of modes for low-confidence queries exists but is switched off in the shipped config. Answers cite their source blocks.

The repo is the online serving stack from a Hong Kong Polytechnic University group: a FastAPI backend, a Next.js 14 front end and a 300-question benchmark over the PolyU website. The accompanying paper, PolyUQuest: Verifiable Structure-Aware Web RAG over Heterogeneous Graphs (arXiv 2607.08269), was accepted to the CIKM 2026 demo track. Defaults call SiliconFlow's API for DeepSeek models and BGE-M3 embeddings, with Qwen3-Reranker-8B for reranking.

The code is Apache 2.0; the dataset is for research use only, on terms the authors equate to CC BY-NC 4.0. The repo was created in June 2026, has two commits, the latest on 3 November 2026, and no releases.

Is PolyUQuest worth it?

PolyUQuest is a well-argued research result, not yet something to deploy. Its idea is sound and under-served by the graph RAG frameworks people already use: a website's links and HTML layout are structure you get for free, and the paper's ablation says DOM-aware blocks, rather than the entity graph, account for most of its quality advantage. But the repository has 3 GitHub stars, two commits and no releases, and it ships without the offline pipeline that crawls and indexes a site, so the Neo4j and Qdrant stores start empty.

The paper's numbers are strong but self-reported, on the authors' own benchmark of 300 questions over 4,240 PolyU pages (31,086 DOM blocks and 29,119 entities). PolyUQuest scored 0.644 on answer correctness and 0.921 on faithfulness against 0.610 and 0.559 for LightRAG, while using 2,968 tokens per query to LightRAG's 29,825 and 17.5 million tokens to build its index against 37.4 million. Plain chunked RAG reached 0.532 correctness at 2,947 tokens. The paper does not name the language model used or say whether answers were scored by people or by a model, which makes the figures hard to reproduce.

As shipped, it is a development setup. The FastAPI server binds to 0.0.0.0 with auto-reload on and no authentication on /api/query. The docker-compose.yml publishes Neo4j and Qdrant on all interfaces, with a Neo4j password committed in the file and the APOC and Graph Data Science procedures unrestricted. Every query also goes to SiliconFlow, a Chinese API provider, for routing, embeddings, query rewriting and reranking unless you switch; DeepSeek and Qwen are the documented alternatives, and embeddings can run locally on BGE-M3.

LightRAG and Microsoft GraphRAG, both reviewed here, index any document collection and ship maintained releases; PolyUQuest targets HTML sites and has been evaluated on one. Neo4j and Graphiti are infrastructure it could sit on rather than rivals. Its most useful lesson, that splitting pages along their DOM before embedding beats both flat chunks and heavier graphs, is worth borrowing into an existing pipeline long before this codebase is ready to adopt.

Where it earns its place

  • A retrieval researcher benchmarking graph RAG methods

    Compare a new method against structure-aware web RAG on a published test set

    python -m agent_rag.evaluation --validate-only checks the 300 questions without any services, and replay mode scores your own system's outputs on answer-span metrics. Block-level metrics need the authors' corpus build 20260523, which is not in the repo, so a like-for-like run against PolyUQuest itself is not yet possible.

  • A web team at a university with a few thousand pages of course and admissions content

    Prototype a student Q&A assistant that cites the exact page section behind each answer

    The router, retrieval modes and Next.js chat UI work as a reference. Crawler and entity-extraction modules sit in the source, but the pipeline that runs them into Neo4j and Qdrant does not, so the team assembles its own build; the paper's 17.5 million build tokens for 4,240 pages give a rough budget. Add authentication and close the database ports before students get access.

  • An engineer running LightRAG over a product documentation site

    Cut answer-time tokens without losing faithfulness

    Borrow the finding rather than the code: split pages along their HTML structure into blocks of about 150 words before indexing. The paper's ablation attributes most of PolyUQuest's gain to that step, and it needs no new database.

Before you commit

Setup
Copy .env.example and add a SiliconFlow key, docker-compose up -d for Neo4j and Qdrant, uv sync and uv run agent-rag-serve, then npm run dev in frontend/. Needs Python 3.11+, Node 18+ and Docker; no GPU with the API defaults. The stores start empty.
Integrations
Neo4j 5 Community with APOC and Graph Data Science, Qdrant, SiliconFlow, DeepSeek or Qwen APIs, BGE-M3 embeddings by API or locally, Qwen3-Reranker-8B via SiliconFlow and optional Firecrawl for JavaScript-rendered pages. REST endpoints /api/query, /api/graph/stats and /api/health.
Data and privacy
Queries and page text go to the configured LLM, embedding and reranker APIs (SiliconFlow by default). The server binds to 0.0.0.0 with no auth; Neo4j and Qdrant ports are published with a committed default password. Code is Apache 2.0; the benchmark forbids commercial use.
Cost at scale
No paid edition. The paper reports 17.5 million LLM tokens to index 4,240 pages and about 2,968 tokens per query; API prices are not given in the repo. Self-hosting adds Neo4j and Qdrant servers, plus GPUs if you run the models locally.
Limits
Indexing pipeline not released; two commits, no releases and no issues filed; hybrid routing is off in the shipped config; evaluated on one university site; the dataset's gold block IDs only resolve against the authors' unreleased corpus build.

What’s good

  • Uses page links and HTML structure that flat chunking discards
  • Paper reports 0.921 faithfulness against 0.559 for LightRAG
  • About a tenth of LightRAG's tokens per query in the paper's tests
  • Ships a 300-question benchmark and an ablation harness

What’s not

  • Offline crawl and indexing pipeline not included
  • 3 stars, two commits and no releases
  • No API authentication; databases exposed with a committed password
  • Results are self-reported and the benchmark is non-commercial

Best for

Researchers and university web teams studying structure-aware retrieval over HTML sites, rather than teams that need a production RAG system.

PolyUQuest alternatives

PolyUQuest: common questions

Is PolyUQuest worth it?
A smart paper about using a website's own structure for RAG, released as serving code that cannot yet index your site. We rate it 3.0 out of 5.
How much does PolyUQuest cost?
Free and open source under Apache 2.0; the bundled benchmark is research use only. Queries and indexing use your own LLM, embedding and reranker API credits (SiliconFlow by default).
What are the downsides of PolyUQuest?
Offline crawl and indexing pipeline not included; 3 stars, two commits and no releases; no API authentication; databases exposed with a committed password; results are self-reported and the benchmark is non-commercial.
Who is PolyUQuest best for?
Researchers and university web teams studying structure-aware retrieval over HTML sites, rather than teams that need a production RAG system.
How much does PolyUQuest cost for a team or in production?
No paid edition. The paper reports 17.5 million LLM tokens to index 4,240 pages and about 2,968 tokens per query; API prices are not given in the repo. Self-hosting adds Neo4j and Qdrant servers, plus GPUs if you run the models locally.
Is PolyUQuest safe for company data?
Queries and page text go to the configured LLM, embedding and reranker APIs (SiliconFlow by default). The server binds to 0.0.0.0 with no auth; Neo4j and Qdrant ports are published with a committed default password. Code is Apache 2.0; the benchmark forbids commercial use.
What are the best PolyUQuest alternatives?
The closest alternatives we have reviewed are LightRAG, GraphRAG, RAGFlow, Graphiti and Crawl4AI.

Answers checked Nov 9, 2026.