It is evident that artificial intelligence has already become a reality and plays a significant role in business. Today, AI is a technology of strategic importance across many directions, from analyzing data to improving customer experience via support.
As a company grows, customer support rarely grows at the same pace. The number of questions increases, product documentation changes, and support teams spend more time answering the same requests over and over again.
A manually maintained FAQ can help at first, but it becomes difficult to keep accurate. New product features create new questions, old answers become outdated, and information gets scattered within documentation pages, help centers, and internal resources.
That was the challenge behind the project we built at SCAND: an AI FAQ chatbot for customer support that could answer customer questions using the client’s existing knowledge base rather than relying on a manually curated list of questions and answers.
In this article, we’ll break down how we approached the problem, why we chose a RAG architecture, how the system keeps its knowledge synchronized with a customer’s website, and which technologies we used to build it.
The Problem: Why Static FAQ Sections Don’t Scale
Traditional FAQ sections work well when a product is relatively small and its documentation changes infrequently. The problem starts when the volume and complexity of information increase. A typical static FAQ creates several challenges:
- Support teams repeatedly answer the same questions. Customers may ask about pricing, features, integrations, account settings, troubleshooting, or policies that are already documented.
- FAQ maintenance becomes manual. Someone has to identify new questions, write answers, review existing content, and publish updates.
- Information becomes outdated. A product page may change while an FAQ answer continues to reference an old feature, workflow, or policy.
- Customers don’t always ask questions in the same way they appear in the FAQ. A customer might ask, “Can I change my subscription after upgrading?” even though the documentation uses completely different terminology.
- A single FAQ page doesn’t capture the full knowledge base. Useful information is often distributed across documentation, support articles, product pages, and other resources.
Traditional FAQ software is designed to present and manage frequently asked questions, but it does not necessarily solve the core problem of information retrieval.
What we needed was a chatbot that could understand a customer’s question, find the most relevant information in a continuously changing knowledge base (live website), and generate an answer based on that context — an approach that required more advanced chatbot development.
What Is a RAG-Powered FAQ Chatbot?
A RAG-powered FAQ chatbot combines semantic, vector search with a large language model (LLM): it retrieves relevant information from a knowledge base and then uses that information to generate a contextual answer to the user’s question.
Compared to traditional FAQ software, which usually presents a preset collection of questions and answers, a RAG-based chatbot can search a much broader knowledge base before responding. And it can have any document as a search base: txt, Word, Excel, PDF, etc.
This approach makes the chatbot FAQ-based from the customer’s perspective, it answers support questions, but technically it is not limited to matching a user’s input against a fixed FAQ list.
For organizations looking to build this type of solution, RAG development provides the foundation for connecting enterprise knowledge sources with AI-powered retrieval and generation.
FAQ Chatbot vs Knowledge Base Chatbot
Although the terms FAQ chatbot and knowledge base chatbot are often used interchangeably, they describe slightly different approaches to organizing and delivering information. Both can support customer service, but the way they access and use information is different.
An FAQ is generally a curated set of common questions and their answers:
Question → predefined answer
A knowledge base is broader. It can contain product documentation, troubleshooting guides, policies, tutorials, feature descriptions, and other structured or unstructured information:
User question → relevant knowledge → generated answer
For our chatbot, the knowledge base is the primary source of truth. This distinction is important architecturally. Instead of building a chatbot around a static list of FAQs, we built a pipeline that ingests the client’s existing content from all pages of the official website, converts it into searchable representations, retrieves relevant context, and passes that context to an LLM.
The result is an AI FAQ chatbot that can answer questions even when the exact wording of the question does not exist in the source material. Unlike traditional FAQ chatbots, which may rely on predefined questions and answers, this approach allows the bot to understand a wider range of customer queries and provide more relevant responses.
More importantly, the knowledge base does not have to remain frozen. Changes to the client’s website are detected and then streamed into the vector storage, allowing the chatbot’s information to stay synchronized with the source content. This makes the solution closer to an AI agent for customer support, capable of continuously accessing and using up-to-date company knowledge.
This approach is also closely related to our work on an AI knowledge assistant for document search, where AI is used to make large collections of business information easier to search and access.
Our Approach: Architecture Behind the Chatbot
We created the solution as a RAG-powered chatbot that connects the customer’s existing knowledge base with an LLM. Instead of training a model on a fixed set of FAQs, the system retrieves relevant information from the current knowledge base whenever a customer asks a question and uses that context to generate the answer.
The architecture consists of five main stages: detecting new information, ingesting and structuring the source content, vectorizing and retrieving relevant information, generating a response with an LLM, and synchronizing the knowledge base with changes on the customer’s website.
Knowledge Base Ingestion
The first step was to detect new content (articles, pages). This is done by periodically requesting changes made on the website (WordPress) via API. If a new page/article or a change is detected it’s then served into the next phase.
The second step was to turn the customer’s existing or new documentation into structured, machine-readable content. Since knowledge bases and websites can contain different types of content, including headings, paragraphs, lists, tables, and links, simply extracting raw text would not provide the best foundation for retrieval.
We used Docling to parse and structure the source content while preserving its document hierarchy and semantic relationships. The processed content was then divided into meaningful, dynamic chunks with overlapping that could be indexed and retrieved independently.
The ingestion pipeline can be summarized as:
Customer website and documentation → Docling → structured content → document chunks → vectorization
Such an approach allows the chatbot to work with the customer’s existing information instead of requiring the support team to create a separate database of chatbot questions and answers.
Vectorization & Search
Once the content was structured, the next step was to make it searchable by meaning rather than by exact keywords.
The system converts knowledge-base content into vector representations and stores them for semantic search. When a customer submits a question, the question is also converted into a vector, and the system searches for the content that is most relevant to the user’s intent.
For example, a customer might ask: “Can I change my subscription before my current billing period ends?”
The knowledge base may contain an article titled “Managing Your Subscription.” Even though the wording is different, semantic search can identify the relevant section and return it as context for the chatbot.
The retrieval process follows this pattern:
User question → request vectorization → semantic search → relevant knowledge-base content → LLM context
This retrieval layer is a critical part of the AI FAQ chatbot because it allows the system to answer questions that are phrased differently from the original documentation.
Response Generation
After retrieving the most relevant information, the system passes the customer’s question and the selected context to an LLM.
For this project, we used Groq and Ollama as the LLM infrastructure. Groq provides blazing fast inference for responsive customer interactions, while Ollama provides an option for running compatible models locally or in a self-hosted environment.
The LLM is instructed to base its response on the retrieved knowledge rather than relying solely on its general knowledge. This helps keep responses relevant to the customer’s actual products, policies, and documentation.
A simplified request looks like:
Customer question + retrieved context + system instructions → LLM → customer-facing answer
This separation between retrieval and generation also makes the architecture flexible. The underlying knowledge base and retrieval pipeline can remain the same while the LLM can be changed depending on performance, cost, privacy, or deployment requirements.
Keeping the Knowledge Base in Sync
One of the key features of our approach is that the chatbot does not depend on a one-time import of the customer’s documentation.
Customer websites and knowledge bases are constantly changing. New features are introduced, existing instructions are updated, and outdated information is removed. If those changes are not reflected in the chatbot’s data, even a technically sophisticated AI assistant can provide outdated answers.
To address this, we implemented a synchronization process that monitors changes to the customer’s website using API and updates the vector store accordingly.
The process works conceptually as follows:
Website changes → updated content detection → content parsing → re-vectorization → vector store update
When a relevant page changes, the updated content can be processed and indexed without rebuilding the entire knowledge base from scratch.
This synchronization is important for a FAQ chatbot for customer support, where the accuracy of answers depends directly on the freshness of the underlying documentation. As a result, the chatbot functions as a conversational layer on top of a living knowledge base rather than as a static collection of predefined FAQ answers.
Tech Stack We Used
Building an AI FAQ chatbot requires more than connecting an LLM to a list of questions and answers. The solution needs a complete pipeline for document processing, retrieval, workflow orchestration, data storage, and response generation.
For this project, we selected a stack that allowed us to keep the architecture flexible, cost-efficient, and easy to adapt to different customer environments.
| Component | Role |
| LangChain | Building the retrieval and LLM pipeline |
| LangGraph | Orchestrating multi-step chatbot workflows with automatic summarization and references management |
| PostgreSQL | Persistent application and data storage |
| Docling | Parsing and structuring source documentation |
| Groq | Fast LLM inference, GPT OSS 120B |
| Ollama | Local/self-hosted LLM execution |
| Vector search | Finding semantically relevant knowledge-base content |
LangChain and LangGraph
LangChain provides the building blocks for connecting document retrieval, prompts, models, and other components. LangGraph, in turn, is useful for orchestrating more complex workflows where the chatbot needs explicit processing steps and state management.
Together, they provide a flexible foundation for a RAG architecture without forcing every part of the system into a single monolithic component.
PostgreSQL
PostgreSQL provides reliable persistent storage for application data and can also participate in vector-search architectures through the appropriate extensions (pgvector). Using PostgreSQL as part of the stack keeps the application data layer familiar and operationally manageable while supporting the retrieval requirements of an AI application.
Docling
Docling handles the document-ingestion side of the system. Its role is particularly valuable when the source material is more complex than a collection of plain text files. Properly extracting structure from documents gives the downstream retrieval system cleaner and more useful information.
Groq and Ollama
We used Groq and Ollama to support different LLM execution scenarios. Groq is useful when fast inference is a priority. Ollama provides an option for running compatible models locally or in a self-hosted environment.
The separation between retrieval and generation also means the LLM layer can evolve without rebuilding the entire knowledge-ingestion architecture.
Results: What This Solution Achieved
The main result was a cost- and resource-efficient customer-support architecture that could turn an existing knowledge base into a conversational interface. Instead of manually creating and maintaining hundreds of chatbot answers, the system can reuse the information the customer already maintains.
The architecture also provides several practical advantages:
- Less manual FAQ maintenance: Support content can remain in the customer’s existing knowledge sources.
- Faster access to information: Users can ask questions conversationally instead of navigating multiple documentation pages.
- Better handling of natural language: Customers don’t need to phrase their questions exactly like the source FAQ.
- Knowledge synchronization: Changes to the customer’s website can be propagated into the retrieval layer.
- Flexible model deployment: The generation layer can work with cloud inference or locally deployed models.
- Reusable architecture: The same pattern can be adapted to different customer knowledge bases and support scenarios.
No universal accuracy or cost percentage should be attached to the project without verified client measurements. In an AI support system, actual performance depends on the quality of the source documentation, retrieval configuration, model selection, and evaluation methodology.
When to Use a Boilerplate vs. a Custom Chatbot Solution
Indeed, not every company needs a custom-built AI FAQ chatbot. For some businesses, an off-the-shelf solution or FAQ software can provide everything needed to automate common customer inquiries and respond to straightforward customer queries.
For others, the limitations of a ready-made product become apparent as soon as the knowledge base, integrations, or security requirements become more complex. The right choice depends on the size of the knowledge base, the level of customization required, and how deeply the chatbot needs to integrate with existing systems and customer service teams.
When a Boilerplate Solution Is Enough
A ready-made chatbot or FAQ software solution is often the better option when the requirements are straightforward. Consider a boilerplate solution if:
- Your FAQ contains a relatively small number of questions;
- The information changes infrequently;
- You need to launch a chatbot quickly;
- Standard integrations are sufficient;
- You do not require custom retrieval or business logic;
- You have simple roles: content administrators and users;
- History of chats and messages are enough;
- You are comfortable using the provider’s infrastructure and AI models.
For example, a small SaaS company with a few dozen frequently asked questions may not need a custom RAG architecture. A ready-made chatbot for FAQ can be configured relatively quickly and provide a good customer experience without substantial development effort.
Boilerplate solutions can also be a practical way to automate repetitive customer queries before investing in a more sophisticated system. If most support tickets involve simple, predictable questions, a ready-made chatbot may already provide enough value to reduce the workload for service teams.
When a Custom Chatbot Makes More Sense
A custom solution becomes more valuable when the chatbot needs to work with a company’s existing infrastructure and continuously changing knowledge. A custom AI FAQ chatbot may be a better fit when you need:
- Integration with an existing knowledge base or website;
- Advanced roles, clustering information for different user groups;
- Automatic synchronization of documentation changes;
- Custom document ingestion and processing;
- Advanced semantic or hybrid search;
- Integration with internal business systems;
- Private or self-hosted LLM deployment;
- Custom authentication and access controls, integration with existing enterprise authentication layer;
- Control over the retrieval and response-generation process;
- Control over tokens consumed is needed;
- Audit of user activity, hot topics analysis is necessary;
- Support for complex or specialized workflows.
Custom solutions are particularly useful when the system needs to understand varied customer inquiries rather than match predefined phrases.
Technologies such as natural language processing and machine learning allow the chatbot to interpret different ways of asking the same question and retrieve the information that best matches the user’s intent.
A custom chatbot can also be connected to customer data, support platforms, and other business systems. For example, it could use information from previous support tickets or customer interactions to provide more context, provided that appropriate privacy and access controls are in place.
This can create a more personalized customer engagement experience while allowing support agents to focus on complex cases that require human involvement.
| Requirement | Boilerplate Solution | Custom Chatbot Solution |
| Quick initial deployment | ✓ | — |
| Simple FAQ | ✓ | — |
| Limited customization | ✓ | — |
| Small and stable knowledge base | ✓ | — |
| Large or complex knowledge base | — | ✓ |
| Automatic content synchronization | Limited | ✓ |
| Custom retrieval logic | Limited | ✓ |
| Semantic search | Depends on provider | ✓ |
| Self-hosted LLM | Depends on provider | ✓ |
| Custom integrations | Limited | ✓ |
| Custom authentication and access control | Limited | ✓ |
| Full control over infrastructure | — | ✓ |
| Specialized support workflows | Limited | ✓ |
| Private or sensitive knowledge sources | Depends on provider | ✓ |
| Long-term flexibility | Limited | ✓ |
| Lower upfront development effort | ✓ | — |
| Content audit and analysis | — | ✓ |
| Maximum customization | — | ✓ |
Boilerplate vs. Custom Chatbot: Key Differences
Employee FAQ Chatbot
The same architecture can be used internally rather than for customer support. An employee FAQ chatbot can give employees a conversational way to access internal HR, IT, and operational documentation.
Instead of searching through multiple internal portals, an employee can ask a question and receive an answer based on the company’s current policies and procedures.
Typical questions might include:
- “How do I request vacation time?”
- “What is the process for replacing my laptop?”
- “Where can I find the company’s expense policy?”
- “How do I access a particular internal service?”
The underlying RAG architecture remains largely the same: internal documents are ingested and indexed, relevant information is retrieved for each question, and an LLM generates the response based on that context.
The main difference is the source of the knowledge and the access controls around it. A customer-facing FAQ chatbot should only expose public information, while an employee chatbot may need to work with confidential internal documentation and role-specific access permissions.
For more advanced internal assistants that can reason across systems and take actions, AI agent development can extend the chatbot beyond simple question answering.
Organizations with strict privacy or compliance requirements can also consider private LLM development services for greater control over model deployment and sensitive business data.
FAQ Chatbot Examples
The following FAQ chatbot examples illustrate the kinds of questions a RAG-based support assistant can handle. The examples are generalized rather than presented as verbatim client conversations.
Example 1: Account Management
Customer:
“How do I change the email address on my account?”
Chatbot:
“To change your account email, open your profile settings and update the email under Account Information. You may need to verify the new address before the change takes effect.”
The customer does not need to use the exact wording from the documentation. The chatbot identifies the relevant account-management information and provides it in a conversational format.
Example 2: Subscription
Customer:
“Can I switch plans in the middle of my billing period?”
Chatbot:
“Plan changes are supported according to the subscription policy. The available options and billing treatment depend on the type of plan you’re currently using.”
A production chatbot would use the client’s current subscription documentation to provide the specific policy and steps.
Example 3: Troubleshooting
Customer:
“My integration stopped working after I changed my API settings. What should I check?”
Chatbot:
“Start by checking the API credentials and configuration used by the integration. If those are correct, review the integration’s connection and authentication requirements in the troubleshooting guide.”
These examples demonstrate why a chatbot questions and answers list does not necessarily need to be created manually. The source documentation can provide the factual content while the AI layer adapts it to the user’s wording.
The post How We Built an AI FAQ Chatbot for Customer Support appeared first on SCAND.



