DeepFix is an AI agent assistant that automatically diagnoses common bugs in machine learning and provides a prioritized list of solutions backed by industry/research best practices. It integrates directly into ML workflows.
- Automatic Bug Detection: Identifies common ML issues automatically
- Prioritized Solutions: Get ranked suggestions based on best practices
- Workflow Integration: Seamlessly works with PyTorch Lightning and MLflow
- Research-Backed: Solutions are grounded in industry standards and research
- Multi-Artifact Analysis: Analyzes datasets, model checkpoints, training logs, and deepchecks reports
Full documentation is available at: Documentation Site
Or build and serve locally:
uv pip install -e .
uv run mkdocs serveThe documentation includes:
- Getting Started Guide - Installation and setup
- Quickstart Guide - Get up and running quickly
- Guides - Use case guides and tutorials
- API Reference - Complete API documentation
- Architecture - System architecture and design
- Deployment - Deployment guides
- Contributing - Contributing guidelines
# Clone the repository
git clone https://github.com/delcaux-labs/deepfix.git
cd deepfix
# Install with uv (recommended)
uv venv --python 3.11
uv pip install -e .See the Installation Guide for detailed instructions and Docker deployment.
from deepfix_sdk.client import DeepFixClient
from deepfix_sdk.zoo.datasets.foodwaste import load_train_and_val_datasets
from deepfix_sdk.data.datasets import ImageClassificationDataset
# Start server (in separate terminal)
# uv run deepfix-server launch -e deepfix-server/.env -port 8844
# Initialize client
client = DeepFixClient(api_url="http://localhost:8844", timeout=120)
# Load and wrap dataset
dataset_name = "cafetaria-foodwaste"
train_data, val_data = load_train_and_val_datasets(
image_size=448, batch_size=8, num_workers=4, pin_memory=False
)
train_data = ImageClassificationDataset(dataset_name=dataset_name, dataset=train_data)
val_data = ImageClassificationDataset(dataset_name=dataset_name, dataset=val_data)
# Diagnose dataset
result = client.get_diagnosis(
train_data=train_data,
test_data=val_data,
batch_size=8,
language="english",
)
print(result.to_text())For more examples, see the Quickstart Guide.
This repository contains multiple packages:
- deepfix-core: Core models and types
- deepfix-sdk: Client SDK for interacting with DeepFix server
- deepfix-server: Analysis server with agentic reasoning
- deepfix-kb: Knowledge base for best practices
See the Architecture Documentation for details.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
We welcome contributions! Please see the Contributing Guidelines for details.
- Documentation: Full Documentation
- Issues: GitHub Issues
- Email: Contact us at fadel.seydou@delcaux.com
Built with ❤️ for the ML community