Metadata-Version: 2.4
Name: fabrique
Version: 0.2.0
Summary: Foundation for modern ML research
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: flax==0.11.0
Requires-Dist: gemma>=3.1.0
Requires-Dist: huggingface-hub>=0.33.4
Requires-Dist: jinja2>=3.1.6
Requires-Dist: kauldron==1.3.0
Requires-Dist: multimethod>=2.0
Requires-Dist: optax>=0.2.5
Requires-Dist: safetensors>=0.5.3
Requires-Dist: tokenizers>=0.21.2
Dynamic: license-file

# fabrique

_fabrique_ provides foundation components for ML research in LLM/VLM space, including:

* model implementations
* fine-tuning routines and examples
* multi-GPU execution
* interoperability with broader ecosystem

_fabrique_ is written in JAX/Flax NNX and follows their [philosophy](PHILOSOPHY.md).

## Installation

You can install the latest released version of _fabrique_ from PYPI:

```bash
pip install fabrique
```

Alternatively, you can mount the development version of _fabrique_ directly to your project and use existing code as reference for your own models:

```bash
cd /path/to/your/project

# clone the repository
mkdir lib
git clone https://github.com/ridcl/fabrique lib/fabrique

# or even add it as a submodule
# git submodule add git@github.com:ridlc/fabrique.git lib/fabrique

# set up PYTHONPATH to include fabrique as a package
export PYTHONPATH=${PYTHONPATH}:lib/fabrique/src
```


## Usage

TODO


## Model support

As of now, _fabrique_ focuses on Gemma as its primary LLM/VLM implementation. Previously, _fabrique_ also supported Llama 3, Phi 3/4 and Qwen 2.5. You can find these old implementations in [legacy/src/fabrique/models](legacy/src/fabrique/models).
