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.
Metadata
Release files for dustylm 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dustylm-0.1.1.tar.gz | 7.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dustylm-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.3 kB
Release files / dustylm-0.1.1.tar.gz
| Download URL | dustylm-0.1.1.tar.gz |
|---|---|
| Size | 7.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
29fca95baaa8c2025e278cce76f4fc208cd585cc03960ebff237d1e2a7d4f649
|
|
BLAKE2b-256 checksum How to use checksums |
04275d2616fc1dc069cbae64c598482621a62b8e6e9781f86e19e120abe006a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / dustylm-0.1.1-py3-none-any.whl
| Download URL | dustylm-0.1.1-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
38786067a918f9c98339879aa34d6d677eeb97a7bda0ad0b111465c87dc12f11
|
|
BLAKE2b-256 checksum How to use checksums |
b05cfbb09af21ac744750727b0cf12cd2728aefdd0693bfc1cf6f071725c10ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|