.png)
At Kaizen Softworks, the adoption of AI tools is a central topic. To efficiently manage their usage and licensing requests, we created an internal form. However, the classic problem with this type of workflow is misalignment. Collaborators often have very specific questions about internal policies or need to validate their use cases against documentation that is scattered across various drives or wikis.
The goal was to prevent team leaders from becoming the "human knowledge base" for every request, which creates a bottleneck. We needed a conversational AI assistant that could combine the answers from a form with dynamic knowledge, delivering accurate and verifiable responses. This is where FormBot was born.
What is FormBot? An Integrated Conversational Experience
At a high level, FormBot is a solution that integrates a multi-step form with an accompanying chat assistant. The user interacts with a dual interface: while completing the form fields, they can converse with a bot to resolve questions in real time.
The experience is centered on two key capabilities:
- Form Context Awareness: The chat has "awareness" of the answers the user is completing. This eliminates the need for the user to repeat information, creating a truly fluid and intelligent experience.
- On-the-Fly Expandable Knowledge: The user can upload a document (an internal policy, a project guide, etc.) and, in seconds, the bot ingests that knowledge. When the user asks a question, the bot now provides a detailed and verifiable answer, citing the exact fragments of the document as sources to ensure maximum reliability.
The Challenge: Privacy and Data Isolation in Generative AI
When handling internal documents from different users and teams, knowledge isolation is a non-negotiable requirement. A user who uploads their team's policies must never be able to access or influence the knowledge base of another user who is uploading documentation for a different project.
This need for absolute privacy was the pillar upon which we designed FormBot's entire technical architecture, ensuring that every interaction was completely private and isolated.
Our Architecture: Multi-Tenant RAG with LangChain and Pinecone
To achieve robust data isolation and a fluid experience, we built FormBot on a RAG (Retrieval-Augmented Generation) architecture with a multi-tenant focus.
The Technology Stack
We selected a set of flexible and powerful tools to bring FormBot to life:
- AI/Orchestration: An OpenAI LLM (GPT-4) for reasoning and natural language processing.
- Vector Database: Pinecone, specifically chosen for its native capability to isolate user documents via namespaces.
- RAG Framework: LangChain, to orchestrate the entire flow of document ingestion, information retrieval, and response generation.
- Language: JavaScript.
- Infrastructure: Deployment on AWS/Cloud.
Total Isolation with Namespaces
The RAG concept involves using a retriever (in our case, Pinecone) to fetch relevant data from a knowledge base before sending the question to the LLM. This ensures that the answers are based on verifiable information and not on the model's general knowledge.
To guarantee privacy, we implemented a total isolation process using Pinecone's Namespaces. Here is how it works:
- Identification: Upon initiating the flow, the user's email is captured.
- Namespace Generation: This email is used to derive a unique and private namespace within Pinecone (for example, email-kaizen-softworks-com). A namespace functions as an isolated container for the data.
- "On the Fly" Indexing: When a user uploads their documents, LangChain's ingestion process processes and indexes the embeddings (vector representations of the text) exclusively within their derived namespace.
- Isolated Retrieval: When the user asks a question, the RAG layer only performs the vector search within their own namespace. This ensures there is no possibility of data leakage or cross-contamination of knowledge between users.
How Does "On the Fly" Indexing Work?
"On the fly" indexing means the bot learns instantly from the knowledge the user provides at the moment they are completing the form. This is the process that allowed FormBot to go from not knowing what Kaizen Softworks is, to providing a detailed, sourced answer in a matter of seconds.
The flow is as follows:
- The user uploads a document (PDF, DOCX, etc.) via the interface.
- The document is automatically split into manageable text fragments (chunks).
- The embeddings for each fragment are generated using the AI model.
- These embeddings are sent to Pinecone and stored under the user's specific, private namespace.
This dynamic flow is the basis for scaling the solution to other departments like Human Resources or IT Support, where policies and documentation may be specific to a small group of people and change quickly.
Building internal AI tools?
Get in Touch to explore how to build privacy-first AI for your organization.




.png)