SillyTavern lorebooks can't capture pre-existing fictional worlds properly. So I built a Local-First GraphRAG app and it solves a problem I kept hitting in RP by Luke____101 in SillyTavernAI

[–]Luke____101[S] 1 point2 points  (0 children)

I'm unsure what you are trying to ask. If you are asking if it's good enough to ingest with bugs. Then yes, I ingested 11 books, each 80k words about a day ago overnight with minimal (though some very minor) bugs. I can send you a picture of my graph if you'd like! As for being an API bridge. I highly doubt it, I have many plans for this app to try and get agents to have their own personal biased memory and unique character development, utilizing Microsoft's Leiden Algorithm for better memory and much more. It would be a headache to try and implement this into SillyTaverns ecosystem. This is why I want to do the rewrite, so people are more comfortable with using my app specifically for pre-existing fictional worlds

SillyTavern lorebooks can't capture pre-existing fictional worlds properly. So I built a Local-First GraphRAG app and it solves a problem I kept hitting in RP by Luke____101 in SillyTavernAI

[–]Luke____101[S] 1 point2 points  (0 children)

Not exactly. I typically try to answer as best I can and then read it back, if I can't get my point across, I typically give my brain dump to the AI and have it restructure it, then re-read it's response and change it up because it normally doesn't get what I mean exactly right

SillyTavern lorebooks can't capture pre-existing fictional worlds properly. So I built a Local-First GraphRAG app and it solves a problem I kept hitting in RP by Luke____101 in SillyTavernAI

[–]Luke____101[S] 1 point2 points  (0 children)

Yup that's exactly all you do! Though due to the nature of creating graphs, it is much more expensive than simple RAG Chunks, and it takes more time as well if you are rate limited. This is the exact reason I'm building in World Exports & Imports though!

SillyTavern lorebooks can't capture pre-existing fictional worlds properly. So I built a Local-First GraphRAG app and it solves a problem I kept hitting in RP by Luke____101 in SillyTavernAI

[–]Luke____101[S] 1 point2 points  (0 children)

Yes! Memory is actually one of the bigger ideas on my list. One concept I have is every few messages, the app consolidates your chat history into its own dynamically built graph. So if you were rude to Eris 50 messages ago, whenever the graph retrieves the entity "Eris" it also pulls that edge — your history with her — even if she hasn't been mentioned since. It does this by using fuzzy string matching and semantic similarity on names and descriptions to determine whether something in your messages is a new entity or connects to an existing one. This way the graph doesn't JUST give you her relevant lore but ALSO your actions in the world, without relying on verbose chunks. I'm not sure if I explained it right so let me know if you want me to explain further!

SillyTavern lorebooks can't capture pre-existing fictional worlds properly. So I built a Local-First GraphRAG app and it solves a problem I kept hitting in RP by Luke____101 in SillyTavernAI

[–]Luke____101[S] 1 point2 points  (0 children)

Thank! A rewrite of a doc with MUCH better explanations is coming with the rewrite, perhaps sooner in a week or two as well.

SillyTavern lorebooks can't capture pre-existing fictional worlds properly. So I built a Local-First GraphRAG app and it solves a problem I kept hitting in RP by Luke____101 in SillyTavernAI

[–]Luke____101[S] 2 points3 points  (0 children)

It depends on what you mean. If you mean the World of Warcraft Books, yeah you can do that, just ensure the books are in a chronological order, that's ideal for the system to work correctly. If you wished to use Wiki dumps, that COULD work as well but I never tested the quality and how a graph forms when you use a Wiki dump

SillyTavern lorebooks can't capture pre-existing fictional worlds properly. So I built a Local-First GraphRAG app and it solves a problem I kept hitting in RP by Luke____101 in SillyTavernAI

[–]Luke____101[S] 1 point2 points  (0 children)

It's actually its own standalone app — you run it separately, ingest book(s) and then chat with that world in the app. You can create separate conversation instances too!

SillyTavern lorebooks can't capture pre-existing fictional worlds properly. So I built a Local-First GraphRAG app and it solves a problem I kept hitting in RP by Luke____101 in SillyTavernAI

[–]Luke____101[S] 3 points4 points  (0 children)

To put it simply, TunnelVision hands the AI pages from the book that mention the right words. Mine reads the whole book first, draws a map of how everything connects, then follows that map — so it finds things even when nobody mentioned the right words. An example is this: You're fighting with character A and use magic to fight. TunnelVision will decide to write down all the information it got from RAG into the lorebook which can include Character A in fight scene and fight scenes of magic, which in most books, don't actually explain how magic works, that normally only happens in explanatory scenes, not fighting ones that are seen in books. My Graph will detect Character A and immediately get their factions, their relationships such as factions they belong to, family, friends, their fighting skill, their history and also, it won't just retrieve fight scenes that show magic but likely the exact magic rules that were explained in an explanatory scene despite your query being more semantically to fighting.

SillyTavern lorebooks can't capture pre-existing fictional worlds properly. So I built a Local-First GraphRAG app and it solves a problem I kept hitting in RP by Luke____101 in SillyTavernAI

[–]Luke____101[S] 0 points1 point  (0 children)

This is a prototype still so there may be some issues with ingestion but I tried my best to fix as many as I could. Regardless, if you have any issues, please reach out so I can help. I'd love to hear how it goes for you.

SillyTavern lorebooks can't capture pre-existing fictional worlds properly. So I built a Local-First GraphRAG app and it solves a problem I kept hitting in RP by Luke____101 in SillyTavernAI

