Add Library RAG project and cleanup root directory

- Add complete Library RAG application (Flask + MCP server)
  - PDF processing pipeline with OCR and LLM extraction
  - Weaviate vector database integration (BGE-M3 embeddings)
  - Flask web interface with search and document management
  - MCP server for Claude Desktop integration
  - Comprehensive test suite (134 tests)

- Clean up root directory
  - Remove obsolete documentation files
  - Remove backup and temporary files
  - Update autonomous agent configuration

- Update prompts
  - Enhance initializer bis prompt with better instructions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-30 11:57:12 +01:00
parent 48470236da
commit d2f7165120
84 changed files with 26517 additions and 2 deletions

View File

@@ -0,0 +1,131 @@
#!/bin/bash
# Library RAG - Type Safety & Documentation Enhancement
# Initialization script for development environment
set -e # Exit on error
echo "=========================================="
echo "Library RAG - Development Environment Setup"
echo "=========================================="
echo ""
# Check Python version
echo "[1/5] Checking Python version..."
python_version=$(python --version 2>&1)
echo " Found: $python_version"
if ! python -c "import sys; assert sys.version_info >= (3, 10), 'Python 3.10+ required'" 2>/dev/null; then
echo " ERROR: Python 3.10 or higher is required"
exit 1
fi
echo " OK"
echo ""
# Create virtual environment if it doesn't exist
echo "[2/5] Setting up virtual environment..."
if [ ! -d "venv" ]; then
echo " Creating virtual environment..."
python -m venv venv
echo " Created venv/"
else
echo " Virtual environment already exists"
fi
# Activate virtual environment
if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "win32" ]]; then
source venv/Scripts/activate
else
source venv/bin/activate
fi
echo " Activated virtual environment"
echo ""
# Install dependencies
echo "[3/5] Installing Python dependencies..."
pip install --quiet --upgrade pip
pip install --quiet -r requirements.txt
# Install type checking tools
pip install --quiet mypy types-Flask pydocstyle
echo " Installed all dependencies"
echo ""
# Start Docker containers
echo "[4/5] Starting Weaviate with Docker Compose..."
if command -v docker &> /dev/null; then
if docker compose version &> /dev/null; then
docker compose up -d
echo " Weaviate is starting..."
echo " Waiting for Weaviate to be ready..."
sleep 5
# Check if Weaviate is ready
max_attempts=30
attempt=0
while [ $attempt -lt $max_attempts ]; do
if curl -s http://localhost:8080/v1/.well-known/ready > /dev/null 2>&1; then
echo " Weaviate is ready!"
break
fi
attempt=$((attempt + 1))
sleep 2
done
if [ $attempt -eq $max_attempts ]; then
echo " WARNING: Weaviate may not be ready yet. Check 'docker compose logs'"
fi
else
echo " WARNING: Docker Compose not found. Please install Docker Desktop."
echo " Weaviate will need to be started manually: docker compose up -d"
fi
else
echo " WARNING: Docker not found. Please install Docker Desktop."
echo " Weaviate will need to be started manually: docker compose up -d"
fi
echo ""
# Create Weaviate schema if needed
echo "[5/5] Initializing Weaviate schema..."
python -c "
import weaviate
try:
client = weaviate.connect_to_local()
collections = client.collections.list_all()
if 'Chunk' in collections:
print(' Schema already exists')
else:
print(' Creating schema...')
import schema
print(' Schema created successfully')
client.close()
except Exception as e:
print(f' Note: Could not connect to Weaviate: {e}')
print(' Run this script again after Weaviate is ready, or run: python schema.py')
" 2>/dev/null || echo " Schema setup will be done on first Flask app run"
echo ""
# Print summary
echo "=========================================="
echo "Setup Complete!"
echo "=========================================="
echo ""
echo "To start the Flask application:"
echo " python flask_app.py"
echo ""
echo "The application will be available at:"
echo " http://localhost:5000"
echo ""
echo "Useful commands:"
echo " - Run type checks: mypy --strict ."
echo " - Run tests: pytest tests/ -v"
echo " - Check docstrings: pydocstyle --convention=google ."
echo " - View Weaviate: http://localhost:8080/v1"
echo ""
echo "For development with Ollama (free LLM):"
echo " 1. Install Ollama: https://ollama.ai"
echo " 2. Pull model: ollama pull qwen2.5:7b"
echo " 3. Start Ollama: ollama serve"
echo ""
echo "For MCP Server (Claude Desktop integration):"
echo " 1. Run MCP server: python mcp_server.py"
echo " 2. Configure Claude Desktop (see MCP_README.md)"
echo " 3. Use parse_pdf and search tools from Claude"
echo ""