This is a comprehensive RAG (Retrieval-Augmented Generation) monorepo template that allows users to query information from their document collections. This tool provides AI-powered knowledge extraction and question-answering capabilities for various document types and domains.
The assistant can work with various document formats including:
- PDF Documents: Technical specifications, manuals, research papers
- Text Files: Documentation, articles, reports
- Word Documents: Policies, procedures, guides
- Markdown Files: Technical documentation, wikis
- Docker and Docker Compose installed on your system
-
Clone the repository:
git clone <your-repo-url> cd RAG-monorepo
-
Start the application using Docker Compose:
docker-compose up --build
-
Access the application through your web browser at:
http://localhost:3002
- Document Upload: Support for PDF, TXT, DOC, DOCX, and MD files
- Intelligent Querying: AI-powered question answering based on document content
- Document Comparison: Compare two documents and analyze differences/similarities
- Multi-language Support: Interface available in multiple languages
- Real-time Streaming: Live response streaming for better user experience
- Collection Management: Organize documents into collections for better organization
Choose the appropriate language model for your use case:
Recommended models include:
mistralllamadeepseek
Before running the application, you need to set up your environment variables:
-
Create your environment files from the templates:
cp .env.sample .env cp backend/rag/.env.sample backend/rag/.env
-
Edit both files according to your environment:
- Main
.envfile: Configure security settings, database connections, and server ports. - RAG
.envfile: Set embedding providers, models, retrieval parameters, and the ChromaDB collection name.
- Main
-
Place your ChromaDB data folder into the
backend/rag/directory. The path to this folder should also be configured in thebackend/rag/.envfile if it's not the default.
These configurations are essential for proper functioning of the application and must be adjusted to match your infrastructure and requirements.
To interact with the RAG system:
- Type your question in the chat interface
- Upload documents to build your knowledge base
- Format questions clearly, for example:
- "What are the key points in this document?"
- "Compare the requirements between these two documents"
- "Explain the process described in the manual"
The system will retrieve relevant information from your document collection and provide accurate responses based on the content you've uploaded.