I tried "The Wise Man's Fear" and the results were not so great[1]. It got a good number of the characters, but only showed them being related to Kvothe. Harry potter worked better'ish, but still not great[2].<p>My primary interest would be using these relational graphs to generate better structured summaries of stories in a structured JSON object for improved search/recommendations.<p>- [1]<a href="https://austen.pages.dev/ecbc2d49-c10d-4e49-ac68-0d37a819b526" rel="nofollow">https://austen.pages.dev/ecbc2d49-c10d-4e49-ac68-0d37a819b52...</a><p>- [2]<a href="https://austen.pages.dev/ace16c1d-c74e-4737-a98d-5401047a1cdb" rel="nofollow">https://austen.pages.dev/ace16c1d-c74e-4737-a98d-5401047a1cd...</a>
The system prompt can be found here:<p><a href="https://github.com/herol3oy/austen/blob/main/src/server/routes/v1/getMermaidSyntax.ts">https://github.com/herol3oy/austen/blob/main/src/server/rout...</a><p>It would be more interesting if the graph could be generated by sourcing an arbitrary epub file into a RAG and have it figure out character relations without reading the whole book.<p>I wouldn't be surprised if it all could be done with a script using aichat[1] and rendering the diagram using graphviz.<p>[1] <a href="https://github.com/sigoden/aichat">https://github.com/sigoden/aichat</a>
For anyone vibe checking the results:<p><a href="https://novelchallenge.github.io/" rel="nofollow">https://novelchallenge.github.io/</a><p>At best you’re looking at 60% or so accuracy
I did Dungeon Crawler Carl - hilariously wrong<p>graph TD
A[Carl] -->|Pet| B[Princess Donut]
A -->|Enemy| C[Mordecai]
A -->|Allies| D[Ellie]
A -->|Allies| E[Katia]
A -->|Enemy| F[The System]
B -->|Rival| G[Bea]
D -->|Friend| E
E -->|Friend| A
Hi, I created the app. I appreciate all of your comments. I know some may find the result of a book not concise or accurate. One issue was that I couldn't afford the price of a better LM service. At first, I tried a free tier of Gemini, but its results were disappointing. Later, I switched to DeepSeek and got better results.
I tried One Hundred Years of Solitude, which has a family tree before main text. Wish the app mentioned the 17 illegitimate sons, all with same name Aureliano.
Cool idea, but from my tests it seems like the LLM needs more grounding since it misses lots of characters. Maybe a list of the actual characters in the story?<p>I had the same problem with <a href="https://timelines.0xmmo.co" rel="nofollow">https://timelines.0xmmo.co</a> where I had to ground it in Wikipedia articles.
Neat! Putting in reference books gives you a nice overview of the book's contents. Fun to think of database transactions as a character with relationships.<p><a href="https://austen.pages.dev/c2276990-1f2a-40e6-bd26-0cabb55d7132" rel="nofollow">https://austen.pages.dev/c2276990-1f2a-40e6-bd26-0cabb55d713...</a>
Nice idea but the results weren't comprehensive for the book I tested. I find that chatgpt with web search enabled does a better job with the simple prompt "Create a relationship diagram for the characters in <BOOK TITLE> using mermaidjs. Include the relationships between people."
It would be neat if this could handle spoilers. Imagine a friend becomes an enemy 75% of the way through the book. Would there be some way to say "What are the character relationships - I'm on chapter 7 right now"?
I tried Circe.<p>It said Circe --Daughter--> Helios. So I thought oh it's supposed to be "Circe is Helios' daughter" but then it had Circe --Brother--> Aeetes and Circe --Mentor-->Hermes.
LLMs make it really trivial to work with MermaidJS. Just yesterday I used it to sketch out some business logic. Seeing the whole flowchart like that helped me catch some corner cases.
How does that deal with the important fact that a lot of stories are about relationships changing over time? A enemy can become a friend and vice versa.
Are story relationship diagrams of this kind a common thing that the OP's tool produces automatically, or did he devise both the tool and the diagram?
Wild that I was daydreaming earlier today about generating some diagrams with mermaid to show the plot and characters over the lifetime of a tv series!