Qu’est-ce que PolyUQuest ?
PolyUQuest répond aux questions sur un site web en conservant la structure que le découpage à plat jette. Il construit un graphe à trois couches de pages web, de blocs DOM (des sections du HTML de chaque page, limitées à environ 150 mots) et d'entités extraites, le stocke dans Neo4j avec des vecteurs dans Qdrant, et oriente chaque requête vers l'un de trois modes : recherche directe de blocs, recherche ancrée sur une page qui suit les liens, ou parcours du graphe d'entités. Un mode hybride pour les requêtes à faible confiance existe mais il est désactivé dans la configuration fournie. Les réponses citent leurs blocs sources.
Le dépôt contient la pile de service en ligne d'un groupe de la Hong Kong Polytechnic University : un backend FastAPI, une interface Next.js 14 et un benchmark de 300 questions sur le site de PolyU. L'article associé, PolyUQuest: Verifiable Structure-Aware Web RAG over Heterogeneous Graphs (arXiv 2607.08269), a été accepté dans le demo track de CIKM 2026. Par défaut, il appelle l'API de SiliconFlow pour les modèles DeepSeek et les embeddings BGE-M3, avec Qwen3-Reranker-8B pour le reranking.
Le code est sous Apache 2.0 ; le jeu de données est réservé à la recherche, à des conditions que les auteurs assimilent à CC BY-NC 4.0. Le dépôt a été créé en juin 2026, compte deux commits, le dernier du 3 novembre 2026, et aucune release.
PolyUQuest vaut-il le coup ?
PolyUQuest est un résultat de recherche bien argumenté, pas encore un outil à déployer. L'idée est juste et mal servie par les frameworks de RAG à graphe déjà répandus : les liens et la mise en page HTML d'un site sont une structure offerte, et l'ablation de l'article attribue l'essentiel de son avantage de qualité aux blocs fondés sur le DOM, plutôt qu'au graphe d'entités. Mais le dépôt compte 3 étoiles sur GitHub, deux commits et aucune release, et il est livré sans la chaîne hors ligne qui explore et indexe un site : les bases Neo4j et Qdrant démarrent vides.
Les chiffres de l'article sont solides mais déclarés par les auteurs, sur leur propre benchmark de 300 questions portant sur 4 240 pages de PolyU (31 086 blocs DOM et 29 119 entités). PolyUQuest obtient 0,644 en exactitude des réponses et 0,921 en fidélité, contre 0,610 et 0,559 pour LightRAG, avec 2 968 tokens par requête contre 29 825 pour LightRAG, et 17,5 millions de tokens pour construire l'index contre 37,4 millions. Un RAG simple par fragments atteint 0,532 d'exactitude pour 2 947 tokens. L'article ne nomme pas le modèle de langage utilisé et ne précise pas si les réponses ont été notées par des personnes ou par un modèle, ce qui rend les chiffres difficiles à reproduire.
Tel que livré, c'est un environnement de développement. Le serveur FastAPI écoute sur 0.0.0.0, avec rechargement automatique et sans authentification sur /api/query. Le fichier docker-compose.yml publie Neo4j et Qdrant sur toutes les interfaces, avec un mot de passe Neo4j inscrit dans le fichier et les procédures APOC et Graph Data Science sans restriction. Chaque requête part en outre chez SiliconFlow, un fournisseur d'API chinois, pour le routage, les embeddings, la reformulation des requêtes et le reranking, sauf si vous changez de fournisseur ; DeepSeek et Qwen sont les alternatives documentées, et les embeddings peuvent tourner en local avec BGE-M3.
LightRAG et Microsoft GraphRAG, tous deux chroniqués ici, indexent n'importe quelle collection de documents et publient des releases maintenues ; PolyUQuest vise les sites HTML et n'a été évalué que sur un seul. Neo4j et Graphiti sont une infrastructure sur laquelle il pourrait reposer plutôt que des rivaux. Sa leçon la plus utile, à savoir que découper les pages selon leur DOM avant de les vectoriser bat à la fois les fragments à plat et les graphes plus lourds, mérite d'être reprise dans une chaîne existante bien avant que ce code soit prêt à être adopté.
Là où il fait la différence
Une chercheuse en recherche d'information qui compare des méthodes de RAG à graphe
Comparer une nouvelle méthode à un RAG web structuré sur un jeu de test publié
python -m agent_rag.evaluation --validate-only vérifie les 300 questions sans aucun service, et le mode replay note les sorties de votre propre système sur des métriques de segments de réponse. Les m étriques au niveau des blocs exigent le corpus 20260523 des auteurs, absent du dépôt : une comparaison directe avec PolyUQuest lui-même n'est donc pas encore possible.
L'équipe web d'une université avec quelques milliers de pages sur les formations et les admissions
Prototyper un assistant de questions-réponses pour étudiants qui cite la section exacte de page derrière chaque réponse
Le routeur, les modes de recherche et l'interface de chat Next.js servent de référence. Les modules d'exploration et d'extraction d'entités sont dans le code, mais pas la chaîne qui les charge dans Neo4j et Qdrant : l'équipe assemble sa propre construction ; les 17,5 millions de tokens de construction de l'article pour 4 240 pages donnent un budget approximatif. Ajoutez une authentification et fermez les ports des bases avant d'ouvrir l'accès aux étudiants.
Un ingénieur qui fait tourner LightRAG sur la documentation d'un produit
Réduire les tokens au moment de répondre sans perdre en fidélité
Reprenez la conclusion plutôt que le code : découpez les pages selon leur structure HTML en blocs d'environ 150 mots avant l'indexation. L'ablation de l'article attribue à cette étape l'essentiel de l'avance de PolyUQuest, et elle ne demande aucune nouvelle base de données.
Avant de vous engager
- Mise en route
- Copiez .env.example et ajoutez une clé SiliconFlow, docker-compose up -d pour Neo4j et Qdrant, uv sync et uv run agent-rag-serve, puis npm run dev dans frontend/. Nécessite Python 3.11+, Node 18+ et Docker ; pas de GPU avec les réglages d'API par défaut. Les bases démarrent vides.
- Intégrations
- Neo4j 5 Community avec APOC et Graph Data Science, Qdrant, API SiliconFlow, DeepSeek ou Qwen, embeddings BGE-M3 par API ou en local, Qwen3-Reranker-8B via SiliconFlow et Firecrawl en option pour les pages rendues en JavaScript. Points d'accès REST /api/query, /api/graph/stats et /api/health.
- Données et confidentialité
- Les requêtes et le texte des pages partent vers les API de LLM, d'embeddings et de reranking configurées (SiliconFlow par défaut). Le serveur écoute sur 0.0.0.0 sans authentification ; les ports de Neo4j et Qdrant sont publiés avec un mot de passe par défaut versionné. Code sous Apache 2.0 ; le benchmark interdit l'usage commercial.
- Coût à grande échelle
- Pas d'édition payante. L'article indique 17,5 millions de tokens LLM pour indexer 4 240 pages et environ 2 968 tokens par requête ; le dépôt ne donne pas de prix d'API. L'auto-hébergement ajoute des serveurs Neo4j et Qdrant, plus des GPU si les modèles tournent en local.
- Limites
- Chaîne d'indexation non publiée ; deux commits, aucune release et aucune issue ouverte ; le routage hybride est désactivé dans la configuration fournie ; évalué sur un seul site universitaire ; les identifiants de blocs de référence du jeu de données ne se résolvent que sur le corpus non publié des auteurs.
Les points forts
- Exploite les liens et la structure HTML que le découpage à plat ignore
- L'article annonce 0,921 de fidélité contre 0,559 pour LightRAG
- Environ un dixième des tokens par requête de LightRAG dans les tests de l'article
- Fournit un benchmark de 300 questions et un outil d'ablation
Les points faibles
- Pas de chaîne hors ligne d'exploration et d'indexation
- 3 étoiles, deux commits et aucune release
- Pas d'authentification sur l'API ; bases exposées avec un mot de passe versionné
- Résultats autodéclarés et benchmark non commercial
Idéal pour
Les chercheurs et équipes web universitaires qui étudient la recherche d'information tenant compte de la structure des sites HTML, plutôt que les équipes qui ont besoin d'un RAG en production.
Alternatives à PolyUQuest
PolyUQuest : questions fréquentes
- PolyUQuest vaut-il le coup ?
- Un article astucieux sur l'usage de la structure propre d'un site web pour le RAG, publié sous forme de code de service qui ne sait pas encore indexer votre site. Nous lui donnons 3.0 sur 5.
- Combien coûte PolyUQuest ?
- Gratuit et open source sous Apache 2.0 ; le benchmark fourni est réservé à la recherche. Les requêtes et l'indexation consomment vos propres crédits d'API LLM, d'embeddings et de reranking (SiliconFlow par défaut).
- Quels sont les inconvénients de PolyUQuest ?
- Pas de chaîne hors ligne d'exploration et d'indexation; 3 étoiles, deux commits et aucune release; pas d'authentification sur l'API ; bases exposées avec un mot de passe versionné; résultats autodéclarés et benchmark non commercial.
- À qui s’adresse PolyUQuest ?
- Les chercheurs et équipes web universitaires qui étudient la recherche d'information tenant compte de la structure des sites HTML, plutôt que les équipes qui ont besoin d'un RAG en production.
- Combien coûte PolyUQuest pour une équipe ou en production ?
- Pas d'édition payante. L'article indique 17,5 millions de tokens LLM pour indexer 4 240 pages et environ 2 968 tokens par requête ; le dépôt ne donne pas de prix d'API. L'auto-hébergement ajoute des serveurs Neo4j et Qdrant, plus des GPU si les modèles tournent en local.
- PolyUQuest est-il sûr pour les données de l’entreprise ?
- Les requêtes et le texte des pages partent vers les API de LLM, d'embeddings et de reranking configurées (SiliconFlow par défaut). Le serveur écoute sur 0.0.0.0 sans authentification ; les ports de Neo4j et Qdrant sont publiés avec un mot de passe par défaut versionné. Code sous Apache 2.0 ; le benchmark interdit l'usage commercial.
- Quelles sont les meilleures alternatives à PolyUQuest ?
- Les alternatives les plus proches que nous avons testées sont LightRAG, GraphRAG, RAGFlow, Graphiti et Crawl4AI.
Réponses vérifiées le 9 nov. 2026.