A comprehensive, hackathon-ready synthetic data generator that combines state-of-the-art adversarial training with fairness constraints, privacy preservation, and modern data infrastructure.
- ** Advanced GAN Models**: cGAN/WGAN-GP with gradient penalty for high-quality synthetic tabular data
- ️ Fairness & Privacy: Built-in constraints during training to ensure responsible AI
- ️ Vector Database: Weaviate integration for embedding storage and similarity search
- ** Graph Database**: Neo4j for comprehensive data lineage tracking and audit trails
- ️ Cloud Ready: Full AWS integration for scalable training and deployment (SageMaker, S3, EC2)
- ** Interactive Dashboard**: Beautiful Streamlit-powered UI for easy data generation and visualization
- ** Agent Framework**: Strands Agents SDK integration for workflow automation
- ** Privacy Preservation**: Differential privacy with comprehensive audit capabilities
- ** Quality Evaluation**: Extensive metrics for synthetic data quality assessment
# 1. Install dependencies
pip install -r requirements.txt
# 2. Launch dashboard
python run_dashboard.pyNavigate to http://localhost:8501 and upload your dataset to get started!
# 1. Install dependencies
pip install -r requirements.txt
# 2. Run with sample data
python src/main.py --data examples/sample_data.csv --config config/config.yaml --samples 1000from src.main import SyntheticDataPipeline
# Initialize pipeline
pipeline = SyntheticDataPipeline("config/config.yaml")
# Run complete workflow
results = pipeline.run_complete_pipeline("your_data.csv", num_synthetic_samples=1000)- Python 3.8+
- Optional: Docker (for Weaviate/Neo4j)
- Optional: AWS account (for cloud features)
adversal-synthetic-data/
├── src/ # Core implementation
│ ├── models/ # GAN architectures
│ ├── training/ # Training loops and fairness constraints
│ ├── data/ # Data processing utilities
│ ├── databases/ # Weaviate and Neo4j integrations
│ └── agents/ # Strands Agents integration
├── aws/ # AWS deployment scripts
├── notebooks/ # Jupyter notebooks for experimentation
├── tests/ # Unit tests
├── config/ # Configuration files
└── streamlit_app.py # Main dashboard application
# Start Weaviate (Vector Database)
docker run -d -p 8080:8080 --name weaviate semitechnologies/weaviate:latest
# Start Neo4j (Graph Database)
docker run -d -p 7474:7474 -p 7687:7687 --name neo4j \
-e NEO4J_AUTH=neo4j/password neo4j:latest# Configure AWS credentials
aws configure
# Or set environment variables
export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret
export AWS_DEFAULT_REGION=us-west-2- WGAN-GP: Wasserstein GAN with Gradient Penalty for stable training
- Conditional GAN: For controlled generation with specific conditions
- Fairness Integration: Built-in demographic parity and equalized odds constraints
- Differential Privacy: Opacus integration for privacy-preserving training
- Fairness Constraints: Multiple fairness metrics and constraint types
- Quality Evaluation: Comprehensive synthetic data quality assessment
- Weaviate: Vector embeddings for similarity search and data exploration
- Neo4j: Complete data lineage tracking and audit trails
- Embedding Generation: Multiple methods including autoencoders and PCA
- SageMaker: Scalable model training and deployment
- S3: Secure data and model storage with versioning
- EC2: Custom training clusters for large datasets
- Interactive UI: Upload, train, generate, and evaluate
- Real-time Visualization: Training progress and quality metrics
- Fairness Audits: Built-in bias detection and mitigation tools
import pandas as pd
from src.main import SyntheticDataPipeline
# Load your data
df = pd.read_csv("your_dataset.csv")
# Create and run pipeline
pipeline = SyntheticDataPipeline("config/config.yaml")
results = pipeline.run_complete_pipeline("your_dataset.csv")
# Access generated data
synthetic_data = results['synthetic_data']
quality_score = results['quality_metrics']['overall_score']
fairness_passed = results['fairness_audit']['audit_passed']# Custom model configuration
config = {
'model': {
'type': 'wgan_gp',
'noise_dim': 100,
'lambda_gp': 10.0
},
'fairness': {
'enabled': True,
'protected_attributes': ['gender', 'race'],
'fairness_metric': 'demographic_parity'
},
'privacy': {
'enabled': True,
'epsilon': 1.0 # Differential privacy budget
}
}- ** Quick Setup**: Get running in under 5 minutes
- ** Beautiful UI**: Professional Streamlit dashboard
- ** End-to-End**: Complete workflow from upload to download
- ** Rich Visualizations**: Training curves, quality metrics, fairness audits
- ️ Cloud Integration: Deploy to AWS with one command
- ** Agent Integration**: Ready for workflow automation
- ** Demo Ready**: Built-in sample data and configurations
- ** ML Framework**: PyTorch with GPU support
- ️ Vector Database: Weaviate for embeddings
- ** Graph Database**: Neo4j for lineage tracking
- ️ Cloud Platform: AWS (SageMaker, EC2, S3)
- ** Frontend**: Streamlit with modern UI
- ** Agent Framework**: Strands Agents SDK
- ** Privacy**: Opacus for differential privacy
- ️ Fairness: Fairlearn and custom implementations