What is RAG and why is it important?
RAG, or Retrieval-Augmented Generation, is an innovative approach that combines the power of retrieval systems with generative models (ChatGPT, Perplexity, Gemini, Claude, etc…) By leveraging external data sources, RAG can enhance the contextual understanding and accuracy of AI responses, which are often known to “hallucinate” responses. This methodology allows AI systems to not just rely on their internal knowledge which can be out of date but to access a broader range of information in real time.
Understanding this concept is critical for understanding how modern-day semantic SEO and AI-based search works. Machine learning doesn’t think of words and the meaning behind them like you and I do. Machines have to translate our words into numbers and math equations (ex. vector embeddings + cosine similarity) which can efficiently create a response. You may write a paragraph and while it would make sense to most people, a machine may interpret that in a completely different way. Your ability to give the most complete answers to humans and machines will go a long way into improving your search visibility. Search bots are a lot more sophisticated than they used to be but they have obvious limitations which is why understanding the general concept behind RAG is important.

Most articles I’ve read about RAG read more like technical documentation and lack real-world application so I will show you some real examples of how RAG can help without getting into the weeds of technical details which are irrelevant to most business professionals. First, I’ll briefly cover how I set up RAG for these examples.
5 Steps To Set Up a Simple RAG System
- I vibe-coded with Google AI Studio to generate Python code for Google Colab to execute.
- Google Colab ran the Python script to convert web content via URLs and TXT files into OpenAI vector embeddings that were uploaded to a Qdrant vector database.
- I used this method to vectorize every page on this website and some other trusted sources.
- I prompted Google AI Studio again to generate a Python script for my GitHub repository which was used to create an AI chatbot on Streamlit which uses a ChatGPT model that queries my vector database for additional context.
- Enter prompt on the Streamlit app to generate RAG-based chatbot responses.
From a technical standpoint, this RAG integration was not difficult to set this up. The more difficult part was figuring out the logistics part of where to host these assets and making the workflow more efficient for me.

ChatGPT LLM Prompt & Response Before RAG
I’ll share this sequence of two prompts to ChatGPT without RAG integration. Vibe coding is a new term that was invented in February 2025, meanwhile ChatGPT’s knowledge base was last updated in 2024 so I wouldn’t expect a good response. Unsurprisingly, this was a very poor response and one reason why AI often gets a bad reputation.

Prompt: What is vibe coding?
ChatGPT without RAG: “Vibe coding” isn’t an official technical term, but it’s a phrase that’s been picked up informally in coding communities—especially among indie developers, creative coders, or those who like to keep things casual and intuitive.
Vibe coding generally means:
- Coding based on feel or intuition rather than strict planning or formal structures.
- Writing code when you’re in a creative flow, experimenting, and seeing what happens.
- Prioritizing the vibe of the project—how it looks, feels, or behaves—over optimization or structure at first.
- Sometimes building things just for fun, for aesthetics, or for personal satisfaction, not always with a clear end goal.
It’s a bit like jamming on an instrument instead of composing a full symphony—you’re just going with what feels right in the moment.
Examples of vibe coding:
- Designing a website based on colors and movement that feel cool, without worrying about UX research.
- Making a silly game mechanic just because it makes you laugh.
- Sketching UI with code and letting the design evolve organically.
Let me know if you want an example of a “vibe coded” project or how it compares to more structured development!

Prompt: Do you need to be an engineer to do vibe coding?
ChatGPT without RAG: Nope, you don’t need to be an engineer to do vibe coding.
That’s kind of the beauty of it—it’s open to anyone who wants to experiment, play, or build stuff with code, even if you’re not formally trained or don’t have a computer science background.
Here’s why you don’t need to be an engineer:
- It’s more about creativity than rules. Vibe coding is about following your curiosity, not following a strict process.
- You can learn as you go. Many people vibe code while learning, just trying things out and seeing what happens.
- It’s okay to break things. You’re not building a banking app—you’re building for fun, aesthetics, or personal exploration.
Of course, knowing some coding basics helps. But if you know a little HTML, CSS, JavaScript, or even use tools like p5.js or Scratch—you can totally vibe code.
So if you’ve ever made a button that does something weird, a colorful animation just because, or tweaked a design because “it felt right”—you’ve probably already done it. 💻✨
Want help getting started with a small vibe-coded project?
ChatGPT LLM Prompt & Response After RAG
I wrote an article about vibe coding right after the word was invented as that described how I’ve been using Python to create SEO tools and marketing data visualization. So I used Google Colab to create vector embeddings from that article and upload them to my vector database. The goal here is to inform ChatGPT about what vibe coding is.

