Skip to main content

mixle-mlops

license python

An OpenAI-compatible gateway that serves mixle probabilistic models alongside open and hosted LLMs (Llama, DeepSeek, Qwen, …) behind one API — accounts, API keys, a chat UI, multimodal, RAG, an MCP server, and tool calling with a server-side agentic loop. Two things beyond that make it more than an LLM proxy: a probabilistic-bridge stack that lifts a laptop-sized model toward frontier quality on verifiable/structured tasks, and self-evolution that improves served models from their own usage.

It runs end-to-end on a laptop (SQLite + filesystem + a local Ollama) and scales to the cloud (Postgres + object store + Redis) by changing config — no code change. Local-first, cloud-optional.

Quickstart

cp deploy/.env.example deploy/.env          # set MIXLE_SECRET_KEY
docker compose -f deploy/docker-compose.yml --env-file deploy/.env up -d gateway ollama
docker compose -f deploy/docker-compose.yml --env-file deploy/.env exec ollama ollama pull llama3.2
curl localhost:8000/v1/models               # OpenAI-compatible

Installation

Python 3.10+ (developed and verified on 3.12), on PyPI as mixle-mlops.

pip install mixle-mlops                       # base: gateway, echo model, accounts, local storage
pip install "mixle-mlops[all]"                 # + documents, datasets, export, structured, local, cloud, mcp, image
mixle-mlops init-db && mixle-mlops create-user you@example.com pw --admin
mixle-serve                                    # the gateway on :8000

This installs the gateway package only. The chat UI (frontend/) is a separate Next.js app that isn't shipped on PyPI — clone the repo for that (see Develop, below). See docs/installation.rst for the full extras list.

What's in the box

