Skip to main content

Modelverse at a glance

Modelverse is the CLIKA model library, built on the ClikaRT runtime. It is a catalog of model families, the clikart-cli executable, which inspects, fetches and runs any model in it, and the library behind both (C++ first, with Python and Kotlin bindings over the same surface). It is not a training framework, not a conversion pipeline, and not a hosted service. Models arrive as the checkpoint files their authors published; Modelverse knows which family they belong to and what that family can do.

The mental model​

Five ideas carry the whole product, in the order you meet them.

  1. The catalog is a registry of model families. A family (Llama, Qwen, Whisper, CLIP, ...) declares its input and output modalities, the checkpoints it matches, and the commands it provides. The catalog is built into clikart-cli; listing it needs no network.

    clikart-cli list
  2. A model is a source you name. A Hugging Face Hub repo id, a pasted Hugging Face URL, or a local directory all name a model. Identity resolution reads config files only, so asking what something is never downloads weights.

    clikart-cli info Qwen/Qwen2.5-0.5B-Instruct
    clikart-cli info ./my-model-dir

    A GGUF repo that ships several quantizations takes a selector, <org>/<repo>:Q6_K; with several options and no selection, clikart-cli refuses and prints the option table instead of guessing.

  3. The clikart-cli executable has four commands that work without naming a model: list, devices, info, and fetch. Every other command runs on a model you name: clikart-cli <model> <command>. Which commands a model supports depends on what kind of model it is: a text-generation model has prompt, serve, and bench; a speech model has transcribe. clikart-cli <model> --help prints the commands a model supports:

    clikart-cli <source> --help # that model's commands
    clikart-cli <source> prompt "The capital of France is"
  4. Serving is one of those commands. serve hosts the model behind an OpenAI-compatible HTTP server, with streaming chat completions, a built-in web chat page, and per-modality routes (transcription, embeddings, depth and more). Existing OpenAI clients connect by changing their base URL.

    clikart-cli <source> serve --port 8000
  5. Everything clikart-cli does, the library does. The executable is a thin layer over the clika_modelverse library: a snapshot call fetches, the registry loads a runnable model, a serving pipeline generates. Your application makes the same two calls in its own language:

    mv::hub::SnapshotResult snapped = mv::hub::snapshot("Qwen/Qwen2.5-0.5B-Instruct", opts);
    mv::GenerativeModel model = mv::ModelRegistry::builtin().load_generative(snapped.local_dir, load);

The tutorial series turns these into working sessions, one idea per part.

Platforms​

Modelverse ships inside the ClikaRT release archive, one archive per platform: Linux (x86_64, arm64), Windows (x86_64, arm64), macOS and Android, and from Python it ships inside the clika-runtime wheel as clika_runtime.modelverse. Extract the archive and run in place; the manifest inside pins the exact runtime this build linked against, so a mismatched pair refuses with a readable error. The ClikaRT system requirements apply unchanged; Modelverse adds no requirements of its own.