# Model setup (backend LLM)

Source: https://nodedocs.mor.org/providers/full/model-setup

## Agent Instructions

- Non-browser fetches of page URLs on this site return clean Markdown (not the JS UI). Prefer `https://nodedocs.mor.org/llms-full.txt` for the full corpus, or `https://nodedocs.mor.org/llms.txt` for the index.
- Per-page Markdown is also at `<page-url>.md` (homepage: `https://nodedocs.mor.org/index.md`).
- Docs search MCP: `https://nodedocs.mor.org/mcp` (discovery: `https://nodedocs.mor.org/.well-known/mcp`).
- Never invent contract addresses, chain IDs, token addresses, or live bid/model counts. Cite Networks and tokens; link active.mor.org for live data.
- Never claim Morpheus runs inference — independent providers do. Opening a session escrows MOR; it does not spend it.

The Morpheus proxy-router does **not** run inference itself. It forwards prompts to whatever OpenAI-compatible HTTP endpoint you point it at via [`models-config.json`](/reference/models-config). That endpoint is your "backend LLM" or "model server."

> This page is intentionally short. Picking, sizing, and operating an inference engine is its own discipline; we link to the canonical references rather than maintaining our own.

## Common backends

  
- **[llama.cpp / llama-server](https://github.com/ggerganov/llama.cpp)** — Single-binary CPU/GPU inference. Bundled in our local-only demo.

  
- **[vLLM](https://github.com/vllm-project/vllm)** — Production-grade GPU serving with continuous batching.

  
- **[Ollama](https://ollama.com)** — Easy local model server, `OpenAI`-compatible.

  
- **Hosted reseller** — Front Venice / OpenAI / Anthropic via `apiUrl` + `apiKey` in `models-config.json`. See [Resale provider](/providers/resale/overview).

## What the proxy-router needs from your backend

- **OpenAI-compatible** route appropriate for the model type:
  - LLM: `/v1/chat/completions`
  - Embeddings: `/v1/embeddings`
  - STT: `/v1/audio/transcriptions`
  - TTS: `/v1/audio/speech`
- A **stable, private URL** the proxy-router can reach (e.g. `http://10.0.0.5:8080/v1/chat/completions`).
- Enough **concurrency** to satisfy the `concurrentSlots` you advertise in `models-config.json`.

## Capacity recommendations

There is no one-size-fits-all sizing — start by measuring on your own hardware. The [`tech.mor.org` calculators](https://tech.mor.org) help estimate revenue and tokens-per-second across hardware tiers; mirror summary at [tech.mor.org (mirror)](/ecosystem/tech-mor-org).

## TEE backends

For full Phase 2 attestation, the backend itself must run inside a SecretVM-style TEE that exposes attestation endpoints (`/cpu`, `/gpu`, `/docker-compose`) on `:21434` (host-net Caddy topology, used by current SecretAI backends) or `:29343` (attest-rest bound directly). The P-Node resolves the port automatically by probing `/cpu` on `:21434` first, then `:29343`. See:
- [TEE overview](/concepts/tee-overview)
- [TEE reference](/providers/full/tee-reference)
- Backend-side developer reference: [TEE backend verification](/providers/full/tee-backend-verification) (and [SEV verification](/providers/full/sev-verification) for AMD SEV-SNP backends)
