The official Python SDK for DustyLM: an 8M-parameter model that talks like a robot vacuum.
Project description
dustylm
Run DustyLM, the 8M parameter robot vacuum language model, in a few lines.
pip install dustylm
from dustylm import DustyLM
model = DustyLM.from_pretrained("mkhordoo/dusty-8m-sft")
response = model.chat([{"role": "user", "content": "who are you?"}])
print(response["choices"][0]["message"]["content"])
# beep. i am a little robot. i clean floors and find crumbs.
Backends
| Backend | Install | Model file | Best for |
|---|---|---|---|
torch (default) |
pip install dustylm |
~32 MB (FP32) | Inspection and experimentation |
onnx |
pip install dustylm[onnx] |
~8–10 MB (int8) | A compact model artifact |
These sizes describe the model files, not the complete Python environment. Installation size varies by platform. Both backends currently include PyTorch as an SDK dependency.
# ONNX backend
model = DustyLM.from_pretrained("mkhordoo/dusty-8m-sft", backend="onnx")
Loading Local Checkpoints
Pass a Hugging Face repository ID to download its model and tokenizer automatically, as shown in the quick-start example:
model = DustyLM.from_pretrained("mkhordoo/dusty-8m-sft")
For files already downloaded to your machine, pass their local directory
instead. With the default filenames, that directory must contain
tokenizer.json and either model.pt (PyTorch) or model_int8.onnx (ONNX):
model = DustyLM.from_pretrained("./my-checkpoint/")
You can use any local directory as the artifact root. model_file and
tokenizer_file are resolved relative to that directory, so they may use
different filenames or relative paths.
If you trained a model with the main
dusty-lm repository, its checkpoint and
tokenizer are stored in separate artifact directories. Load the promoted SFT
checkpoint with:
from dustylm import DustyLM
model = DustyLM.from_pretrained(
"artifacts/checkpoints",
model_file="dusty8m_sft.pt",
tokenizer_file="../tokenizers/dusty_tokenizer.json",
)
response = model.chat([{"role": "user", "content": "who are you?"}])
To inspect an intermediate checkpoint instead, change model_file to an
existing step file such as dusty8m_sft_step_100.pt.
The SDK infers several architecture dimensions from PyTorch checkpoint shapes and currently expects DustyLM-compatible configurations.
API
DustyLM.from_pretrained
DustyLM.from_pretrained(
repo_id_or_path: str = "mkhordoo/dusty-8m-sft",
*,
model_file: str | None = None,
tokenizer_file: str | None = None,
backend: str = "torch",
)
| Argument | Default | Description |
|---|---|---|
repo_id_or_path |
"mkhordoo/dusty-8m-sft" |
HF Hub repo ID or local directory path |
model_file |
"model.pt" (torch) / "model_int8.onnx" (onnx) |
Override the model filename in the directory |
tokenizer_file |
"tokenizer.json" |
Override the tokenizer filename |
backend |
"torch" |
"torch" or "onnx" |
DustyLM.chat
model.chat(
messages: list[dict],
temperature: float = 0.7,
max_tokens: int = 64,
top_p: float = 0.9,
) -> dict
Returns an OpenAI-style chat completion dict.
Built from the dusty-lm training repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dustylm-0.1.1.tar.gz.
File metadata
- Download URL: dustylm-0.1.1.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29fca95baaa8c2025e278cce76f4fc208cd585cc03960ebff237d1e2a7d4f649
|
|
| MD5 |
1abda5786c1db04898400bd0f6bd0ee5
|
|
| BLAKE2b-256 |
04275d2616fc1dc069cbae64c598482621a62b8e6e9781f86e19e120abe006a1
|
File details
Details for the file dustylm-0.1.1-py3-none-any.whl.
File metadata
- Download URL: dustylm-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38786067a918f9c98339879aa34d6d677eeb97a7bda0ad0b111465c87dc12f11
|
|
| MD5 |
4d468e917344f9c99b19669ed5921f0d
|
|
| BLAKE2b-256 |
b05cfbb09af21ac744750727b0cf12cd2728aefdd0693bfc1cf6f071725c10ac
|