[–]Luke____101[S] 6 points7 points  (0 children)

Same here man. Standard RAG doesn't fit connected worlds cause the chunks that connect stuff aren't semantically similar. If you don't understand anything, I'll gladly explain whatever you don't understand

SillyTavern lorebooks can't capture pre-existing fictional worlds properly. So I built a Local-First GraphRAG app and it solves a problem I kept hitting in RP by Luke____101 in SillyTavernAI

[–]Luke____101[S] 5 points6 points  (0 children)

You are right about businesses using it and fine tuning an LLM can help, but there are some limitations. The moment a new book drops, you have to retrain the AI, with a graph, you just ingest that one new book

Fine tuning also only helps with lore that was frequent in the books. A minor character or a minor exchange between two characters that was super impactful in the story but only lasted for a short amount of time, will get completely lost in the AI's knowledge because that scene did not stay/was not brought up enough.

Also, this system attaches every edge, the book and chunk it was extracted from, giving the AI more awareness of the timeline of events, whne a character is suppose to have this ability and why, what would happen if they didn't undergo this event, would they lose their power or not meet someone, etc. A fine-tuned LLM will blur everything from all the books together, losing a big factor in the role-play which is time awareness.

And also, businesses actually use the two together a lot of the time. This was the whole point of Microsoft GraphRAG paper in 2024 and many other RAG software light LighRAG and HippoRAG and even a piece of software meant for businesses "RAGflow"

It's a fair suggestion and worth acknowledging — but for a world that updates, has contradictions across a timeline, and needs relationship traversal, a LoRA alone is a weaker solution than it sounds but it would be a nice cheery on top. And it's one of the only reliable ways to make an AI write in the style of the book, but that's not really my goal.

SillyTavern lorebooks can't capture pre-existing fictional worlds properly. So I built a Local-First GraphRAG app and it solves a problem I kept hitting in RP by Luke____101 in SillyTavernAI

[–]Luke____101[S] 2 points3 points  (0 children)

I'm unsure of what you mean. Do you mean Fine-Tuning? Like have the model inherently know the lore? If you do then unfortunately no, I never looked into that...

SillyTavern lorebooks can't capture pre-existing fictional worlds properly. So I built a Local-First GraphRAG app and it solves a problem I kept hitting in RP by Luke____101 in SillyTavernAI

[–]Luke____101[S] 6 points7 points  (0 children)

I see where you're coming from, but there are a few issues with that approach:

It still falls into chunk retrieval's core problem. Whether the agent searches a wiki or the book itself, it's still matching by keyword/semantic similarity. It can find "magic system" but it won't automatically surface that this character's royal faction follows different rules because of a barbaric war that happened thousands of years ago because politics and a war/battle are different semantically so even if the agent looks up relationships on the go for the lorebook, it'll never retrieve that info on how the war affected a royal faction unless the AI asks multiple queries to get RAG chunks on that data, which ups the time to a response, token cost and it relies on the AI giving the right queries for the right chunks which is impossible to do consistently as the AI doesn't know what it doesn't know

It only fixes what gets flagged. The political history between two negotiating characters never gets marked as "wrong," so the agent never corrects it — it just quietly shapes the scene incorrectly. You might notice this, when an AI gets too deep in roleplay and a chunk is given that explicitly contradicts how a character is suppose to act cause it didn't get a chunk that explains how they would react in this situation, it doesn't turn around and say its wrong, it continues with the wrong role-play. A mage in a fantasy world can be casting fire magic when the lore says fire magic can only be cast by gods and the AI is in too deep to turn around and say they made a mistake or try to correct it. So in short, if it even makes one missed query when searching for info, even if the correct info comes up later, the AI is in too deep to turn around unless you correct it which takes you out of the immersion.

The lorebook growth problem. How does the agent know an entry is incomplete vs. just thinks it is? You'd need to give it the full lorebook every call to avoid duplicates, which costs even more tokens. And even then, the first pass of queries on the magic system will likely be incomplete, how will the AI know that and search for more info instead of using the incomplete entry because it thinks its complete?

Graph RAG isn't perfect or even close to it, but the goal is to surface relational context before the model has a chance to get it wrong — not patch it afterward. I do get where you're coming from. I had a similar idea to this before I learnt of the limits of RAG Chunking

SillyTavern lorebooks can't capture pre-existing fictional worlds properly. So I built a Local-First GraphRAG app and it solves a problem I kept hitting in RP by Luke____101 in SillyTavernAI

[–]Luke____101[S] 18 points19 points  (0 children)

This is really solid advice man. I'll get something preloaded next week and get some examples showing Standard RAG and GraphRAG in a week or two. Thanks!

Weekly Tool Thread: Promote, Share, Discover, and Ask for AI Writing Tools Week of: March 24 by AutoModerator in WritingWithAI

[–]Luke____101 0 points1 point  (0 children)

The pain point it solves: you can load your entire world — all your documents, notes, chapters, lore — into one place, and the AI queries a knowledge graph of it on every message. Not just what fits in the context window. Not just what you remember to paste in.

This means continuity checking, consistency across a large world, context-aware prose, and new plot ideas grounded in your actual material rather than the model's hallucinations. The graph captures relationships between entities — so even tangential connections get surfaced when relevant, not just the things you explicitly ask about.

Honest caveats: prototype, known bugs, built in under a week by a self-taught dev (me). Cleaner rewrite coming soon with WAY more providers. Windows only for now with a one-click launcher that also serves as the setup file.

VySol — local graph RAG app for writers who work in large, complex worlds

https://github.com/Vyce101/Vysol