Prompt: What is vibe coding
ChatGPT with RAG: “Vibe coding” is a term in the software engineering space that refers to the use of AI tools to do the majority of coding. It is a modern approach that leverages artificial intelligence to streamline and automate the coding process.

Prompt: Do you need to be an engineer to do vibe coding?
ChatGPT with RAG: While having a background in engineering or programming can be beneficial for understanding the concepts behind vibe coding, you don’t necessarily need to be an engineer to utilize AI tools for coding. Many platforms and tools are designed to be user-friendly and accessible to individuals with varying levels of technical expertise. With the right resources and guidance, anyone can explore and experiment with vibe coding techniques.
How RAG can help improve search visibility
I just demonstrated the power of RAG and how ChatGPT instantly created a much more accurate response because of the vector embeddings from my recent vibe coding article. I can also use the same approach to ensuring the content in my articles aligns with the most recent information. While I’m not a fan of publishing AI-written content at scale, you can selectively create web hooks into this RAG system to update certain parts of your site that need regular updating. Example, you may have a paragraph summarizing “The Brief History of SEO”. Rather than re-write that all the time manually, you can have it updated automatically when you add more SEO embeddings to your vector database.
Another way to use RAG is limit your database to your own website then query the AI algorithms with prompts that your users may use. Evaluate the response you get back. If the response doesn’t meet expectations and is missing key information that’s an indicator that your content is not semantically up-to-par for machine learning even it makes sense to you.
Here’s a paragraph from my bio page: Two years later and after countless hours of testing on my own website, I got an SEO job at The Search Agency (since acquired by Forward PMX / Assembly Global). While there I worked on a number of clients in real estate, apartment rentals, flower delivery, cruises and insurance. That was an incredible learning experience to work on such a variety of sites and alongside talented colleagues such as Brandon Schakola (Ebay, Overstock/Bed Bath & Beyond), Grant Simmons (Homes.com), Mark Fillmore (Tinuiti) and Holly Miller Anderson (Under Armour).
Now if I’m going to test out how well AI understands what I’m trying to communicate, I’m going to prompt this RAG chatbot.
Prompt: Tell me about Grant Simmons.
ChatGPT With RAG: Grant Simmons is a professional in the marketing industry who has worked at Homes.com. He has also worked alongside individuals such as Mark Fillmore and has a background in SEO. Grant has a wealth of experience in various areas of digital marketing and has worked with a variety of clients in real estate, apartment rentals, flower delivery, cruises, and insurance.
I can already tell that ChatGPT even with RAG is not fully understanding that my text is implying that Grant Simmons worked at The Search Agency. It did understand that there is a relationship between Grant Simmons and Mark Fillmore at least. So in order for me to fully connect the dots with semantic search I could update the text to be more explicit and say: Brandon Schakola (The Search Agency, Ebay, Overstock/Bed Bath & Beyond), Grant Simmons (The Search Agency & Homes.com), Mark Fillmore (The Search Agency & Tinuiti) and Holly Miller Anderson (The Search Agency, Macy’s & Under Armour). I also didn’t use my full name contextually on my site that’s associated with any of those companies so no wonder why these machines didn’t understand the implied meaning of my content. This is an example of how machine learning and humans can have different interpretations of the same text and what might be needed to optimize for these differences. If someone were to use these same search queries or prompts, should my site be referenced as a source on AI search? No, based on AI’s understanding of my content because it wouldn’t be considered the most relevant information unless I had schema markup perhaps to help these systems understand my content better.
There are lots of other interesting opportunities that can be accomplished through vector embeddings and AI but hopefully I’ve given some clear examples for how RAG can help improve AI search capabilities.