I’ve always been a tad bit embarrassed admitting this, especially as someone who writes about tech for a living and is also majoring in computer science, but I have absolutely no idea how self-hosting works. Sure, I know what it means, but I've never really properly self-hosted anything before. Even when I have, I’ve just blindly followed a YouTube tutorial step by step, copying commands without really understanding what any of them did.

Recently, I've been hearing more and more people talk about running Large Language Models (LLMs) locally on their devices and loving it, which is essentially "self-hosting" your own AI. Even without knowing too much about the self-hosting world, I still understand the benefits that come with it: much faster performance, complete privacy, and no need for an internet connection every time you want to use it.

At the same time, I’m too intimidated to even know where to start. Every guide I’ve come across throws around technical terms like containers, models, and APIs as if everyone already knows what they mean (and I clearly don’t). So, I decided to turn to the tool I use whenever I need to study something I’m unfamiliar with: NotebookLM — to help me figure out all this self-hosting-an-LLM stuff.

Why NotebookLM felt like the right tool for this

It’ll guide you step by step

Nowadays, when you don't really know how to do something (technical or not), the best course of action is typically to turn to an AI chatbot. Like most people, my first instinct when I wasn’t sure how to go about self-hosting was to ask ChatGPT and Perplexity, and both had pretty much the same approach. They threw a bunch of information at me, compiled from various sources across the web and their own training data.

For instance, ChatGPT started off with the different setup types (local-only or server-based), and then mentioned that the next step was to install a “local runner” like Ollama, which it described as the easiest. It gave me various methods to run an LLM and even included optional steps if I wanted a web interface like ChatGPT. ChatGPT’s response included terminal commands and recommendations for compatible models. It felt like it had merged different guides and approaches into one massive, dense answer.

While I’m sure the information was certainly useful, it was way too overwhelming. I instantly knew that using an AI chatbot alone wasn’t the best approach here. A YouTube video could help, but I wouldn’t really be able to ask follow-up questions or get clarifications on the parts I didn’t understand. I realized there was only one tool that could help me here: NotebookLM. With it, I could still benefit from AI guidance, yet have much more control over the pace and structure of my learning.

The biggest benefit was that I could hand-pick the sources I wanted NotebookLM to reference to help me learn how to set up a self-hosted LLM. I managed to find a couple of guides online and YouTube videos, and uploaded them as sources to a new NotebookLM notebook.

I also added a relevant XDA article, 7 Things I Wish I Knew When I Started Self-Hosting LLMs, since I thought it would give me practical tips from someone who had already been through the process.

Once you add sources to a NotebookLM notebook, any responses you get are directly grounded in the material you’ve provided. The responses also include clickable citations, and hovering over them shows exactly where NotebookLM pulled the information from your sources, which made it incredibly easy to cross-reference and verify everything.

Here's how I set up my first self-hosted LLM with NotebookLM's help

Never thought this day would come

Once I had uploaded my sources to a NotebookLM notebook, the next step was beginning the learning process. Whenever I want to learn something new with NotebookLM's help, I don't usually turn to any of its learning tools like Audio Overviews or Mind Maps.

The very first thing I do to acquaint myself with the sources is use the Chat panel to ask questions I may have. Often, I simply ask it to summarize the entire source. In this case, I already knew I wouldn't have to use the other learning tools, as my aim here was simply to learn how to set the LLM up. So, I typed in a prompt where I explained my level of knowledge, outlining that I was a complete beginner with no prior experience in self-hosting. I asked NotebookLM to guide me step by step, using the sources I had uploaded, and to explain any technical terms in simple, easy-to-understand language. Here's the exact prompt I used:

I have absolutely no idea what self-hosting is or how to set up a self-hosted LLM. Can you walk me through how I can set up a local LLM on my Mac? Assume I’m a complete beginner and don’t know any technical jargon. I don’t want theory. I want to understand what tools or steps are actually involved, but explained simply.A couple of days ago, NotebookLM launched a new Learning Guide Chat mode, as well as the option to create your own conversational style mode. Since my goal here was to learn how to do something, I chose the Learning Guide mode, as it's designed to guide you through complex topics in a structured, step-by-step way. It also takes your current knowledge level into account, adjusting explanations so that even beginners can follow along without getting lost.

NotebookLM first began by explaining what self-hosting actually is, especially in the context of LLMs. It explained the benefits, and then, based on my complete beginner status, mentioned that my sources strongly suggested starting with LM Studio. It then briefly outlined the steps and asked me to confirm if I was ready to jump into them. NotebookLM guided me through each step with incredibly detailed instructions.

In each response, it focused on only one step and proceeded to the next only when I confirmed I was ready, which made the learning process feel manageable and well-paced. I performed the tasks right alongside it and asked any questions I had as I set up. NotebookLM helped sort out my queries instantly by referencing the sources I had uploaded.

For instance, LM Studio automatically began installing a recommended model, and NotebookLM helped me figure out if it was a good fit for my needs and whether I should proceed with it or try a different option. Minutes later, my first local AI model was up and running. I then spent some time exploring its interface and testing basic prompts to make sure everything was working correctly (it was).

I had no doubts about how helpful NotebookLM would be

I've been using NotebookLM since it was a mere Google Labs experiment, and it's yet to let me down. I know it's the best tool to turn to when learning something new, especially when the topic seems too complex to tackle alone. I'm glad I finally decided to do this, and now I have a self-hosted LLM up and running.