"cleaning" is two jobs wearing the same name.
one must run before chunking.
one must never touch the chunks.
found the flaw by asking one question.
that was today's lesson
wanting to learn something doesn't mean learning it the right way.
you can't tell if you're on the right track.
figured out how to learn and build better.
that was today's lesson
Today's biggest lesson wasn't a concept, it was strategy.
Built my RAG across too many layers at once. When things broke, I couldn't tell where issues came from.
New rule: one layer at a time. Prove each good before moving up.
A solid lower layer makes debugging upper trivial
Day 10/365
Today, i have sub-split large chunks
Only one was able to produce a correct answer/3
The culprit remains the scoring(BM25) as it rewards keyword
Next: Working on the scoring
#RAG#LearnInPublic#LLMs#AIEngineering
Day 8/365 ๐ฅ
lesson: naive structural chunking, BM25 bias.
Split by dividers -> 35 chunks; TOC beat the definition. A smaller chunk beat the big one with the answer
BM25 rewards short chunks.
Next: attach headers, cap sections.
#RAG#LearnInPublic#LLMs#AIEngineering
Day 7/365 ๐ฅ
lesson: 3 failure modes, 1 root cause.
max_tokens=300 โ thinking ate the budget before the answer.
DeepSeek hides its thinking, so we got nothing. Nemotron shows it, so we got thoughts only.
Fix: 2500 โ 9/9 both models.
#RAG#LearnInPublic#LLMs#AIEngineering
Day 6/365 ๐ฅ
lesson: one stopword kept hijacking my BM25.
"what" appears in only 2 of 75 chunks โ huge weight โ a section beat the real answer.
Fix: strip stopwords first.
Result: hijack dead. chunk-500 answered for the first time
#RAG#buildinpublic#LLMs#AIEngineering
RAG lesson: my first retriever counted DISTINCT question words per chunk.
That meant: โ filler words weighed same as content words โก 7 mentions = 1 point โข bigger chunks got free chances โฃ constant ties, first-wins. Replaced it with BM25.
#RAG#buildinpublic#LLMs#AIDev
Day 4/365๐ฅ building RAG from scratch:
โข "chunking?" โ "chunking" โ one strip() fixed it.
โข Zero matches โ chunk #0. Return empty + score 0.
โข Free tiers: great to start, sweeps need reruns.
#BuildInPublic#AIEngineering#RAG#LLM
Day 2/365
Two lessons today
1. Chunking:
Fixed-size Splitting is simple but cuts words in half
Used overlap to preserve context
2. Keyword search:
Substring matches cause false positives
Need exact word matching
#BuildInPublic#RAG#AIEngineering
@nanimono_toyama Thanks for the support. Appreciate you rooting for the 365. Showing up is day 1, now it๏ฟฝ๏ฟฝs time to just keep executing. Letโs crush it. ๐ฅ
Officially starting my AI engineering journey today. Posting so I can't lie to myself about whether I actually showed up.
Day 1/365๐ฅ
#BuildInPublic#AIEngineering