Back to directory

Narwhal

A disaggregated LLM inference framework that reallocates prefill and decode roles across a fixed GPU fleet as demand changes, while model weights stay loaded.

Narwhal

A controller continuously estimates prefill and decode pressure against configured service-level objectives for the current and neighboring role splits, using measured per-engine performance curves, and moves an engine between roles only when doing so improves the worst-projected SLO ratio by a configured margin and passes role-floor, cooldown and health checks; resident requests finish on their current engine while new requests follow the revised split.

It routes prefill and decode traffic separately with KV-cache transfer between them, offers streaming and non-streaming chat and completion APIs including function tools and reasoning output where the underlying engine supports them, and includes request deadlines, disconnect cancellation, bounded queues, Prometheus metrics and a Grafana dashboard.

It installs from PyPI on Linux with Python 3.11 or newer, with a development command that stands up a local NVIDIA CUDA fleet on Ubuntu, or Ubuntu under WSL2, for development.

More in Inference

See all 770
  • OpenDecision

    deepanwadhwa.github.io

    An open-source Python package that answers typed questions about application state or documents using a local natural-language-inference model, returning structured choice, score, yes/no or evidence-relation values instead of free text.

  • Lifeboat

    iterate.ai

    A local inference server that puts an OpenAI- and Anthropic-compatible API in front of open-weight language models running on hardware you control, from a laptop to a GPU cluster.

  • Claude S40

    github.com

    An unofficial Claude chat client for 2007-era Nokia Series 40 phones, built as a Java ME app plus a small Go relay server, with web search, reading mode and saved chats.