Files
LocalAI/website/data/engines.yaml
mudler's LocalAI [bot] 94d5affcea feat(website): split the site, move docs to /docs, add a landing page (#11243)
* feat(website): split the site, move docs to /docs, add a landing page

The Hugo docs site has always been localai.io itself, which left nowhere to
explain what LocalAI is or show what the team builds. This adds a separate
marketing site at the root and moves the documentation under /docs/.

Docs:
  The existing site keeps its content tree and its Relearn theme, and now
  builds with baseURL <root>/docs/. Its _index.md, which held a hand written
  landing page, becomes a real documentation home.

  Every previously published URL keeps working. GitHub Pages has no server
  side rewrites, so .github/ci/gen-redirects.sh walks the built docs output
  and leaves a meta refresh plus a canonical link at each old root path. It
  covers bare .html files too, which is what keeps /gallery.html alive, and
  it never overwrites a path the marketing site already owns.

Website:
  A second Hugo site under website/ with its own layouts and no external
  theme, so the marketing side does not have to fight Relearn's home rooted
  menu and asset pipeline. CI builds both and merges them into one Pages
  artifact.

  The design is derived from the project logo rather than invented: the navy
  of the triangle, the cyan of the llama, the purple of the speed bars. Those
  offset bars became the motion signature. The background renders a real
  depth-anything.cpp depth map as contour lines and switches to a
  locate-anything.cpp style detection overlay over the engines section.

  Also included: an /engines/ index driven entirely by data/engines.yaml, a
  /blog/ section with five posts written from the release notes and the
  engine benchmark suites, install.sh and a Kubernetes manifest since the
  site advertises both, and a rule in .agents/ that release preparation now
  includes a blog post and demo clips.

Every figure on the site is derived from the repository or the GitHub API,
not from memory. Correcting them against their sources found one error in
README.md: voxtral-tts.c is text to speech, not speech to text.

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write] [Agent]

* feat(website): add a star history chart, rewrite the history post in first person

The history post read like a changelog written by a committee. It is now in
Ettore's voice, first person, with the admissions left in.

The numbers paragraph in particular read like a directory listing. It now says
what the figures mean rather than which file they came from.

Adds an interactive star history chart, built from the GitHub stargazers API
rather than embedded from a third party, so the page makes no external request
and cannot break when someone else's service is down. The four releases the
post is organised around are marked on the curve, and the labels stack into
rows because three of them land within two months of each other.

The API stops paginating at 40,000 items, so the curve is measured up to
December 2025 and the segment from there to today's total is drawn dashed,
labelled as an estimate in the caption and in the tooltip. It is a straight
line between two known points, and the chart says so rather than implying it
is data.

Also drops "marketing site" from the README heading and everywhere else it
appeared, and calls it the main site instead.

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Assisted-by: Claude Code:claude-opus-5 [Bash] [Edit] [Write]

---------

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
2026-07-31 09:00:56 +02:00

282 lines
13 KiB
YAML

