Document-based RAG Chat Assistant with Google Drive, Supabase & OpenAI
Go to WorkflowDescription
What is this?
This RAG workflow allows you to build a smart chat assistant that can answer user questions based on any collection of documents you provide. It automatically imports and processes files from Google Drive, stores their content in a searchable vector database, and retrieves the most relevant information to generate accurate, context-driven responses. The workflow manages chat sessions and keeps the document database current, making it adaptable for use cases like customer support, internal knowledge bases, or HR assistant etc.
How it works
1. Chat RAG Agent
Uses OpenAI for responses, referencing only specific data from the vector store (data that is uploaded on google drive folder).
Maintains chat history in Postgres using a session key from the chat input.
2. Data Pipeline (File Ingestion)
Monitors Google Drive for new/updated files and automatically updates them in vector store
Downloads, extracts, and processes file content (PDFs, Google Docs).
Generates embeddings and stores them in the Supabase vector store for retrieval.
3. Vector Store Cleanup
Scheduled and manual routines to remove duplicate or outdated entries from the Supabase vector store.
Ensures only the latest and unique documents are available for retrieval.
4. File Management
Handles folder and file creation, upload, and metadata assignment in Google Drive.
Ensures files are organized and linked with their corresponding vector store entries.
Getting Started
Create and connect all relevant credentials
Google Drive
Postgres
Supabase
OpenAI
Run the table creation nodes first to set up your database tables in Postgres
Upload your documents through Google Drive (or swap out for a different file storage solution)
The agent will process them automatically (chunking text, storing tabular data in Postgres)
Start asking questions that leverage the agent's multiple reasoning approaches
Customization (optional)
This template provides a solid foundation that you can extend by:
Tuning the system prompt for your specific use case
Adding document metadata like summaries
Implementing more advanced RAG techniques
Optimizing for larger knowledge bases
Note, if you're using a different nodes eg. file storage, vector store etc the integration may vary a little
Prerequisites
Google account (google drive)
Supabase account
OpenAI APIs
Postgres account