Ever wondered what it would be like to have your own private ChatGPT? I recently set one up, completely free, running right on my laptop. While it’s not quite as sophisticated as ChatGPT or Claude (they’ve got massive datasets I can’t match), it’s fast, private, and pretty impressive for something I was able to get working in under half an hour.
Why did I do this? Two reasons: First, I’m a hands-on learner when it comes to new tech, and AI is something I want to understand better. Second, with so many companies launching AI products these days, I wanted to know what’s actually hard to build versus what’s relatively simple. Turns out, you can get surprisingly far with the open source tools available!
Want to Try This Yourself?
You’ll need three tools, all free for personal use:
- Docker, to run Open WebUI (and possibly Ollama) in a container
- Ollama, to download and run open source LLMs
- Open WebUI provides the chat interface, an easy way to download new LLMs, and a ton of configuration options
Pro tip: I initially installed Ollama separately, but you can save time by getting it bundled with Open WebUI.
After that, the following should get you to your first chat:
- Browse to localhost:3000
- Set up an account—this will give you administrator privileges
- The below image illustrates these next steps:
- Browse to Admin Panel
- Find Settings in the top menu
- Then select Models from the second side menu
- In the “Pull a model from Ollama.com” field, type the name of any model from the Ollama library. I started with llama3.1.
- Click the download button
- Hit the “New chat” button and you’re ready to go! (Note: pulling a model from Ollama did fail on me last time I tried, but I just hit the download button again and it sorted itself out.)
Fair warning: If you’ve never used Docker or run web services before, there might be a bit of a learning curve. But if you’ve got a relatively modern computer, you should be able to get this running. Just keep in mind that updates and maintenance might require some technical know-how.
Choosing an AI Model
I’m running this on a MacBook Pro (M1 chip, 32GB RAM, 500GB hard drive). So far, I’ve tried Llama 3.1 and 3.2. As expected, the larger model (3.1) gives better results thanks to its bigger training dataset. From what I’ve read on the internet, models trained on 7-9 billion parameters are about right for my setup. But I’ll experiment with that. Open WebUI lets you test different models side by side, so long as you have room for them on your computer.
Bonus Feature: Built in RAG
Here’s something cool I discovered: Open WebUI comes with Retrieval Augmented Generation (RAG) built right in. I was expecting to spend days setting up a vector database and formatting data, but nope! I can just upload my documents (PDFs and text files) and start chatting about them immediately. While it might not be the most advanced RAG setup out there, it’s pretty impressive for something that works out of the box.
What’s Next?
While this won’t replace my use of ChatGPT or Claude* completely, it’s perfect for experimenting and learning. I’m planning to test different models and dive into Open WebUI’s configuration options. I’m also uploading notes from my career in software engineering leadership – it’s pretty neat being able to chat with an AI about my own experiences!
Have you tried setting up your own AI chatbot? I’d love to hear about your experience! Drop a comment below or reach out – comparing notes is always fun.
* I used a combination of my private chatbot and Claude for help editing this blog post.