Production-ready AI components framework with security and resilience
Project description
AI_Catalyst Framework
A production-ready AI components framework with enterprise-grade security, resilience, and async performance optimizations.
🚀 Features
Core Components
- 🤖 Three-Tier LLM System - Local/Network/OpenAI with concurrent failover (3x faster)
- 🔒 PII Detection & Scrubbing - Enterprise-grade data protection with audit logging
- 📁 Multi-Format File Processing - Async streaming for JSON, JSONL, CSV, TXT
- 🗄️ Database Patterns - Async PostgreSQL with connection pooling
- ⚙️ Configuration Management - Encrypted config with key rotation
- 📊 System Monitoring - Health checks and performance metrics
Security & Resilience
- 🔐 Secure Configuration - AES-256 encryption for sensitive data
- 🔑 API Key Vault - Secure storage with automatic rotation
- 🚦 Rate Limiting - Token bucket algorithm with configurable limits
- 📋 Audit Logging - Comprehensive compliance tracking
- 🔄 Retry Logic - Exponential backoff with circuit breakers
- 💚 Health Monitoring - Continuous service availability checks
📦 Installation
pip install ai-catalyst
⚡ Quick Start
Basic Usage
import asyncio
from ai_catalyst import LLMProvider, PIIProcessor, FileProcessor
async def main():
# LLM with automatic failover
llm = LLMProvider()
response = await llm.generate_async("Explain quantum computing")
print(f"Response: {response['content']}")
# PII scrubbing with audit logging
pii = PIIProcessor()
clean_text = await pii.scrub_text_async("Call John at 555-1234")
print(f"Scrubbed: {clean_text}") # "Call <NAME> at <PHONE>"
# Async file processing
processor = FileProcessor()
async for item in processor.process_file_async("data.json"):
print(f"Processed: {item['data']}")
asyncio.run(main())
Production Setup with Security
from ai_catalyst import (
LLMProvider, APIKeyVault, RateLimiter,
AuditLogger, SecureConfigManager
)
# Setup secure environment
key_vault = APIKeyVault()
key_vault.store_key('openai', 'your-api-key')
rate_limiter = RateLimiter()
audit_logger = AuditLogger(log_file='audit.log')
# Initialize with security components
llm = LLMProvider(
key_vault=key_vault,
rate_limiter=rate_limiter,
audit_logger=audit_logger
)
🏗️ Architecture
Async-First Design
- Non-blocking I/O - All operations are async by default
- Concurrent Processing - Parallel execution with semaphore control
- Backward Compatibility - Sync wrappers for existing code
- Resource Management - Proper cleanup and session handling
Security Model
- Zero-Trust - All operations are logged and rate-limited
- Encryption - Sensitive data encrypted at rest
- Audit Trail - Complete compliance logging
- Access Control - API key management with rotation
Resilience Patterns
- Circuit Breakers - Automatic failure detection and recovery
- Retry Logic - Exponential backoff with jitter
- Health Checks - Continuous service monitoring
- Graceful Degradation - Fallback strategies for all components
📊 Performance
| Operation | Before | After | Improvement |
|---|---|---|---|
| LLM Failover | 45s | 15s | 3x faster |
| Batch PII Processing | 60s | 12s | 5x faster |
| File Processing | Blocking | Streaming | Non-blocking |
| Rate Limiting | N/A | <1ms | Sub-millisecond |
🔧 Configuration
Environment Variables
# API Keys
export OPENAI_API_KEY="your-openai-key"
export ANTHROPIC_API_KEY="your-anthropic-key"
# Security
export AI_CATALYST_MASTER_KEY="your-encryption-key"
Configuration File
# config.yaml
llm:
timeout: 30
model: "gpt-4"
security:
rate_limits:
openai: "paid" # or "free"
audit_log: "audit.log"
processing:
batch_size: 100
max_concurrency: 10
🧪 Testing
# Install with dev dependencies
pip install ai-catalyst[dev]
# Run tests
pytest
# Run with coverage
pytest --cov=ai_catalyst
📚 Documentation
- Migration Guide - Upgrading to async
- Security Guide - Enterprise security setup
- Performance Guide - Optimization tips
- API Reference - Complete API documentation
🤝 Contributing
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
📄 License
MIT License - see LICENSE file for details.
🆘 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Security: Report security issues privately to security@example.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ai_catalyst-0.1.1.tar.gz
(40.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_catalyst-0.1.1.tar.gz.
File metadata
- Download URL: ai_catalyst-0.1.1.tar.gz
- Upload date:
- Size: 40.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75c4006604dc0a2aad8186df81b970d1e5c69c0ee00986f5b96fe6a8f4b579be
|
|
| MD5 |
e45c7e91bd490adca394bce8f370aaab
|
|
| BLAKE2b-256 |
0091c4800c553858398c6ef96df1084b97260a4a3a2a56232efbf7c378c1b441
|
File details
Details for the file ai_catalyst-0.1.1-py3-none-any.whl.
File metadata
- Download URL: ai_catalyst-0.1.1-py3-none-any.whl
- Upload date:
- Size: 43.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4e3c129e9810a05760a90daabede388f64e72f24a3cf8bc859f7a20048e4e92
|
|
| MD5 |
95bb46da1590a7793da38c70fa90d38c
|
|
| BLAKE2b-256 |
4a6ed16864f409c6441e7e742a6812ed528663bb919651a4e93e455255016dcb
|