This project enables you to chat with your PDFs, TXT files, or Docx files entirely offline, free from OpenAI dependencies.
- Python >= 3.10
- Ollama
- Local LLM integration: Uses Ollama for improved performance
- Multiple file format support: PDF, TXT, DOCX, MD
- Persistent vector database: Reusable indexed documents
- Streamlit-based user interface
- Ollama integration for significant performance improvements
- Uses nomic-embed-text and llama3.2:3b models (can be changed to your liking)
- Upgraded to Haystack 2.0
- Persistent Chroma vector database to enable re-use of previously updloaded docs
- Install Ollama from https://ollama.ai/download
- Clone this repository
- Install dependencies:
pip install -r requirements.txt
- Pull required Ollama models:
ollama pull nomic-embed-text ollama pull llama3.2:3b
- After cloning the repository, create two folders named "uploads" and "vec-index" in the code directory.
-
Run the Streamlit app:
ollama run llama3.2
-
Run the Streamlit app:
python -m streamlit run local_llama_v3.py
-
Upload your documents and start chatting!
- Document Indexing: Uploaded files are processed, split, and embedded using Ollama.
- Vector Storage: Embeddings are stored in a local Chroma vector database.
- Query Processing: User queries are embedded and relevant document chunks are retrieved.
- Response Generation: Ollama generates responses based on the retrieved context and chat history.
This project is licensed under the MIT License.
You are free to use, modify, and distribute this software in accordance with the terms of the license.