 {"id":522336,"date":"2026-10-08T15:15:20","date_gmt":"2026-10-08T22:15:20","guid":{"rendered":"https:\/\/jorgep.com\/blog\/?p=522336"},"modified":"2026-10-14T15:40:06","modified_gmt":"2026-10-14T22:40:06","slug":"how-to-build-rag-a-practical-guide","status":"publish","type":"post","link":"https:\/\/jorgep.com\/blog\/how-to-build-rag-a-practical-guide\/","title":{"rendered":"How to Build RAG: A Practical Guide"},"content":{"rendered":"\n<div class=\"wp-block-columns has-theme-palette-7-background-color has-background is-layout-flex wp-container-core-columns-is-layout-5dc627e1 wp-block-columns-is-layout-flex\" style=\"margin-top:0;margin-bottom:0\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:80%\">\n<p class=\"wp-block-paragraph\">Part of: <strong> <a href=\"https:\/\/jorgep.com\/blog\/series-ai-learnings\/\">AI Learning Series Here<\/a><\/strong><\/p>\n\n\n<style>.kadence-column395113_50d345-a0 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column395113_50d345-a0 > .kt-inside-inner-col{flex-direction:column;}.kadence-column395113_50d345-a0 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column395113_50d345-a0 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column395113_50d345-a0{position:relative;}@media all and (max-width: 1024px){.kadence-column395113_50d345-a0 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column395113_50d345-a0 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column395113_50d345-a0\"><div class=\"kt-inside-inner-col\"><style>.kadence-column510545_f73041-db > .kt-inside-inner-col{padding-top:var(--global-kb-spacing-xs, 1rem);padding-bottom:var(--global-kb-spacing-xs, 1rem);}.kadence-column510545_f73041-db > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column510545_f73041-db > .kt-inside-inner-col{flex-direction:column;}.kadence-column510545_f73041-db > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column510545_f73041-db > .kt-inside-inner-col{background-color:var(--global-palette7, #EDF2F7);}.kadence-column510545_f73041-db:hover > .kt-inside-inner-col{background-color:var(--global-palette8, #F7FAFC);background-image:none;}.kadence-column510545_f73041-db > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column510545_f73041-db{position:relative;}@media all and (max-width: 1024px){.kadence-column510545_f73041-db > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column510545_f73041-db > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column510545_f73041-db\"><div class=\"kt-inside-inner-col\"><style>.wp-block-kadence-advancedheading.kt-adv-heading510545_c22cc7-a4, .wp-block-kadence-advancedheading.kt-adv-heading510545_c22cc7-a4[data-kb-block=\"kb-adv-heading510545_c22cc7-a4\"]{text-align:center;font-size:var(--global-kb-font-size-sm, 0.9rem);font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading510545_c22cc7-a4 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading510545_c22cc7-a4[data-kb-block=\"kb-adv-heading510545_c22cc7-a4\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading510545_c22cc7-a4 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading510545_c22cc7-a4[data-kb-block=\"kb-adv-heading510545_c22cc7-a4\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<p class=\"kt-adv-heading510545_c22cc7-a4 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading510545_c22cc7-a4\">Quick Links:&nbsp;<a href=\"https:\/\/jorgep.com\/blog\/resources-for-learning-ai\/\">Resources for Learning AI<\/a> | <a href=\"https:\/\/jorgep.com\/blog\/keeping-up-with-ai\/\">Keep up with AI<\/a> | <a href=\"https:\/\/jorgep.com\/blog\/list-of-ai-tools\/\" data-type=\"post\" data-id=\"402818\">List of AI Tools<\/a> | <a href=\"https:\/\/jorgep.com\/blog\/local-ai-series\/\" data-type=\"page\" data-id=\"519365\">Local AI<\/a> | <a href=\"https:\/\/jorgep.com\/blog\/tag\/ai-agents\/\" data-type=\"post_tag\" data-id=\"941\">AI Agents<\/a> |  <a href=\"https:\/\/jorgep.com\/blog\/work-beyond-tomorrow-series\/\" data-type=\"page\" data-id=\"365001\">Future of Work<\/a><\/p>\n<\/div><\/div>\n<\/div><\/div>\n\n\n<style>.kb-row-layout-id395113_e783d6-e8 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id395113_e783d6-e8 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id395113_e783d6-e8 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-none, 0rem );padding-top:var(--global-kb-spacing-xxs, 0.5rem);padding-bottom:var(--global-kb-spacing-xxs, 0.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id395113_e783d6-e8 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id395113_e783d6-e8 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){.kb-row-layout-id395113_e783d6-e8 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id395113_e783d6-e8 alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-2-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column395113_b556f5-d4 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column395113_b556f5-d4 > .kt-inside-inner-col{flex-direction:column;}.kadence-column395113_b556f5-d4 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column395113_b556f5-d4 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column395113_b556f5-d4{position:relative;}@media all and (max-width: 1024px){.kadence-column395113_b556f5-d4 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column395113_b556f5-d4 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column395113_b556f5-d4\"><div class=\"kt-inside-inner-col\"><style>.wp-block-kadence-advancedheading.kt-adv-heading395113_ddd424-58, .wp-block-kadence-advancedheading.kt-adv-heading395113_ddd424-58[data-kb-block=\"kb-adv-heading395113_ddd424-58\"]{text-align:center;font-size:var(--global-kb-font-size-sm, 0.9rem);line-height:60px;font-style:normal;background-color:#f5a511;}.wp-block-kadence-advancedheading.kt-adv-heading395113_ddd424-58 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading395113_ddd424-58[data-kb-block=\"kb-adv-heading395113_ddd424-58\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading395113_ddd424-58 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading395113_ddd424-58[data-kb-block=\"kb-adv-heading395113_ddd424-58\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<p class=\"kt-adv-heading395113_ddd424-58 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading395113_ddd424-58\">Subscribe to <a href=\"https:\/\/go.35s.be\/jtb\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>JorgeTechBits  newsletter<\/strong><\/a><\/p>\n<\/div><\/div>\n\n\n<style>.kadence-column395113_917858-ec > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column395113_917858-ec > .kt-inside-inner-col{flex-direction:column;}.kadence-column395113_917858-ec > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column395113_917858-ec > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column395113_917858-ec{position:relative;}@media all and (max-width: 1024px){.kadence-column395113_917858-ec > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column395113_917858-ec > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column395113_917858-ec\"><div class=\"kt-inside-inner-col\"><style>.wp-block-kadence-advancedheading.kt-adv-heading395113_46c073-02, .wp-block-kadence-advancedheading.kt-adv-heading395113_46c073-02[data-kb-block=\"kb-adv-heading395113_46c073-02\"]{text-align:center;font-size:var(--global-kb-font-size-sm, 0.9rem);font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading395113_46c073-02 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading395113_46c073-02[data-kb-block=\"kb-adv-heading395113_46c073-02\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading395113_46c073-02 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading395113_46c073-02[data-kb-block=\"kb-adv-heading395113_46c073-02\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<p class=\"kt-adv-heading395113_46c073-02 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading395113_46c073-02\">Explore the <a href=\"https:\/\/jorgep.com\/blog\/latest-token-prices\/\" data-type=\"page\" data-id=\"521255\">Latest Token Prices<\/a><\/p>\n<\/div><\/div>\n\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"791\" height=\"1024\" src=\"https:\/\/jorgep.com\/blog\/wp-content\/uploads\/BookCover-791x1024.jpg\" alt=\"\" class=\"wp-image-522269\" style=\"aspect-ratio:0.6250142320391666;width:80px;height:auto\" srcset=\"https:\/\/jorgep.com\/blog\/wp-content\/uploads\/BookCover-791x1024.jpg 791w, https:\/\/jorgep.com\/blog\/wp-content\/uploads\/BookCover-232x300.jpg 232w, https:\/\/jorgep.com\/blog\/wp-content\/uploads\/BookCover-768x994.jpg 768w, https:\/\/jorgep.com\/blog\/wp-content\/uploads\/BookCover.jpg 1102w\" sizes=\"auto, (max-width: 791px) 100vw, 791px\" \/><figcaption class=\"wp-element-caption\"><a href=\"https:\/\/jorgep.com\/blog\/book-series-ai-dont-just-chat\/\" data-type=\"page\" data-id=\"520242\">Check out the Book Series<\/a><\/figcaption><\/figure>\n<\/div><\/div>\n<\/div>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading519190_af62a4-66, .wp-block-kadence-advancedheading.kt-adv-heading519190_af62a4-66[data-kb-block=\"kb-adv-heading519190_af62a4-66\"]{font-size:var(--global-kb-font-size-sm, 0.9rem);font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading519190_af62a4-66 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading519190_af62a4-66[data-kb-block=\"kb-adv-heading519190_af62a4-66\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading519190_af62a4-66 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading519190_af62a4-66[data-kb-block=\"kb-adv-heading519190_af62a4-66\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<p class=\"kt-adv-heading519190_af62a4-66 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading519190_af62a4-66\"><strong>Disclaimer:<\/strong> <strong>I create this content entirely on my own time, and the views expressed here are mine alone (not my employer&#8217;s)<\/strong>. Because I love leveraging new tech, I use AI tools like Gemini, ChatGPT, Claude, Perplexity and others as a &#8220;digital team&#8221; to help research and polish these articles so I can share the best possible insights with you!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Please see my other post on <a href=\"https:\/\/jorgep.com\/blog\/tag\/rag,chatbots\/?order=desc\" data-type=\"link\" data-id=\"https:\/\/jorgep.com\/blog\/tag\/rag,chatbots\/?order=desc\">ChatBots and RAG<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This has come up a number of times in my mentoring sessions and conversations with people and companies.    Connecting an AI model to company documents sounds straightforward: upload the files, ask a question, and get an answer. Building something people can reliably use requires more than that.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But first, an important distinction: giving AI access to information does not always require retrieval-augmented generation, or RAG.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Context vs. RAG: What\u2019s the Difference?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Context<\/strong> is the information a model has available when it generates a response. It can include instructions, conversation history, documents, and information returned by tools. If you provide a report and ask the model to summarize it, supplying that report directly may be all you need\u2014provided the relevant material fits within the model\u2019s context window.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">RAG adds a selection step. Instead of supplying all the material upfront, the application searches a collection, retrieves relevant information, and places it into the model\u2019s context before it answers. RAG is therefore a way of supplying context, not an alternative to context.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Direct context: \u201cHere are two proposals. Compare their implementation plans.\u201d<\/li>\n\n\n\n<li>RAG: \u201cSearch our approved project documentation and explain the implementation requirements for this customer.\u201d<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In the first example, you have already selected the information. In the second, the system must find it. For a small, clearly defined collection, direct context can be simpler and preserve details that retrieval might miss. For a larger collection, RAG helps select relevant material without putting the entire collection into every request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Some applications support both approaches. Open WebUI, for example, explicitly offers full-document context and focused retrieval. Uploading a document does not, by itself, tell you which method an application uses.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">RAG Is Not Just a Developer Project<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">RAG is often described as a technical pipeline: split documents into chunks, create embeddings, configure a vector database, and connect a language model.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That is one implementation approach. It is not the only one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can also work with sources in NotebookLM, search Claude project knowledge, configure a Chatbase or Botsonic chatbot, connect a Copilot Studio agent to SharePoint, or deploy enterprise knowledge capabilities through Glean or Salesforce Agentforce. These products package different parts of the retrieval experience and require different levels of configuration and operational responsibility.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The practical question is not simply, \u201cWhich RAG platform is best?\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is: \u201cWhat do we need the application to do\u2014and how much of it do we want to configure, build, and operate?\u201d<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How RAG Works<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A typical RAG system has two connected workflows: preparing knowledge and answering questions.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"572\" src=\"https:\/\/jorgep.com\/blog\/wp-content\/uploads\/image-196.png\" alt=\"\" class=\"wp-image-522337\" srcset=\"https:\/\/jorgep.com\/blog\/wp-content\/uploads\/image-196.png 1024w, https:\/\/jorgep.com\/blog\/wp-content\/uploads\/image-196-300x168.png 300w, https:\/\/jorgep.com\/blog\/wp-content\/uploads\/image-196-768x429.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">During preparation, the system extracts usable content from documents, divides it into searchable passages, and builds an index. That index may include embeddings\u2014numerical representations that support searching by meaning. At question time, the application retrieves relevant information and supplies it to the model.[<a href=\"https:\/\/docs.cloud.google.com\/gemini-enterprise-agent-platform\/build\/rag-engine\/rag-overview\">docs.cloud.google<\/a>][<a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/foundry\/concepts\/retrieval-augmented-generation\">learn.microsoft<\/a>]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Some systems combine semantic retrieval with keyword search. This is useful when questions contain both natural language and exact terms such as product identifiers. A reranker can then reassess retrieved passages and move the strongest matches higher in the results.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">RAG does not normally change the model\u2019s learned parameters. It provides information when the model answers. Its effectiveness therefore depends on both the quality of the retrieved evidence and how accurately the model uses it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Platform Landscape: Six Implementation Levels<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The market makes more sense when organized by implementation responsibility rather than presented as one long product list.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These levels are not a maturity ranking. A packaged application may be the right long-term solution, while a custom stack may introduce unnecessary complexity.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Level<\/th><th>Approach<\/th><th>Representative options<\/th><th>Your primary responsibility<\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>Use a knowledge-enabled workspace<\/td><td>NotebookLM, Claude Projects, ChatGPT Projects<\/td><td>Select sources, organize work, verify answers<\/td><\/tr><tr><td>2<\/td><td>Configure a packaged chatbot<\/td><td>Chatbase, Botsonic<\/td><td>Add knowledge, define behavior, test and deploy<\/td><\/tr><tr><td>3<\/td><td>Operate a configurable AI workspace<\/td><td>Open WebUI, AnythingLLM<\/td><td>Configure models, retrieval, knowledge collections, and hosting<\/td><\/tr><tr><td>4<\/td><td>Deploy enterprise knowledge and workflow agents<\/td><td>Glean, Copilot Studio, Salesforce Agentforce<\/td><td>Connect systems, manage access, design workflows<\/td><\/tr><tr><td>5<\/td><td>Build on managed cloud services<\/td><td>Amazon Bedrock Knowledge Bases, Microsoft Foundry\/Azure AI Search, Google RAG Engine<\/td><td>Build the application around managed retrieval capabilities<\/td><\/tr><tr><td>6<\/td><td>Assemble a custom stack<\/td><td>LlamaIndex, LangChain\/LangGraph, Haystack, search and vector infrastructure<\/td><td>Engineer and operate the pipeline and application<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">These are practical groupings based on documented capabilities, not official vendor categories. Products can span multiple levels.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Level 1: Use a Knowledge-Enabled Workspace<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the simplest starting point: bring information into an existing application and work with it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">NotebookLM<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">NotebookLM centers the experience on a selected collection of sources. Users ask questions and receive grounded responses with inline citations. Its distinction is the source-centered research experience: the documents are the foundation of the workspace.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An illustrative task is comparing several reports and identifying where they agree, disagree, or support a particular conclusion.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Claude Projects<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Claude Projects combines ongoing work with project knowledge. Anthropic explicitly documents RAG for Projects, allowing Claude to retrieve relevant information from uploaded material rather than always loading all project content at once.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Its distinction is bringing knowledge retrieval into a continuing project workspace.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">ChatGPT Projects<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">ChatGPT Projects organizes related conversations, files, and instructions and uses that context to support work such as research, writing, and planning.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It belongs in a practical discussion of knowledge-enabled AI, but with a qualification: using project information does not establish that every response uses retrieval. It is more accurate to describe Projects as a knowledge-enabled workspace than to label every interaction RAG.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">When this level fits<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Evaluate this approach when people need to work with a bounded collection of information inside an existing interface\u2014not deploy a separate application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Your main work is curating sources and verifying results rather than engineering the retrieval pipeline.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Level 2: Configure a Packaged Chatbot<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This level moves from using an AI workspace to deploying an assistant for other people.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Chatbase<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Chatbase provides a no-code workflow for creating agents from sources such as documents and websites. Its documentation covers adding knowledge, testing behavior, and deployment through website widgets and other channels.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Its distinction is packaging knowledge setup, conversational behavior, deployment, and customer-experience management into one service.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Botsonic<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Botsonic provides a guided workflow for creating a bot, uploading knowledge files or adding links, configuring the experience, and embedding it on a website.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is another example of a packaged knowledge chatbot rather than a developer framework.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What to compare<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">For this category, evaluate:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Supported sources and update processes.<\/li>\n\n\n\n<li>Deployment channels.<\/li>\n\n\n\n<li>Behavior when information is missing.<\/li>\n\n\n\n<li>Human escalation options.<\/li>\n\n\n\n<li>Conversation review and analytics.<\/li>\n\n\n\n<li>Data handling and commercial terms.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Do not assume that accepting the same file types makes two platforms equivalent. Their setup workflows show similar entry points, but the full operational experience requires separate evaluation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also, document upload is sometimes marketed as \u201ctraining.\u201d That does not automatically mean the underlying model is being fine-tuned; Chatbase separately describes a retrieval pipeline involving document preparation, embeddings, retrieval, and prompt augmentation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Level 3: Operate a Configurable AI Workspace<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This category sits between a ready-made application and a custom build.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Open WebUI<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open WebUI provides knowledge collections and configurable document retrieval. Its documented capabilities include focused retrieval, full-document context, hybrid search, reranking, and connections to external vector infrastructure.[<a href=\"https:\/\/docs.openwebui.com\/features\/chat-conversations\/rag\/\">docs.openwebui<\/a>][<a href=\"https:\/\/docs.openwebui.com\/features\/workspace\/knowledge\/\">docs.openwebui<\/a>]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Its distinction is exposing meaningful choices about how information reaches the model while providing an existing chat interface.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">AnythingLLM<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">AnythingLLM packages document-based RAG and agent capabilities in an integrated application. It offers another route for teams that want a configurable knowledge workspace without building the whole experience themselves.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What to compare<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This category is worth examining for local or hybrid AI requirements, but \u201cself-hosted\u201d should not be treated as proof that every processing step remains local.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Review the entire data path:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Where are documents parsed?<\/li>\n\n\n\n<li>Where are embeddings created?<\/li>\n\n\n\n<li>Where is the index stored?<\/li>\n\n\n\n<li>Where are retrieved passages sent?<\/li>\n\n\n\n<li>Where does generation run?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">An interface, embedding service, vector database, and language model can be separate components. Open WebUI\u2019s support for external infrastructure illustrates why they should be reviewed individually.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Level 4: Deploy Enterprise Knowledge and Workflow Agents<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Here, the problem expands beyond a selected document collection. The application must work with business systems, organizational identities, permissions, and workflows.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Glean: Knowledge Across Applications<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Glean combines enterprise search, retrieval, and generated answers across connected business applications. Its distinction is the cross-system knowledge experience rather than a single notebook or website chatbot.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Access controls still require detailed evaluation. Glean\u2019s Salesforce connector documentation, for example, distinguishes live retrieval using a requesting user\u2019s authorization from indexed retrieval using connector-mirrored permissions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The lesson is to inspect permission behavior for each connector rather than rely only on a platform-wide security description.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Copilot Studio: Agents Grounded in SharePoint<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Copilot Studio can use a SharePoint folder or site as a knowledge source. Microsoft documents that a registered folder\u2019s scope includes its subfolders, not parent or sibling folders unless separately registered.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An illustrative use case is an IT assistant grounded in an approved procedures folder rather than an entire SharePoint environment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft also documents different ingestion paths: connecting a SharePoint URL and selecting files or folders through its unstructured-data upload experience. These should not be described as identical data paths.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Salesforce Agentforce: Knowledge Within Business Workflows<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Agentforce Data Libraries ground responses in sources such as Salesforce Knowledge, uploaded files, and web content. Its standard knowledge-answering action retrieves relevant content to support responses.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Its distinction is the surrounding business application and agent workflow. RAG supplies knowledge within that broader experience; it is not the entire Agentforce platform.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What to compare<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">At this level, prioritize:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Connector coverage.<\/li>\n\n\n\n<li>Identity and permission enforcement.<\/li>\n\n\n\n<li>Updates, deletions, and indexing behavior.<\/li>\n\n\n\n<li>Source references.<\/li>\n\n\n\n<li>Administrative controls.<\/li>\n\n\n\n<li>The separation between answering questions and executing actions.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Retrieval and actions are different capabilities. For example, Glean separately documents action packs that administrators can enable and configure.[<a href=\"https:\/\/www.glean.com\/blog\/85-new-actions-in-agents\">glean<\/a>]<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Level 5: Build on Managed Cloud Services<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Organizations building their own applications can use managed retrieval capabilities instead of assembling every component.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Examples include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Amazon Bedrock Knowledge Bases, supporting retrieval and response generation.<\/li>\n\n\n\n<li>Microsoft Foundry with Azure AI Search, supporting grounded generation over indexed information.<\/li>\n\n\n\n<li>Google RAG Engine, covering ingestion, transformation, indexing, retrieval, and generation.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These are application-building services rather than necessarily finished employee or customer experiences.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Evaluate this approach when a custom application is required but operating every retrieval component is not a useful differentiator. Compare source support, retrieval controls, integration requirements, service availability, and operating costs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Level 6: Assemble a Custom RAG Stack<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Frameworks such as LlamaIndex, LangChain\/LangGraph, and Haystack help developers assemble ingestion, retrieval, and orchestration. Search engines and vector databases provide another layer beneath the application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The distinction is important: a vector database is not a complete RAG application, and an orchestration framework is not a managed service.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A custom approach gives your team extensive design freedom, but also responsibility for integration, testing, deployment, and maintenance. Evaluate it when a specific requirement justifies that ownership\u2014not simply because building the stack is possible.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Implement RAG Successfully<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Regardless of platform, use a disciplined pilot.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Define a Specific Job<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Start with a concrete task:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Help support engineers answer configuration questions using approved manuals and troubleshooting guides, with references to the supporting sections.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Specify users, source boundaries, acceptable answers, and what should happen when evidence is missing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Prepare Authoritative Content<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Treat ingestion as a quality-control process, not just a file upload.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the pilot:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Remove duplicates and obsolete versions.<\/li>\n\n\n\n<li>Preserve headings and document structure.<\/li>\n\n\n\n<li>Check tables and scanned pages.<\/li>\n\n\n\n<li>Retain source identifiers.<\/li>\n\n\n\n<li>Record useful metadata such as product, version, and effective date.<\/li>\n\n\n\n<li>Assign an owner for updates and deletions.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Parsing, transformation, and indexing are explicit stages in documented RAG workflows. A successful upload does not establish that the resulting content is usable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Test Retrieval Separately from Generation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Create representative questions with expected sources.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If an answer is wrong, determine whether the system failed to find the evidence or the model misused evidence it received. Reranking addresses the relevance of retrieved material; it does not replace evaluation of the generated answer.[<a href=\"https:\/\/docs.aws.amazon.com\/bedrock\/latest\/userguide\/rerank.html\">docs.aws.amazon<\/a>]<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Include Difficult Cases<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Test more than easy questions:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Test case<\/th><th>What it reveals<\/th><\/tr><\/thead><tbody><tr><td>A clearly answerable question<\/td><td>Basic retrieval and answer quality<\/td><\/tr><tr><td>A question with no supporting source<\/td><td>Whether the assistant acknowledges missing evidence<\/td><\/tr><tr><td>Conflicting document versions<\/td><td>How the system handles source authority and freshness<\/td><\/tr><tr><td>An exact product identifier<\/td><td>Whether retrieval handles precise terminology<\/td><\/tr><tr><td>Restricted content<\/td><td>Whether access boundaries behave as intended<\/td><\/tr><tr><td>A question requiring several passages<\/td><td>Whether the answer integrates evidence accurately<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">These are proposed pilot tests, not claims that every platform supports the same controls.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Measure Operational Fit<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Assess response time, usage cost, source-update behavior, administrative effort, and answer quality.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Do not assume that connecting a source makes every update immediately available. Microsoft, for example, documents indexing considerations for SharePoint-backed knowledge.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Assign Ongoing Ownership<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Decide who maintains the sources, reviews failures, manages access, and approves changes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A packaged product can reduce engineering work. It does not decide which documents your organization considers authoritative or whether the assistant is fit for its intended purpose.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Choose the Level Before Choosing the Vendor<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Start with the information problem. If the relevant material is small and already known, direct context may be sufficient. If the system must find evidence within a larger collection, evaluate retrieval.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then decide what you want to own: a source collection, a configured chatbot, a controllable workspace, an enterprise agent, or a custom application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That decision will produce a more useful shortlist than comparing NotebookLM, Chatbase, Glean, Agentforce, and a vector database as though they were interchangeable products. The right solution is the one that supplies reliable evidence for a defined task\u2014with an implementation and operating burden your organization can sustain.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Resource and Further Reading<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">My Articles: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/jorgep.com\/blog\/understanding-ai-what-is-rag\/\">Understanding AI: What is RAG? <\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/jorgep.com\/blog\/understanding-rag-chatbot-operating-costs-a-practical-guide\/\">Understanding RAG ChatBot Operating Costs: A Practical Guide <\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/jorgep.com\/blog\/optimizing-wordpress-post-listing-for-rag-systems\/\">Optimizing WordPress Post Listing for RAG Systems <\/a><\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Context, Retrieval, and RAG Fundamentals<\/strong>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.anthropic.com\/engineering\/effective-context-engineering-for-ai-agents\" target=\"_blank\" rel=\"noopener\">Effective Context Engineering for AI Agents \u2014 Anthropic<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.anthropic.com\/engineering\/contextual-retrieval\" target=\"_blank\" rel=\"noopener\">Introducing Contextual Retrieval \u2014 Anthropic<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloud.google.com\/use-cases\/retrieval-augmented-generation\" target=\"_blank\" rel=\"noopener\">What Is Retrieval-Augmented Generation (RAG)? \u2014 Google Cloud<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.aws.amazon.com\/bedrock\/latest\/userguide\/rerank.html\" target=\"_blank\" rel=\"noopener\">Improve the Relevance of Query Responses with a Reranker Model \u2014 Amazon Bedrock<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/atlan.com\/know\/enterprise-rag-platforms-comparison\/\" target=\"_blank\" rel=\"noopener\">Enterprise RAG Platforms Comparison \u2014 Atlan<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Knowledge-Enabled Workspaces<\/strong>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/support.google.com\/gemininotebook\/answer\/16164461?hl=en&amp;co=GENIE.Platform=Desktop\" target=\"_blank\" rel=\"noopener\">Learn About Gemini Notebook \u2014 Google Help<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.claude.com\/en\/articles\/11473015-retrieval-augmented-generation-rag-for-projects\" target=\"_blank\" rel=\"noopener\">Retrieval Augmented Generation (RAG) for Projects \u2014 Claude Support<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/help.openai.com\/en\/articles\/10169521-projects-in-chatgpt\" target=\"_blank\" rel=\"noopener\">Projects in ChatGPT \u2014 OpenAI Help Center<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Packaged Chatbots: Chatbase and Botsonic<\/strong>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.chatbase.co\/\" target=\"_blank\" rel=\"noopener\">Chatbase: AI Agents for Customer Experience and Support<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.chatbase.co\/docs\/user-guides\/quick-start\/your-first-agent\" target=\"_blank\" rel=\"noopener\">Build Your First AI Agent \u2014 Chatbase<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.chatbase.co\/docs\/user-guides\/chatbot\/channels\" target=\"_blank\" rel=\"noopener\">Channels \u2014 Chatbase Documentation<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.chatbase.co\/blog\/build-rag-chatbot\" target=\"_blank\" rel=\"noopener\">How to Build a RAG Chatbot \u2014 Chatbase<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.botsonic.com\/docs\/quick-start\" target=\"_blank\" rel=\"noopener\">Quick Start Guide \u2014 Botsonic<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Configurable AI Workspaces: Open WebUI and AnythingLLM<\/strong>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.openwebui.com\/features\/\" target=\"_blank\" rel=\"noopener\">Features \u2014 Open WebUI<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.openwebui.com\/features\/chat-conversations\/rag\/\" target=\"_blank\" rel=\"noopener\">Retrieval Augmented Generation (RAG) \u2014 Open WebUI<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.openwebui.com\/features\/workspace\/knowledge\/\" target=\"_blank\" rel=\"noopener\">Knowledge Bases and Document Chat \u2014 Open WebUI<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.openwebui.com\/troubleshooting\/rag\/\" target=\"_blank\" rel=\"noopener\">Troubleshoot Document Retrieval (RAG) \u2014 Open WebUI<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.anythingllm.com\/introduction\" target=\"_blank\" rel=\"noopener\">What Is AnythingLLM? \u2014 AnythingLLM Documentation<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.anythingllm.com\/chatting-with-documents\/introduction\" target=\"_blank\" rel=\"noopener\">Using Documents in AnythingLLM \u2014 AnythingLLM Documentation<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Enterprise Knowledge and Agents: Glean<\/strong>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.glean.com\/blog\/enterprise-ai-search-rag\" target=\"_blank\" rel=\"noopener\">Enterprise AI Search: What Is It and Its Importance \u2014 Glean<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.glean.com\/connectors\/native\/salesforce\/use-salesforce-connector\" target=\"_blank\" rel=\"noopener\">Use the Salesforce Connector \u2014 Glean Documentation<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.glean.com\/blog\/85-new-actions-in-agents\" target=\"_blank\" rel=\"noopener\">Over 85 New Actions Enable You to Get More Done with Better Agents \u2014 Glean<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>SharePoint and Microsoft Copilot Studio<\/strong>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/microsoft-copilot-studio\/knowledge-copilot-studio\" target=\"_blank\" rel=\"noopener\">Knowledge Sources Summary \u2014 Microsoft Copilot Studio<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/microsoft-copilot-studio\/knowledge-add-sharepoint\" target=\"_blank\" rel=\"noopener\">Add SharePoint as a Knowledge Source \u2014 Microsoft Copilot Studio<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/microsoft-copilot-studio\/knowledge-add-unstructured-data\" target=\"_blank\" rel=\"noopener\">Add Unstructured Data as a Knowledge Source \u2014 Microsoft Copilot Studio<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/microsoft-copilot-studio\/knowledge-unstructured-data\" target=\"_blank\" rel=\"noopener\">Unstructured Data as a Knowledge Source \u2014 Microsoft Copilot Studio<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Salesforce Agentforce<\/strong>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/help.salesforce.com\/s\/articleView?language=en_US&amp;id=ai.data_library_parent.htm&amp;type=5\" target=\"_blank\" rel=\"noopener\">Agentforce Data Library \u2014 Salesforce Help<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/trailhead.salesforce.com\/content\/learn\/modules\/retrieval-augmented-generation-quick-look\/augment-prompts-with-relevant-knowledge\" target=\"_blank\" rel=\"noopener\">Enhance Agents with Business Knowledge Using RAG \u2014 Salesforce Trailhead<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Managed Cloud RAG Services<\/strong>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.aws.amazon.com\/bedrock\/latest\/userguide\/knowledge-base.html\" target=\"_blank\" rel=\"noopener\">Retrieve Data and Generate AI Responses with Amazon Bedrock Knowledge Bases \u2014 AWS Documentation<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/foundry\/concepts\/retrieval-augmented-generation\" target=\"_blank\" rel=\"noopener\">Retrieval-Augmented Generation (RAG) and Indexes \u2014 Microsoft Foundry<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.cloud.google.com\/gemini-enterprise-agent-platform\/build\/rag-engine\/rag-overview\" target=\"_blank\" rel=\"noopener\">RAG Engine Overview \u2014 Google Cloud<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This has come up a number of times in my mentoring sessions and conversations with people and companies. Connecting an AI model to company documents sounds straightforward: upload the files, ask a question, and get an answer. Building something people can reliably use requires more than that. But first, an important distinction: giving AI access&#8230;<\/p>\n","protected":false},"author":2,"featured_media":522341,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","ngg_post_thumbnail":0,"episode_type":"","audio_file":"","podmotor_file_id":"","podmotor_episode_id":"","cover_image":"","cover_image_id":"","duration":"","filesize":"","filesize_raw":"","date_recorded":"","explicit":"","block":"","itunes_episode_number":"","itunes_title":"","itunes_season_number":"","itunes_episode_type":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[1068,441],"tags":[941,930,894,963,986],"class_list":["post-522336","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-emerging-technology","category-tech-talk","tag-ai-agents","tag-ai-series","tag-artificial-intelligence","tag-chatbots","tag-local-ai"],"taxonomy_info":{"category":[{"value":1068,"label":"AI &amp; Emerging Technology"},{"value":441,"label":"Tech Talk"}],"post_tag":[{"value":941,"label":"AI Agents"},{"value":930,"label":"AI Series"},{"value":894,"label":"artificial intelligence"},{"value":963,"label":"chatbots"},{"value":986,"label":"Local AI"}]},"featured_image_src_large":["https:\/\/jorgep.com\/blog\/wp-content\/uploads\/FeaturedImage-HowToBuilRAG-1024x384.jpg",1024,384,true],"author_info":{"display_name":"Jorge Pereira","author_link":"https:\/\/jorgep.com\/blog\/author\/jorge\/"},"comment_info":0,"category_info":[{"term_id":1068,"name":"AI &amp; Emerging Technology","slug":"ai-emerging-technology","term_group":0,"term_taxonomy_id":1078,"taxonomy":"category","description":"","parent":0,"count":234,"filter":"raw","cat_ID":1068,"category_count":234,"category_description":"","cat_name":"AI &amp; Emerging Technology","category_nicename":"ai-emerging-technology","category_parent":0},{"term_id":441,"name":"Tech Talk","slug":"tech-talk","term_group":0,"term_taxonomy_id":451,"taxonomy":"category","description":"","parent":0,"count":757,"filter":"raw","cat_ID":441,"category_count":757,"category_description":"","cat_name":"Tech Talk","category_nicename":"tech-talk","category_parent":0}],"tag_info":[{"term_id":941,"name":"AI Agents","slug":"ai-agents","term_group":0,"term_taxonomy_id":951,"taxonomy":"post_tag","description":"","parent":0,"count":104,"filter":"raw"},{"term_id":930,"name":"AI Series","slug":"ai-series","term_group":0,"term_taxonomy_id":940,"taxonomy":"post_tag","description":"","parent":0,"count":256,"filter":"raw"},{"term_id":894,"name":"artificial intelligence","slug":"artificial-intelligence","term_group":0,"term_taxonomy_id":904,"taxonomy":"post_tag","description":"","parent":0,"count":221,"filter":"raw"},{"term_id":963,"name":"chatbots","slug":"chatbots","term_group":0,"term_taxonomy_id":973,"taxonomy":"post_tag","description":"","parent":0,"count":14,"filter":"raw"},{"term_id":986,"name":"Local AI","slug":"local-ai","term_group":0,"term_taxonomy_id":996,"taxonomy":"post_tag","description":"","parent":0,"count":64,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/jorgep.com\/blog\/wp-json\/wp\/v2\/posts\/522336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jorgep.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jorgep.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jorgep.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jorgep.com\/blog\/wp-json\/wp\/v2\/comments?post=522336"}],"version-history":[{"count":2,"href":"https:\/\/jorgep.com\/blog\/wp-json\/wp\/v2\/posts\/522336\/revisions"}],"predecessor-version":[{"id":522340,"href":"https:\/\/jorgep.com\/blog\/wp-json\/wp\/v2\/posts\/522336\/revisions\/522340"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jorgep.com\/blog\/wp-json\/wp\/v2\/media\/522341"}],"wp:attachment":[{"href":"https:\/\/jorgep.com\/blog\/wp-json\/wp\/v2\/media?parent=522336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jorgep.com\/blog\/wp-json\/wp\/v2\/categories?post=522336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jorgep.com\/blog\/wp-json\/wp\/v2\/tags?post=522336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}