nnll
(or null) is a project incubator and AI toolkit for managing and processing Diffusion and Large Language Models (LLMs). The project is divided into modular, ready-to-use components and may appeal to researchers or developers working in the general field of machine learning.
- Generative AI pipeline preparation & execution
- Extracting and classifying metadata from images/models
- Consumer-grade GPU/CPU inference optimization
- Misc UX/UI Experimentation
- 🧨Diffusers, 🤗Transformers, 🦙Ollama, 🍏MLX, 🌀DSPy, 🚅LiteLLM
git clone https://github.com/darkshapes/nnll.git
Next-->
python3 -m venv .venv_nnll
Next-->
Set-ExecutionPolicy Bypass -Scope Process -Force; .venv_nnll\Scripts\Activate.ps1
source .venv_nnll/bin/activate
Some modules are full scripts and can be run from command line. These are written here:
zodiac
- Experimental generative system
astra
- Live diagnostic console
nnll-hash
- Hash the layer metadata from models within a directory and write out to console.
nnll-parse
- Process metadata headers from a model file or directory of models and write out to individual JSON files.
nnll-find
- Search a local directory of model layer files (HuggingFace🤗 index.json, JSON from nnll-parse
)
Each module contains 1-5 functions or 1-2 classes and its own test routines. There are multiple ways to integrate nnll into a project (sorted by level of involvement)
- Recommended : Add the project as a dependency including only modules that are needed with
"nnll[nnll_04,nnll_16]" @ git+https://github.com/darkshapes/nnll
- Install the entire project as a dependency via
nnll @ git+https://github.com/darkshapes/nnll
- Basic clone or fork of the project
- Use a submodule
- Filter a clone of the project to a single subfolder and include it in your own
nnll
is a 'living' project. Like a spoken language, it evolves over time. For this reason, we prefer 'living' duplications of the repo. If you still want a static hard copy, you are welcome to copy and paste folders or code wherever you please.
* Environment : uv
* Testing : pytest -vv tests/*.py
* Formatting : ruff/better align
* Linting : ruff/pylint
* Type Checking: pylance/pyright
* Spelling : typos vsc
* Docstrings : sphinx