EasySearch - Local RAG
EasySearch (LocalRAG Easy Search) is a local Retrieval Augmented Generation (RAG) application that enables users to query their documents using natural language processing. The application uses a fully local architecture, ensuring data privacy and confidentiality by processing all operations on-premises without sending data to external services. The system leverages LangChain for RAG orchestration, Qdrant for vector storage, Redis for conversation history, and Ollama for local LLM inference. The application supports multiple document formats (PDF, DOCX, TXT, MD) and provides an intuitive Streamlit-based chat interface for document-based question answering.
Overview
EasySearch (LocalRAG Easy Search) is a local Retrieval Augmented Generation (RAG) application that enables users to query their documents using natural language processing. The application uses a fully local architecture, ensuring data privacy and confidentiality by processing all operations on-premises without sending data to external services. The system leverages LangChain for RAG orchestration, Qdrant for vector storage, Redis for conversation history, and Ollama for local LLM inference. The application supports multiple document formats (PDF, DOCX, TXT, MD) and provides an intuitive Streamlit-based chat interface for document-based question answering.
Key Features
Local RAG application with complete on-premises processing
Multi-format document support (PDF, DOCX, TXT, MD)
Natural language question-answering based on document content
Qdrant vector database for semantic search
Redis-based conversation history for context-aware responses
Ollama local LLM inference (Llama3/Llama3.2)
Streamlit chat interface for intuitive interaction
Privacy-preserving architecture with no external API calls
Docker Compose deployment with microservices architecture
Automatic document indexing and embedding generation
Document-grounded answers only (no hallucination)
Session-based chat history management
pages.portfolio.projects.easysearch_local_rag.features.12
Technical Highlights
Developed fully local RAG application ensuring data privacy
Implemented LangChain-based RAG orchestration with Qdrant vector store
Created multi-format document processing pipeline
Integrated Ollama for local LLM inference without external dependencies
Built Redis-based conversation history for context-aware responses
Designed Docker Compose microservices architecture for easy deployment
Challenges and Solutions
Local LLM Setup
Configured Ollama for easy local LLM inference with pre-configured models
Vector Store Management
Implemented Qdrant vector database with HuggingFace embeddings for efficient semantic search
Conversation Context
Developed Redis-based chat history with session management for context maintenance
Document Processing
Integrated LangChain document loaders for multiple format support (PDF, DOCX, TXT, MD)
Response Quality
Ensured document-grounded answers using system prompts and context filtering
Deployment Complexity
Orchestrated multiple services using Docker Compose for easy deployment and management
Technologies
RAG Framework
Vector Database
LLM
Frontend
Storage
Document Processing
Deployment
Environment
Project Information
- Status
- Completed
- Year
- 2024
- Architecture
- Microservices Architecture with Local Processing - Streamlit, Qdrant, Redis, Ollama
- Category
- Data Science