Des graphes de connaissances qui citent la page dont ils proviennent.
LoreGraph transforme un roman, une pièce, un scénario ou un livret en graphe interrogeable : personnages, objets, événements, concepts, et les relations typées qui les lient. Chaque assertion porte un evidence_span, donc un clic sur une relation vous mène à la phrase dont elle vient.
Un graphe qui invente une relation en silence est pire qu’aucun graphe.
La plupart des outils qui tirent un graphe de connaissances d’un texte extraient des triplets et vous demandent de leur faire confiance. Pour la fiction, c’est rédhibitoire. LoreGraph s’en tient à une seule règle : chaque assertion extraite porte un evidence_span, une sous-chaîne littérale de la source, et la passe de vérification rejette toute assertion dont la portée n’est pas littérale à 95 %.
que le texte devant lui.
On lui demande, explicitement,
d’oublier l’Elizabeth Bennet
qu’il connaît déjà.
L’ingénierie s’est appuyée sur ces projets. Le corpus provient de sources publiques.
Intransigeant sur les preuves, souple sur les modèles.
Lire Splink, ComEM et GraphRAG a réglé quatre points : un verrou de preuve littérale, une résolution d’entités qui fonctionne d’une écriture à l’autre, des commits par passe avec reprise idempotente, et un client qui n’est lié à aucun fournisseur.
Chaque assertion
cite sa ligne
L’extracteur écrit un evidence_span au fil de l’extraction, et la passe de vérification élimine tout ce qui passe sous 95 % de correspondance littérale.
Rien que le texte
sous ses yeux
On demande au modèle d’oublier l’Elizabeth Bennet ou le 孫悟空 qu’il connaît déjà, et de rapporter ce que dit ce livre-ci.
Un livre, cinq vues, un seul graphe en dessous.

Graph
Un réseau de personnages, objets, événements et concepts en disposition dirigée par les forces. Survolez une arête pour voir la ligne source.

Timeline
Les événements du récit dans l’ordre de lecture. Le graphe porte le temps du récit sur chaque fait.
Huit passes, du texte brut à une assertion vérifiable.
Les passes 1 et 4 sont déterministes. Les passes 2, 3, 5, 6 et 8 appellent un modèle. La passe 7 est un verrou, pas une suggestion. Chaque passe commite pour son compte : une exécution interrompue reprend avec --from N et rien n’est écrit deux fois.
Découpage →
Découpage déterministe et conscient des chapitres, qui lit aussi bien les titres anglais que les 第N回. Chaque fragment reçoit une position dans le temps global du récit.

Extraction →
Mentions typées, résolution d’entités (blocage lexical puis kNN sur embeddings, appariement par lots), coréférence, cinq relations typées, et les faits qu’elles impliquent.

Vérification →
Vérification en chaîne. Toute assertion dont la portée de preuve n’est pas une correspondance littérale de la source est éliminée ici. Le seuil est de 95 %.

Fiche
Une fiche hybride par entité : faits et inférences en colonnes séparées, chaque inférence assortie d’une confiance, d’un sous-type et d’un niveau d’importance.

Romans, pièces, opéras, premiers films
Orgueil et Préjugés, La Pérégrination vers l’Ouest, Crime et Châtiment, Faust, Les Misérables et quatre-vingts autres, en onze langues. Le texte source reste dans son écriture d’origine ; rien n’est translittéré.

Les textes sources ne sont jamais versionnés
data/books/ est ignoré par git. Seules les données dérivées sont publiées : le graphe, de courts extraits de preuve relevant du fair use, les fiches. Le texte intégral n’est livré que pour les œuvres du domaine public ; les œuvres encore sous droits sont traitées en local.

Trois commandes et votre livre a son graphe.
uv sync, puis alembic upgrade head sur un Postgres 16+ avec pgvector, puis loregraph ingest et loregraph extract. Une seule clé OpenRouter suffit. Un roman de taille moyenne passe en quelques minutes plutôt qu’en heures, et un plafond de 20 $ par livre est appliqué entre les passes.


