I recently started diving into LLMs a few weeks ago, and one thing that immediately caught me off guard was how little standardization there is across all the various pieces you would use to build a chat stack.
Want to swap out your client for a different one? Good luck - it probably expects a completely different schema. Trying a new model? Hope you're ready to deal with a different chat template. It felt like every layer had its own way of doing things, which made understanding the flow pretty frustrating for a noobie.
So I sketched out a diagram that maps out what (rough) schema is being used at each step of the process - from the initial request all the way through Ollama and an MCP server with OpenAI-compatible endpoints showing what transformations occur where.
It wrote a sad song for me in A7m that was actually quite good.
So far I've been blown away by its ability to not only understand what I'm asking, but provide decent answers and clarify something or update its answer when it's wrong.
I found myself in a similar boat (I'm a software engineer with no college degree).
I did well in school with geometry, algebra, and pre-calculus but I did so by memorizing not by understanding.
A decade later I ended up going through a lot of Khan Academy videos to refresh myself and then diving into discrete math and linear algebra textbooks. It really helped me to finally understand the core mathematical concepts that we use in programming algorithms.
> In fact, in numerous studies conducted throughout the world, consuming four or five eight-ounce cups of coffee (or about 400 milligrams of caffeine) a day has been associated with reduced death rates.
That seems like an absurd amount of coffee to drink in one day, no?
I'm also getting more into the lower-level LLM fine-tuning, training on custom chat templates, etc. which is more of where the diagram was needed.