# MLServe v0.1.3 - Table of Contents

> Serve machine learning models in Elixir. Production ML inference for Phoenix and the BEAM:
OTP supervision, worker pools, dynamic batching, caching, telemetry, model versioning and
zero-downtime canary rollout around any backend — Nx, Bumblebee, ONNX, Python or a remote
service.

## Pages

- [Overview](readme.md)
- [Changelog](changelog.md)
- [License](license.md)

- Guides
  - [Getting Started](getting-started.md)
  - [Architecture](architecture.md)
  - [Creating a Model Backend](creating-a-backend.md)
  - [Running Inference](running-inference.md)
  - [Batch Inference](batch-inference.md)
  - [Concurrency](concurrency.md)
  - [Telemetry](telemetry.md)
  - [Model Versioning](model-versioning.md)
  - [Phoenix Integration](phoenix-integration.md)
  - [Oban Integration](oban-integration.md)
  - [Production Deployment](production-deployment.md)

## Modules

- [MLServe.Bootstrap](MLServe.Bootstrap.md): Loads the models declared in application configuration when MLServe starts.
- [MLServe.Dispatcher](MLServe.Dispatcher.md): The prediction hot path: route, admit, cache, hook, dispatch, record.
- [MLServe.Route](MLServe.Route.md): The slim record read from ETS on every prediction.

- Core
  - [MLServe](MLServe.md): Production machine-learning inference for the BEAM.
  - [MLServe.Backend](MLServe.Backend.md): Guarded invocation of `MLServe.Model` callbacks.
  - [MLServe.Model](MLServe.Model.md): The behaviour every MLServe model backend implements.

- Backends
  - [MLServe.Backend.Function](MLServe.Backend.Function.md): Serves an ordinary Elixir function as a model.
  - [MLServe.Backend.Static](MLServe.Backend.Static.md): Always returns the same configured result, whatever the input.

- Observability
  - [MLServe.Telemetry](MLServe.Telemetry.md): Telemetry events emitted by MLServe.
  - [MLServe.Telemetry.Logger](MLServe.Telemetry.Logger.md): Logs MLServe telemetry events, with no dependencies beyond `Logger`.
  - [MLServe.Telemetry.Metrics](MLServe.Telemetry.Metrics.md): `Telemetry.Metrics` definitions for MLServe, ready for LiveDashboard or any reporter.

- Errors
  - [MLServe.BackendError](MLServe.BackendError.md): Raised when a backend callback raises, throws, or exits.
  - [MLServe.Error](MLServe.Error.md): The structured error MLServe raises and reports.

- Runtime
  - [MLServe.Application](MLServe.Application.md): The MLServe OTP application.
  - [MLServe.Batcher](MLServe.Batcher.md): Coalesces concurrent single predictions into one backend batch call.
  - [MLServe.Cache](MLServe.Cache.md): Optional TTL cache for inference results.
  - [MLServe.Config](MLServe.Config.md): Reads and validates MLServe configuration.
  - [MLServe.ModelInstance](MLServe.ModelInstance.md): The supervision subtree for one loaded model version.
  - [MLServe.ModelRegistry](MLServe.ModelRegistry.md): The model catalog: which models exist, at which versions, and where traffic goes.
  - [MLServe.ModelServer](MLServe.ModelServer.md): Owns one model version's lifecycle: loading, readiness, status and draining.
  - [MLServe.ModelSpec](MLServe.ModelSpec.md): The normalised, validated description of one loaded model version.
  - [MLServe.ModelSupervisor](MLServe.ModelSupervisor.md): `DynamicSupervisor` holding one `MLServe.ModelInstance` per loaded `{name, version}`.
  - [MLServe.Security](MLServe.Security.md): Model artifact validation: path containment, size limits, and integrity checks.
  - [MLServe.Supervisor](MLServe.Supervisor.md): MLServe's top-level supervision tree.
  - [MLServe.Worker](MLServe.Worker.md): A single inference worker holding backend state.
  - [MLServe.WorkerSupervisor](MLServe.WorkerSupervisor.md): Supervises one model version's worker pool.

