Fss-Rag-Mini/docs/FALLBACK_SETUP.md
BobAi a96ddba3c9 MAJOR: Remove all Claude references and rename to Mini-RAG
Complete rebrand to eliminate any Claude/Anthropic references:

Directory Changes:
- claude_rag/ → mini_rag/ (preserving git history)

Content Changes:
- Replaced 930+ Claude references across 40+ files
- Updated all imports: from claude_rag → from mini_rag
- Updated all file paths: .claude-rag → .mini-rag
- Updated documentation and comments
- Updated configuration files and examples

Testing Changes:
- All tests updated to use mini_rag imports
- Integration tests verify new module structure

This ensures complete independence from Claude/Anthropic
branding while maintaining all functionality and git history.
2025-08-12 19:21:30 +10:00

1.9 KiB

RAG System - Hybrid Mode Setup

This RAG system can operate in three modes:

pip install -r requirements-light.txt
# Requires: ollama serve running with nomic-embed-text model
  • Size: ~426MB total
  • Performance: Fastest (leverages Ollama)
  • Network: Uses local Ollama server

🔄 Mode 2: Hybrid (Best of Both Worlds)

pip install -r requirements-full.txt  
# Works with OR without Ollama
  • Size: ~3GB total (includes ML fallback)
  • Resilience: Automatic fallback if Ollama unavailable
  • Performance: Ollama speed when available, ML fallback when needed

🛡️ Mode 3: ML Only (Maximum Compatibility)

pip install -r requirements-full.txt
# Disable Ollama fallback in config
  • Size: ~3GB total
  • Compatibility: Works anywhere, no external dependencies
  • Use case: Offline environments, embedded systems

🔧 Configuration

Edit .mini-rag/config.json in your project:

{
  "embedding": {
    "provider": "hybrid",           // "hybrid", "ollama", "fallback"  
    "model": "nomic-embed-text:latest",
    "base_url": "http://localhost:11434",
    "enable_fallback": true         // Set to false to disable ML fallback
  }
}

📊 Status Check

from mini_rag.ollama_embeddings import OllamaEmbedder

embedder = OllamaEmbedder()
status = embedder.get_status()
print(f"Mode: {status['mode']}")
print(f"Ollama: {'✅' if status['ollama_available'] else '❌'}")
print(f"ML Fallback: {'✅' if status['fallback_available'] else '❌'}")

🎯 Automatic Behavior

  1. Try Ollama first - fastest and most efficient
  2. Fall back to ML - if Ollama unavailable and ML dependencies installed
  3. Use hash fallback - deterministic embeddings as last resort

The system automatically detects what's available and uses the best option!