History
Welcome to History!
A community dedicated to sharing and discussing fascinating historical facts from all periods and regions.
Rules:
-
Post about history. Ask a question about the past, share a link to an article about something historical, or talk about something related to history that interests you. Discussion is encouraged.
-
No memes. No ads. No promos. No politics. No spam.
-
No porn.
-
We like facts and reliable sources here. While sources like Quora/Reddit/Wikipedia can be great tools for quick searches, we do not allow such user-generated content as primary source. What’s wrong with Wikipedia?
NOTE: Personal attacks and insults will not be tolerated. Stick to talking about the historical topic at hand in your comments. Insults and personal attacks will get you an immediate ban.
view the rest of the comments
@queerlilhayseed@piefed.blahaj.zone Thanks for the positive response! You basically named the two hurdles that ate most of my development time on my projects system.
On the counting/nondeterminism thing: the trick was giving up on the LLM as a "knower" entirely and treating it as nothing more than a reader. So if I want to know how many times grass shows up in some sprawling Tolkien-esque passage, I'm not asking the model "how many times does grass appear" and hoping for the best. I use it to pull out and tag the relevant sentences into a structured database, and then a dumb, boring, deterministic Python script does the actual counting. Temperature's pinned at 0, and I force it to hand back verbatim quotes with citations instead of letting it synthesize a summary. That alone killed most of the hallucination problem.
The "systemic wrongness" side (bias, basically the model just inventing stuff) came down to hybrid search, meaning keyword/BM25 alongside vector embeddings. Pure semantic search will absolutely whiff on a weirdly named character or a specific term just because it doesn't "feel" semantically close to the query, so having the keyword layer as a backstop matters a lot. And I'm strict about grounding: no direct source quote from retrieval means the system says "I don't know" instead of guessing. It's not allowed to fill gaps with vibes.
Your instinct about cataloging prompts was right on too. I keep a golden dataset of queries I run every time I touch the system, and rather than some vague overall correctness score, I bucket failures by type: was it a retrieval failure or a synthesis failure. That distinction alone tells you whether the fix is in your chunking strategy or your prompting, instead of just flailing at both.
Honestly the tools have come a long way since you last looked at this stuff, and I think it's mostly a philosophy shift. People stopped treating LLMs like databases and started treating them like interfaces sitting in front of one.