Capability Surface
OpenAI-compatible chat (streaming) over any hosted model POST /v1/chat/completions, GET /v1/models
Host open LLMs through their standard server (Ollama/vLLM/llama.cpp/hosted) MIXLE_LLM_BACKENDS (local + cloud in one registry)
Host mixle models with a real probabilistic surface POST /v1/mixle/{predict,score,latent,decide}
Tool calling + server-side agent loop (executes MCP tools, RAG, mixle decide/predict, exact compute) extra.agent, /mcp
Accounts, API keys, OAuth (Sign in with Google/Apple) /auth/*, mk-… keys
Multimodal (image inputs), RAG (PDF/DOCX/PPTX upload + retrieval), image gen, dataset gen /v1/files, /v1/documents, /v1/rag/search, /v1/images/generations, /v1/datasets
Conversations (persisted threads + json/markdown/pdf export) /v1/conversations
LoRA/QLoRA fine-tuning (SFT via chat template + prompt masking, or raw continuation; resume a prior adapter) and loading a trained adapter into the live gateway /v1/fine_tunes, /v1/models/load
Caching + rate limiting (memory / Redis), MCP server extra flags, MIXLE_REDIS_URL, /mcp
Chat UI (Next.js, assistant-style conversation surface) frontend/
Multi-cloud deploy (AWS/Azure/GCP/Alicloud) Helm chart + Terraform + mixle-mlops init-cloud
Universal cloud compute (GPU VMs, marketplaces, managed k8s, on-prem) Any OpenAI-compatible endpoint + generic Docker/Kubernetes GPU recipes

Documentation

The Sphinx manual starts at docs/index.rst. It includes installation notes, the package map, validation guidance, generated API reference pages, and release-facing guides.

Build it with:

python -m pip install -e ".[docs]"
make -C docs html SPHINXOPTS="-W --keep-going"

Gateway surfaces are documented in docs/gateway-capabilities.rst: substrate serving, telemetry, pool jobs, creation verbs, Mixle model manifests, drift retraining, and LoRA/QLoRA fine-tuning.

Release notes and the current changelog are in docs/release-notes.rst and CHANGELOG.md.

The mixle bridge — frontier quality on a laptop

mixle is the calibrated judge / combiner / router around a small local generator. None of this puts 1T parameters on your laptop; it trades inference-time compute + verification + routing for quality on verifiable / computational / structured / retrieval-grounded tasks (and escalates the rest). All opt-in per request via extra:

Lever Request What it does
Best-of-N self-consistency extra.best_of_n: 5 sample N, return the majority answer + a calibrated confidence (X-Self-Consistency)
Cascade router (FrugalGPT) extra.cascade: {frontier, threshold, n} answer locally when confident, escalate to a frontier model only on the hard tail (X-Cascade-Escalated)
Mixture-of-Agents extra.moa: {proposers, aggregator} several models propose, an aggregator synthesizes
Program-offload (PAL) the mixle_solve tool (agent mode) the model offloads exact arithmetic/probability/stats to a deterministic solver instead of doing mental math

Self-evolution — the system improves itself

Served mixle models improve from data and from the platform's own usage, only ever promoting a challenger that verifiably and non-regressively beats the champion (built on mixle.evolve):

  • POST /v1/evolve/{model} — run measure → propose → verify → promote (auto-select / online-update / recalibrate / refit), with rollback.
  • POST /v1/evolve/tick — one autonomous pass over every hosted mixle model.
  • GET /v1/evolve/{model}/signals — the cascade router self-calibrates its threshold from observed traffic.
  • Every cascade decision + best-of-N vote is recorded as in-distribution feedback the loop consumes.

Develop

pip install -e ".[dev]"                      # + extras: documents, scale, export, datasets, structured, local,
                                              #           cloud, mcp, image, all
pytest -q                                    # the full suite
ruff check mixle_mlops tests
mixle-mlops create-user you@example.com pw --admin   # a user + an API key
mixle-serve                                  # the gateway on :8000 (or: uvicorn mixle_mlops.gateway.app:app)
cd frontend && npm install && npm run dev    # the chat UI on :3000

Config is env-driven (prefix MIXLE_, see deploy/.env.example and mixle_mlops/config.py). Key knobs: MIXLE_LLM_BASE_URL (Ollama by default), MIXLE_LLM_BACKENDS (per-model local+cloud), MIXLE_DATABASE_URL (sqlite→postgres), MIXLE_OBJECT_STORE_URL (file→s3/gcs/azure/oss), MIXLE_REDIS_URL, MIXLE_REQUIRE_AUTH.

Deploy

mixle-mlops init-cloud aws                    # scaffold a provider-correct .env
# Terraform provisions bucket + Postgres + Redis; Helm runs the same image on any k8s:
cd deploy/terraform/aws && terraform apply
helm install mixle deploy/helm/mixle-mlops -f deploy/helm/mixle-mlops/values-aws.yaml

The same image + chart run on EKS/AKS/GKE/ACK — only three URLs (database / object store / redis) change. Compute is provider-neutral: point MIXLE_LLM_BASE_URL / MIXLE_LLM_BACKENDS at any OpenAI-compatible server running on a GPU VM, marketplace instance, managed Kubernetes cluster, or on-prem host. See deploy/cloud/README.md and deploy/compute/README.md.

Design

The split mirrors mixle's: mixle owns the domain-neutral math (distributions, scoring, calibration, decision, mixle.evolve); mixle-mlops owns serving/orchestration (gateway, accounts, RAG, the bridge components, the evolution worker). The mixle math always upstreams to the core. See docs/overview.rst and docs/package-map.rst for the package boundaries.

Requires mixle.evolve (published on PyPI since mixle 0.6.1; this package pins mixle>=0.6.1) for the self-evolution routes.

Maintainers & contributors

Maintained by Grant Boquet (@gmboquet · grant.boquet@gmail.com).

Contributions, issues, and discussion are welcome — open a PR or an issue.

License

MIT — see LICENSE.

Metadata

Release files for mixle-mlops 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mixle-mlops 0.7.0
File Size Uploaded Provenance Actions
mixle_mlops-0.7.0.tar.gz 274.9 kB With provenance Details for mixle_mlops-0.7.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mixle-mlops 0.7.0
File Interpreter ABI Platform Actions
mixle_mlops-0.7.0-py3-none-any.whl Python 3 none any Details for mixle_mlops-0.7.0-py3-none-any.whl

Total release size: 531.8 kB

Release files / mixle_mlops-0.7.0.tar.gz

Download URL mixle_mlops-0.7.0.tar.gz
Size 274.9 kB
Tags Source
SHA-256 checksum
How to use checksums
18b8e9e7a9b36a9b6e5c87f52c562760a6f2578d142ed6638bad1e8ac6023441
BLAKE2b-256 checksum
How to use checksums
0f155261938c9f57208baae705d7b9e4b96b6924048658f3243acbfbbd4a4586
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 13, 2026.

Transparency log

Release files / mixle_mlops-0.7.0-py3-none-any.whl

Download URL mixle_mlops-0.7.0-py3-none-any.whl
Size 256.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
da9e4a14a8bd5f32d7ad2428a5d9d5880049b57ed3cd1b0e0cff6b24e5b58331
BLAKE2b-256 checksum
How to use checksums
066b039fc2a9833d6c0fe8b4f363499a427f2cac6ad71287ca7e43a1ecaf4dc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 13, 2026.

Transparency log

Security for mixle-mlops 0.7.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mixle_mlops-0.7.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 13, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page