# AIForge 🚀

A modular, pipeline-first AI framework that unifies ML, DL, CV, NLP, and detection through a plugin-based architecture.

## 🧠 Core Philosophy
- **Don't build one huge framework**: Keep the core lightweight with zero heavy dependencies.
- **Plugin Ecosystem**: Dynamically load the tools you need (OpenCV, scikit-learn, PyTorch, NLTK, YOLO) only when you need them.

## 📦 Installation
AIForge is built as a monorepo. You can install it locally:

```bash
pip install -e .
```

To install specific plugin dependencies:
```bash
pip install -e .[vision,ml,dl,nlp,yolo]
# Or install everything:
pip install -e .[all]
```

## 🔥 Usage

### Python API
```python
from aiforge import Pipeline, load_plugin

# Load necessary plugins
load_plugin("vision")
load_plugin("yolo")
load_plugin("nlp")

pipe = Pipeline()
result = (
    pipe
    .add("blur", kernel=5)
    .add("detect_yolo", model_name="yolov8n.pt")
    .add("tokenize")
    .run(input_data)
)
```

### CLI
Run pipelines dynamically via YAML configuration files:

```bash
aiforge pipeline.yaml
```

**`pipeline.yaml` Example:**
```yaml
plugins:
  - vision
  - yolo
input_data: "path/to/image.jpg"
pipeline:
  - blur:
      kernel: 5
  - detect_yolo: {}
```

## 🔌 Available Plugins
- **vision**: OpenCV operations (`blur`, `grayscale`, `edge_detect`)
- **ml**: scikit-learn models (`train_rf`, `predict_rf`)
- **dl**: PyTorch integration (`tensor_conversion`, `normalize_tensor`)
- **nlp**: NLTK tools (`tokenize`, `lowercase`)
- **yolo**: Ultralytics object detection (`detect_yolo`)
