Spaces:
Sleeping
Sleeping
🚀 Fast Embeddings Setup Guide
Problem
Local Ollama embeddings are VERY slow (30+ minutes for 2,861 chunks).
Solution
Use Google's Gemini API for embeddings - FREE and 100x faster!
Quick Setup (5 minutes)
1. Get Free Google API Key
- Visit: https://aistudio.google.com/app/apikey
- Click "Create API Key"
- Copy the key
2. Add to .env file
GOOGLE_API_KEY="your_actual_key_here"
3. Run PDF Processor
python src/pdf_processor.py
Choose option 1 (Google Gemini) when prompted.
Speed Comparison
| Method | Time | Cost |
|---|---|---|
| Google Gemini | ~2-3 minutes | FREE |
| Local Ollama | 30+ minutes | FREE |
Fallback Options
Option 1: No API Key
If GOOGLE_API_KEY is not set, system automatically falls back to local Ollama.
Option 2: Manual Selection
When running python src/pdf_processor.py, choose:
- Option
1: Google Gemini (fast) - Option
2: Local Ollama (slow)
Technical Details
Google Embeddings:
- Model:
models/embedding-001 - Dimensions: 768
- Rate Limit: 1500 requests/minute (more than enough)
- Cost: FREE for standard usage
Local Ollama:
- Model:
nomic-embed-text - Dimensions: 768
- Speed: ~1 chunk/second
- Cost: FREE, runs offline
Usage in Code
from src.pdf_processor import get_embedding_model
# Use Google (recommended)
embeddings = get_embedding_model(provider="google")
# Use Ollama (backup)
embeddings = get_embedding_model(provider="ollama")
# Auto-detect with fallback
embeddings = get_embedding_model() # defaults to Google
Already Built Vector Store?
If you already created the vector store with Ollama, you don't need to rebuild it!
To rebuild with faster embeddings:
from src.pdf_processor import setup_knowledge_base, get_embedding_model
embeddings = get_embedding_model(provider="google")
retrievers = setup_knowledge_base(embeddings, force_rebuild=True)
Troubleshooting
"GOOGLE_API_KEY not found"
- Check
.envfile exists in project root - Verify key is set:
GOOGLE_API_KEY="AIza..." - Restart terminal/IDE after adding key
"Google embeddings failed"
- Check internet connection
- Verify API key is valid
- System will auto-fallback to Ollama
Ollama still slow?
- Embeddings are one-time setup
- Once built, retrieval is instant
- Consider using Google for initial build
Security Note
⚠️ Never commit .env file to Git!
Your .gitignore should include:
.env
*.faiss
*.pkl
Need help? The system has automatic fallback - it will always work!