Build a RAG System with Automatic Citations using Qdrant, Gemini & OpenAI

This workflow implements a Retrieval-Augmented Generation (RAG) system that:

Stores vectorized documents in Qdrant, Retrieves relevant content based on user input, Generates AI answers using Google Gemini, Automatically cites the document sources (from Google Drive).

Workflow Steps

Create Qdrant Collection A REST API node creates a new collection in Qdrant with specified vector size (1536) and cosine similarity.

Load Files from Google Drive The workflow lists all files in a Google Drive folder, downloads them as plain text, and loops through each.

Text Preprocessing & Embedding

Documents are split into chunks (500 characters, with 50-character overlap). Embeddings are created using OpenAI embeddings (text-embedding-3-small assumed). Metadata (file name and ID) is attached to each chunk.

Store in Qdrant All vectors, along with metadata, are inserted into the Qdrant collection.

Chat Input & Retrieval

When a chat message is received, the question is embedded and matched against Qdrant. Top 5 relevant document chunks are retrieved. A Gemini model is used to generate the answer based on those sources.

Source Aggregation & Response

File IDs and names are deduplicated. The AI response is combined with a list of cited documents (filenames). Final output:

      AI Response

 Sources: ["Document1", "Document2"]

Main Advantages

End-to-end Automation**: From document ingestion to chat response generation, fully automated with no manual steps. Scalable Knowledge Base**: Easy to expand by simply adding files to the Google Drive folder. Traceable Responses**: Each answer includes its source files, increasing transparency and trustworthiness. Modular Design**: Each step (embedding, storage, retrieval, response) is isolated and reusable. Multi-provider AI**: Combines OpenAI (for embeddings) and Google Gemini (for chat), optimizing performance and flexibility. Secure & Customizable**: Uses API credentials and configurable chunk size, collection name, etc.

How It Works
Document Processing & Vectorization
The workflow retrieves documents from a specified Google Drive folder.
Each file is downloaded, split into chunks (using a recursive text splitter), and converted into embeddings via OpenAI.
The embeddings, along with metadata (file ID and name), are stored in a Qdrant vector database under the collection negozio-emporio-verde.

Query Handling & Response Generation
When a user submits a chat message, the workflow:
Embeds the query using OpenAI.
Retrieves the top 5 relevant document chunks from Qdrant.
Uses Google Gemini to generate a response based on the retrieved context.
Aggregates and deduplicates the source file names from the retrieved chunks.
The final output includes both the AI-generated response and a list of source documents (e.g., Sources: ["FAQ.pdf", "Policy.txt"]).

Set Up Steps
Configure Qdrant Collection
Replace QDRANTURL and COLLECTION in the "Create collection" HTTP node to initialize the Qdrant collection with:
Vector size: 1536 (OpenAI embedding dimension).
Distance metric: Cosine.
Ensure the "Clear collection" node is configured to reset the collection if needed.

Google Drive & OpenAI Integration
Link the Google Drive node to the target folder (Test Negozio in this example).
Verify OpenAI and Google Gemini API credentials are correctly set in their respective nodes.

Metadata & Output Customization
Adjust the "Aggregate" and "Response" nodes if additional metadata fields are needed.
Modify the "Output" node to format the response (e.g., changing Sources: {{...}} to match your preferred style).

Testing
Trigger the workflow manually to test document ingestion.
Use the chat interface to verify responses include accurate source attribution.

Note: Replace placeholder values (e.g., QDRANTURL) with actual endpoints before deployment.

Need help customizing?
Contact me for consulting and support or add me on Linkedin.

1
Downloads
695
Views
8.44
Quality Score
advanced
Complexity
Author:Davide(View Original →)
Created:8/13/2025
Updated:11/17/2025

🔒 Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments