GGUF Model Catalog Editor - Mungert69/GGUFModelBuilder GitHub Wiki
Model Catalog Editor
System Overview
For Managing the catalog of models to be converted to GGUF:
- Redis-backed storage for high-performance access
- Flask web interface for user-friendly management
- CLI tools for automated operations
Core Components
redis_utils.py
)
1. Redis Utilities (- Atomic catalog operations
- Backup/restore functionality
- Bulk import capabilities
- CLI interface for scripting
2. Flask Web Application
- Responsive web interface
- Secure configuration management
- Full CRUD operations
- Advanced search capabilities
3. HTML Frontend
- 8 template pages + base layout
- Bootstrap-powered responsive design
- Intuitive navigation workflow
Feature Matrix
Feature | CLI | Web UI | API |
---|---|---|---|
Add Model | ✅ | ✅ | ❌ |
Edit Model | ✅ | ✅ | ❌ |
Search Models | ❌ | ✅ | ❌ |
Bulk Import | ✅ | ✅ | ❌ |
Export Catalog | ✅ | ✅ | ❌ |
Backup/Restore | ✅ | ✅ | ❌ |
Connection Config | ✅ | ✅ | ❌ |
Workflow Diagram
graph TD
A[User] -->|Web Browser| B(Flask App)
B --> C{Action Type}
C -->|CRUD| D[Redis Utilities]
C -->|Config| E[Settings File]
D --> F[(Redis DB)]
A -->|CLI| G[redis_utils.py]
G --> D
Getting Started
Prerequisites
- Python 3.8+
- Redis server
- Required packages:
pip install flask redis python-dotenv
Installation
- Clone repository
- Configure Redis connection:
# In config.json { "host": "localhost", "port": 6379, "ssl": true, "password" : "" }
- Launch application:
python app.py # Web interface python redis_utils.py --help # CLI options
Usage Examples
Web Interface:
- Access
http://localhost:5000
- Navigate using top menu
- Manage models through intuitive UI
CLI Operations:
# Add a model
catalog.add_model("company/model", {"converted": False, ...})
# Get a model
model = catalog.get_model("company/model")
Maintenance
Backup Strategy
- Daily automated backups (recommended)
- Manual backups before major changes
- Store backups in version control
Monitoring
- Redis memory usage
- Connection health checks
- Error log review
Troubleshooting
Issue | Solution |
---|---|
Connection refused | Verify Redis is running and credentials |
Invalid model data | Check JSON formatting in imports |
Missing templates | Ensure all HTML files are in templates/ |
Roadmap
- Add user authentication
- Implement API endpoints
- Add audit logging
- Develop advanced search filters