Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DocuMind - Local RAG Chatbot

An offline-capable, privacy-focused Retrieval-Augmented Generation (RAG) chatbot. DocuMind allows you to chat with your local documents using purely local AI models (via Ollama), ensuring no data ever leaves your machine.


� Key Features & Limitations

✅ Supported Files (Recommended)

  • .txt Files: Best performance. Raw text is easiest for the AI to understand.
  • Standard .pdf Files: Works well for reports, essays, and contracts where text is selectable.

⚠️ Limitations (Not Recommended)

  • Scanned PDFs / Images: Files that are just images (scans) are not supported. The system cannot read text trapped in images (no OCR).
  • Complex Tables: PDFs with complex financial tables or multi-column layouts might lose structural context, leading to less accurate answers.

🚀 Setup & Installation

1. Prerequisites

Ensure you have the following installed:

2. Prepare the AI Models

You need to pull the specific models used by this project. Open your terminal/command prompt and run:

ollama pull llama3
ollama pull nomic-embed-text

Note: Ensure the Ollama app is running in the background before executing these commands!

3. Installation Steps

Clone the repository and set up your environment:

# 1. Clone the repository (if you haven't already)
git clone https://github.com/your-username/DocuMind.git
cd DocuMind

# 2. Create a virtual environment
# Windows:
python -m venv .venv
.venv\Scripts\Activate
# Mac/Linux:
# python3 -m venv .venv
# source .venv/bin/activate

# 3. Install dependencies
pip install -r requirements.txt

4. Running the Application

Once installed, run the server:

python app.py

After a few seconds, you should see:

INFO: Uvicorn running on http://127.0.0.1:8000

5. Stopping the Application

To stop the server, go to the terminal window and press Ctrl + C, or simply close the terminal window.


🎮 How to Use

  1. Open the App: Go to http://127.0.0.1:8000 in your browser.
  2. Add Documents:
    • Create a folder named data in the project root (if it doesn't exist).
    • Place your .pdf or .txt files inside the data/ folder.
  3. Ingest: Click the "Ingest Documents" button on the left sidebar.
    • Wait for the "Ingestion successful!" message.
  4. Chat: Type your question in the chat box and hit Enter!

🛠️ Tech Stack

  • Backend: Python, FastAPI
  • AI orchestration: LangChain
  • Vector Store: FAISS (Facebook AI Similarity Search)
  • LLM & Embeddings: Ollama (Llama 3, Nomic Embed Text)
  • Frontend: Vanilla HTML/CSS/JavaScript

🤝 Contributing

Feel free to fork this repository and submit pull requests.

About

"A privacy-first local chatbot that reads your PDFs and TXT files, searches them instantly, and answers your questions using Llama 3—no internet needed.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages