Build a financial documents assistant using Qdrant and Mistral.ai
Ready for 3.0What this workflow does
This AI workflow has 23 nodes and runs when a chat message arrives (plus 2 other triggers). Along the way it connects Embeddings Mistral Cloud, Mistral Cloud Chat Model and Qdrant Vector Store.
How it runs
Trigger: When a chat message arrives (plus 2 other triggers).
- Question and Answer Chain: answers questions over your documents (RAG), with model: Mistral Cloud Chat Model; retriever: Vector Store Retriever
- Set Variables (Edit Fields (Set)): sets 5 fields: directory, file_added, file_changed…
- Handle File Event (Switch): routes items into 3 branches
- Search For Existing Point (HTTP Request): calls an HTTP API (POST)
- Search For Existing Point (HTTP Request): calls an HTTP API (POST)
- Read File (Read/Write Files from Disk): reads a file from disk
- Has Existing Point? (If): checks a condition and branches into true / false
- Has Existing Point? (If): checks a condition and branches into true / false
- Prepare Embedding Document (Edit Fields (Set)): sets 2 fields: data, file_location
- Delete Existing Point (HTTP Request): calls an HTTP API (POST)
…plus 3 more steps. See the full node list below.
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (15)
- Local File Trigger
n8n-nodes-base.localFileTrigger - Manual Trigger
n8n-nodes-base.manualTrigger - Edit Fields (Set)
n8n-nodes-base.set - Read/Write Files from Disk
n8n-nodes-base.readWriteFile - Embeddings Mistral Cloud
@n8n/n8n-nodes-langchain.embeddingsMistralCloud - Default Data Loader
@n8n/n8n-nodes-langchain.documentDefaultDataLoader - Recursive Character Text Splitter
@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter - Chat Trigger
@n8n/n8n-nodes-langchain.chatTrigger - Question and Answer Chain
@n8n/n8n-nodes-langchain.chainRetrievalQa - Mistral Cloud Chat Model
@n8n/n8n-nodes-langchain.lmChatMistralCloud - Vector Store Retriever
@n8n/n8n-nodes-langchain.retrieverVectorStore - HTTP Request
n8n-nodes-base.httpRequest - If
n8n-nodes-base.if - Switch
n8n-nodes-base.switch - Qdrant Vector Store
@n8n/n8n-nodes-langchain.vectorStoreQdrant
From the author
This n8n workflow demonstrates how to manage your Qdrant vector store when there is a need to keep it in sync with local files. It covers creating, updating and deleting vector store records ensuring our chatbot assistant is never outdated or misleading.…