localRAG/README.md
2026-01-26 19:49:02 +01:00

66 lines
1.2 KiB
Markdown

# Local RAG Setup
Minimal RAG implementation with LangChain, Ollama, and FAISS.
## Dependencies
Only 5 packages:
- `langchain` - Core framework
- `langchain-ollama` - Ollama integration
- `faiss-cpu` - Vector search
- `sentence-transformers` - Embeddings
- `pypdf` - PDF loading
## Installation
```bash
# Create conda environment
conda create -n local_rag python=3.10 -y
conda activate local_rag
# Install dependencies
pip install -r requirements.txt
```
## Setup Ollama
```bash
# Make sure Ollama is running
ollama serve
# Pull a model (in another terminal)
ollama pull llama2
```
## Usage
Edit `local_rag.py` and uncomment the example code:
```python
# Add documents
rag.add_documents([
"path/to/document1.pdf",
"path/to/document2.txt"
])
# Query
question = "What is this document about?"
answer = rag.query(question)
print(f"Answer: {answer}")
```
Run:
```bash
python local_rag.py
```
## How it works
1. **Load documents** - PDFs or text files
2. **Split into chunks** - 1000 chars with 200 overlap
3. **Create embeddings** - Using sentence-transformers
4. **Store in FAISS** - Fast similarity search
5. **Query** - Retrieve relevant chunks and generate answer with Ollama
That's it! Simple and minimal.