ModelForge
ModelForge provides model-provider and model-target parsing primitives used by
thesa.
The crate normalizes Hugging Face, Ollama, and CivitAI target forms into simple archive targets. It does not call provider APIs and it does not download models; it only turns user-facing target strings into stable Rust enums.
Install
[]
= "0.1"
Providers
assert_eq!;
assert_eq!;
Supported providers:
ModelProvider::Hf: Hugging Face HubModelProvider::Ollama: local Ollama registry/runtimeModelProvider::Civitai: CivitAI model catalog
Targets
let target = parse_model_target_for_provider?;
assert_eq!;
assert_eq!;
# Ok::
Normalized targets:
ModelTarget::Org(String): namespace, organization, owner, or search keywordModelTarget::Model(String): concrete model idModelTarget::Top: top/trending/popular presetModelTarget::Latest: latest/newest/new preset
Accepted Forms
Hugging Face:
ownerowner/modelhttps://huggingface.co/owner/modeltop,trending,popularlatest,newest,new
Ollama:
model-nameor search keywordtop,trending,popularlatest,newest,new
CivitAI:
- numeric model id, such as
827184 https://civitai.com/models/827184- search keyword
top,trending,popularlatest,newest,new
Design
ModelForge keeps parsing separate from provider API clients. Consumers such as
thesa can use the normalized target enum to decide whether to fetch a single
model, list a namespace, or run a provider-specific preset query.