# The nineteen native engines the LocalAI team wrote, and the one quantization
# recipe that feeds them. This file is the single source of truth for the
# /engines/ page: the layout renders whatever is here, in this order, and adds
# nothing of its own. Numbers in `highlights` come from each engine's own
# benchmark suite, so if a README moves, move the number here too.
#
# Fields per engine:
# name display name, matching how the repo calls itself
# tagline one sentence, benefit first, what the user gets
# category must match a category id below
# language implementation language
# repo canonical GitHub URL
# featured optional, renders the entry wide with its clip
# status optional badge for anything not generally announced
# media optional clip under /media/
# poster optional still under /img/
# clips optional extra clips, only shown on featured entries
# highlights optional list of concrete facts
categories:
- id: hearing
label: Hearing
blurb: Turning sound into something a model can act on, words first and then everything else in the room.
- id: voice
label: Voice
blurb: Speech coming back out, in a voice you chose or one you cloned from a few seconds of audio.
- id: identity
label: Identity
blurb: Working out who is in front of the microphone or the camera, and whether they are really there.
- id: vision
label: Vision
blurb: Finding things in an image and naming them, including things nobody trained a class for.
- id: space
label: Space
blurb: Reading distance, camera pose and shape out of ordinary photos, with no rig and no capture setup.
- id: text
label: Text
blurb: Serving language models, and cleaning what goes into them before it leaves the machine.
- id: data
label: Data
blurb: The storage and quantization work that decides what actually fits on your hardware.
engines:
# ---------------------------------------------------------------- hearing
- name: parakeet.cpp
tagline: Transcribe a meeting on a laptop CPU and be finished before whisper.cpp has cleared the first minute.
category: hearing
language: C++17
repo: https://github.com/mudler/parakeet.cpp
featured: true
media: /media/parakeet-duel.mp4
clips:
- src: /media/parakeet-long.mp4
caption: Long-form audio, ours against NeMo on the same machine
highlights:
- About 27x faster than whisper.cpp turbo on CPU, and about 12x on GPU
- WER 0 against NVIDIA NeMo on every published checkpoint, so the transcript is identical
- Cache-aware streaming with end-of-utterance detection, for live audio
- Ten checkpoints, from 110M to 1.1B, and 40 or more locales on the streaming multilingual model
- name: moss-transcribe.cpp
tagline: Get the transcript, the speaker labels and the timestamps out of a single pass, then export straight to srt or json.
category: hearing
language: C++17
repo: https://github.com/localai-org/moss-transcribe.cpp
highlights:
- 1.58x to 1.78x faster than PyTorch on CPU, on about 1.5x less memory
- Byte-identical transcript against the reference, cosine 1.0 component by component
- 3.4 GB at f32 down to 511 MB at q4_k, still byte-identical through q5_k
- name: ced.cpp
tagline: Let the model hear a smoke alarm, a dog or breaking glass, not only the words somebody typed.
category: hearing
language: C++17
repo: https://github.com/localai-org/ced.cpp
media: /media/ced.mp4
highlights:
- 527 AudioSet sound classes, multi-label, tagged in about 55 ms
- 6 MB on disk at ced-tiny q8_0, 111 MB at ced-base
- About 1.25x faster than PyTorch at f32 on half the memory
- Works over REST and live over the realtime websocket
- name: LocalVQE
tagline: Keep a voice loop usable in a real room, with the echo, the noise and the reverb removed before the model ever hears it.
category: hearing
language: C++
repo: https://github.com/localai-org/LocalVQE
highlights:
- Echo cancellation, noise suppression and dereverberation in one pass
- Streaming and causal, 16 ms latency, 5x realtime on a desktop CPU
- From a 17 KB linear filter to a 19 MB joint model, pick what your CPU can afford
- About 21x realtime on a single Raspberry Pi 5 core
# ------------------------------------------------------------------ voice
- name: moss-tts.cpp
tagline: Clone a voice from a short reference clip and have it read anything back at 48 kHz stereo.
category: voice
language: C++17
repo: https://github.com/mudler/moss-tts.cpp
media: /media/moss.mp4
highlights:
- About 1.9x faster per frame than PyTorch on CPU, both at fp32
- Codec decode matches the reference at 114.9 dB SNR
- 48 kHz stereo out of MOSS-TTS-Local v1.5, 12 codebooks
- Flat C API as well as a CLI, so it embeds anywhere
- name: magpie-tts.cpp
tagline: Ship multilingual speech from one GGUF that already carries the codec, the tokenizer and the pronunciation dictionaries.
category: voice
language: C++17
repo: https://github.com/mudler/magpie-tts.cpp
media: /media/magpie.mp4
highlights:
- 63x faster than the NeMo reference at f32, 73x at q8_0
- 5 named voices, 9 languages plus 3 Arabic variants
- 541 MB at q4_k, everything bundled in the single file
- Deterministic from a seed, and parity holds to 3.6e-5 on the full decode
- name: vibevoice.cpp
tagline: Read a multi-speaker script in cloned voices, and transcribe long recordings back with speaker labels, from the same binary.
category: voice
language: C++
repo: https://github.com/localai-org/vibevoice.cpp
highlights:
- Voice cloning from roughly 5 seconds of reference audio
- Long-form ASR with diarization on the same engine as the synthesis
- 11 GB down to 6.8 GB at Q8_0 with no measurable recall loss
- Realtime 0.5B, 1.5B and a 7B ASR model
- name: voxtral-tts.c
tagline: Run a 4B speech model with nothing but a C compiler and libm, reading the weights straight off the safetensors file.
category: voice
language: C
repo: https://github.com/mudler/voxtral-tts.c
status: Experimental
highlights:
- Pure C, no dependency beyond the C standard library and math
- BF16 weights read from mmap, no conversion step
- 20 preset voices across 9 languages, 24 kHz output
- Optional BLAS, Apple Accelerate, NEON and CUDA paths
# --------------------------------------------------------------- identity
- name: voice-detect.cpp
tagline: Tell who is speaking, and read their age, gender and mood, without an onnxruntime install anywhere near it.
category: identity
language: C++17
repo: https://github.com/localai-org/voice-detect.cpp
media: /media/voice.mp4
highlights:
- Embedding cosine 0.9999 or better against the reference, often exactly 1.0
- 5.4x lower peak memory than the Python path, 62 MB against 334 MB
- Six model families, ECAPA-TDNN and WeSpeaker through ERes2Net and CAM++
- Verification, identification against a registry, plus age, gender and emotion
- name: face-detect.cpp
tagline: Detect, recognise and verify a face, and catch a photo held up to the camera, all from one shared library.
category: identity
language: C++17
repo: https://github.com/mudler/face-detect.cpp
featured: true
media: /media/face.mp4
clips:
- src: /media/face-id.mp4
caption: The same person found again in a different photo, one against many
highlights:
- Boxes and landmarks land within 1 pixel of insightface
- Recognition embedding cosine 1.000000 against the reference
- Detect, align, recognise, demographics and anti-spoofing in one pipeline
- The yunet-sface pack is Apache-2.0, so it is usable commercially
# ----------------------------------------------------------------- vision
- name: locate-anything.cpp
tagline: Ask for the red mug on the left in plain words and get coordinates back, not a caption.
category: vision
language: C++17
repo: https://github.com/mudler/locate-anything.cpp
featured: true
media: /media/locate.mp4
highlights:
- 1.66x to 3.09x faster than the official PyTorch on CPU
- Identical detections, IoU 1.000 against the reference
- At q8_0 it is about 4.8x faster than PyTorch f32 and still box-identical
- 9.2 GB at f16, 4.7 GB at q4_k, and an annotated PNG out of the box
- name: rf-detr.cpp
tagline: Get boxes and instance masks at COCO quality out of any image, with no PyTorch anywhere in the process.
category: vision
language: C++17
repo: https://github.com/localai-org/rf-detr.cpp
highlights:
- 11 variants, 5 detection and 6 segmentation, from Nano to 2XLarge
- About 9% faster than PyTorch on CPU at F16, and 1.86x smaller
- Mean mask IoU 0.99 against PyTorch on the small segmentation variants
- 44 published GGUFs, F32 through Q4_K
# ------------------------------------------------------------------ space
- name: depth-anything.cpp
tagline: Turn one ordinary photo into distance in metres, a camera pose and a point cloud you can open in a 3D viewer.
category: space
language: C++17
repo: https://github.com/localai-org/depth-anything.cpp
featured: true
media: /media/depth-race.mp4
clips:
- src: /media/depth.mp4
caption: Metric depth on CPU, against PyTorch on the same box
highlights:
- 1.31x faster than PyTorch on CPU at q8_0, in half the memory
- Loads about 6.7x faster, 112 ms against 749 ms
- 99 MB at q4_k, and correlation 1.0 with the reference component by component
- Exports to glb, COLMAP and PLY, plus confidence and a sky mask
- name: free-splatter.cpp
tagline: Turn a handful of snapshots into a 3D Gaussian scene with no camera poses, no rig and no GPU.
category: space
language: C++
repo: https://github.com/localai-org/free-splatter.cpp
highlights:
- 0.22 s per forward pass on Vulkan, against 1.37 s for the PyTorch reference on CUDA
- 14 s on 12 CPU threads, roughly 4x the reference, with no GPU at all
- Pose-free, so ordinary photos are enough
- One 3D Gaussian per pixel, ready for any splat viewer
- name: trellis2.cpp
tagline: Drop in one image and get back a watertight textured mesh you can hand straight to a 3D tool.
category: space
language: C++
repo: https://github.com/localai-org/trellis2cpp
highlights:
- Single image to GLB with PBR materials, all inference in C++
- Prebuilt f16 GGUFs, so no safetensors download and no conversion
- Flat C ABI plus a Go demo server with a browser mesh viewer
- Metal on by default on Apple, CUDA and CPU elsewhere
# ------------------------------------------------------------------- text
- name: vllm.cpp
tagline: Serve a language model with vLLM's throughput from a 66 MiB binary instead of a 9 GB virtualenv.
category: text
language: C++20
repo: https://github.com/mudler/vllm.cpp
status: In development
media: /media/vllm-race.mp4
highlights:
- 66 MiB to install, against 9.1 GiB for a vLLM environment
- Continuous batching, paged KV cache, prefix caching and speculative decoding
- 25 or more architectures, gated token for token against a pinned vLLM oracle
- CPU, CUDA, Metal and Vulkan from the same source
- name: privacy-filter.cpp
tagline: Catch names, addresses and card numbers on the machine, before any of it reaches a model or a log.
category: text
language: C++
repo: https://github.com/localai-org/privacy-filter.cpp
highlights:
- 7.7x faster than HF Transformers on an 8k token document, on CPU
- Runs flat to 131k tokens on GPU where HF runs out of memory at about 16k
- Exact UTF-8 byte offsets for every span it finds
- 360 tokens a second on a Raspberry Pi 5, on-device
# ------------------------------------------------------------------- data
- name: local-store
tagline: Get vector search inside LocalAI with nothing to deploy, nothing to configure and no second service to run.
category: data
language: Go
repo: https://github.com/mudler/LocalAI
highlights:
- Ships in-tree and is the default, so embeddings work on a fresh install
- Exact cosine similarity, zero configuration
- Backs RAG, the face and voice registries and the semantic router cache
- Swap in valkey-store per request when you need durability
- name: apex-quant
tagline: Fit a 35B mixture-of-experts model on a card you already own, and watch it run faster than the full-size build.
category: data
language: Shell
repo: https://github.com/localai-org/apex-quant
highlights:
- 64.6 GB down to 12.2 GB, at 74.4 tokens a second against 30.4
- APEX Quality beats F16 perplexity at a third of the size
- Ordinary GGUF files, so stock llama.cpp opens them unpatched
- 201 builds already sitting in the LocalAI gallery