ollama.rasies.com · private inference edge

One API.
Every job,
the right lane.

RassyMind is a typed, authenticated gateway for a fixed private AI appliance. It gives clients familiar OpenAI and Ollama-compatible channels, then routes each bounded request through a deliberate model lane instead of making every workload fight for the same GPU.

Status: NOT RELEASE-QUALIFIED Qualification evidence: 2026-09-05 UTC

The appliance at a glance

APP
SDK · agent · workflow
EDGE
auth · limits · route
LANES
chat · embed · rerank · voice

The application owns the mind: tools, memory, goals, and orchestration. RassyMind supplies private, bounded execution through the right local lane.

A calm path from request to result

The public edge is the product boundary. It authenticates the caller, validates the model and request shape, applies route-specific limits, and hands work to private queues. Provider addresses, GPU identities, credentials, and content stay behind that boundary.

8 GPU lanes follow a one card, one role rule. The catalog is locked: requests cannot invent a model, pair GPUs, or silently switch to an unqualified weight.

Channels are the capabilities

A channel is the client-facing contract: the route, request shape, authentication, and safety limits. Pick a channel by what you need to do; pick a lane by the kind of work inside that channel.

POST /v1/chat/completions

Chat and tools

OpenAI-compatible streaming or non-streaming chat, bounded tool calls, and model aliases.
POST /api/chat

Ollama chat

Ollama-compatible chat for installed clients, using the same typed catalog underneath.
POST /v1/embeddings

Embeddings

One normalized 4,096-dimension contract for documents, queries, and code retrieval.
POST /v1/retrieval/query

Retrieval

Private ingest, query, and delete operations with provenance-only results and bounded caches.
POST /v1/rerank

Reranking

Second-stage relevance scoring on the dedicated rerank lane.
POST /v1/audio/transcriptions

Speech in

Streaming-capable speech-to-text on the isolated ASR lane.
POST /v1/audio/speech

Speech out

Streaming-capable text-to-speech with voice cloning off by default.
GET /v1/models

Catalog

Authenticated discovery of canonical IDs and compatibility aliases; no provider details.

Lanes are the work profiles

A lane is a named public capability backed by one verified provider and one assigned card. Aliases preserve compatibility, while the canonical names make intent clear.

Public laneBest forRuntime contractCompatibility aliases
rassy-mind
chat
general · operator · research · agent-tools · complex-reasoningqwen3.6:27b-q4_K_M
Tesla V100-PCIE-32GB · 65,536 context · 8,192 output
rassy-agent
rassy-code
chat
coding · repository-work · architecture · debugging · code-toolsqwen3.6:27b-q4_K_M
Tesla V100-PCIE-32GB · 65,536 context · 8,192 output
rassy-codex, rassy-architect
rassy-fast
chat
normal-chat · quick-code · structured-output · light-toolsqwen3.5:9b-q4_K_M
Tesla V100-SXM2-16GB · 32,768 context · 4,096 output
rassy-general, rassy-codex-lite
rassy-utility
chat
summarize · classify · route · compact · rewrite · backgroundqwen3.5:9b-q4_K_M
Tesla P40 · 32,768 context · 2,048 output
rassy-worker, rassy-worker-code, rassy-summarizer
rassy-embed
embedding
document-embedding · query-embedding · code-retrievalQwen/Qwen3-Embedding-8B-GGUF:Q8_0
Tesla V100-PCIE-12GB · 8,192 context · — output · 4,096 dimensions
rassy-embed-query, qwen3-embed, qwen3-embed-query
rassy-rerank
rerank
bounded-second-stage-rerankingQwen/Qwen3-Reranker-4B
Tesla P100-PCIE-16GB · 8,192 context · — output
none
rassy-stt
ASR
speech-to-text · live-transcription · long-audioQwen/Qwen3-ASR-1.7B
Tesla V100-PCIE-16GB · — context · — output
none
rassy-tts
TTS
text-to-speech · live-voice · expressive-voiceQwen/Qwen3-TTS-12Hz-1.7B-CustomVoice
NVIDIA GeForce RTX 2080 Ti · — context · — output
rassy-audio

Logical lane selection

rassy-mind handles general, research, operator, and complex reasoning work. rassy-code is shaped for repositories, architecture, debugging, and code tools. rassy-fast favors normal chat and quick structured work. rassy-utility handles compact background jobs. Generic callers—including Cheshire Cat—start on rassy-fast; explicit programming work stays on rassy-code, while operator and deep-reasoning work stays on rassy-mind.

Physical lane discipline

The public name resolves through the locked catalog to a provider such as rm-mind or rm-code. Eligible 27B requests may use bounded load-aware selection between equivalent 27B providers; 9B overflow is limited to eligible routine work. Fallback preserves the catalog route when private telemetry is unavailable.

What happens to a request

01

Authenticate and validate

The edge checks the bearer key, method, JSON shape, model alias, capability, body size, context, output ceiling, and route-specific deadline. Rejections are counted by safe reason, never by content.

02

Estimate the work

In memory, the edge estimates prompt size from request structure and combines it with the requested output ceiling. The estimator is conservative and content-free: it does not persist or log the prompt.

03

Admit fairly

Session-bound traffic stays coherent. A 30-second active-caller window lets one client use normal capacity while multiple active clients share newly released capacity without a hidden waiting queue.

04

Route and stream

Adaptive 27B selection considers provider load, deferred work, local reservations, and estimated work. Bounded 9B overflow remains limited to routine requests; cancellation releases all reservations.

05

Return a compatible result

The edge translates the private provider response into the requested OpenAI or Ollama wire format. Provider errors become generic, actionable HTTP errors without leaking upstream bodies.

Decision sequence

authenticatecatalog + limitsestimate worksession lookupfair admissionlane + Bifroststream / release

Control plane and data plane

The control plane decides what is allowed and where it goes. The data plane carries the request through an authenticated transport and isolated providers. The public page exposes the contract; the admin console exposes bounded operational state.

Retrieval that stays bounded

RassyMind keeps retrieval explicit so quality work does not become an unbounded memory or latency problem.

embed querydense top 40+lexical top 40rank fusionbatched rerank top 20deduplicate + packreturn top 10

Documents and queries use the same normalized 4096-dimensional embedding contract. Identical concurrent queries share one embedding, fusion, and rerank operation; the reranker scores its candidate set as one padded batch rather than performing one model call per passage. Completed results live only in a small, short-lived, corpus-generation-scoped cache. Ingest and delete invalidate it. Metrics expose counts and timings only, never queries, vectors, source IDs, or result text.

Efficiency is a quality feature

The fastest useful answer is not the one with the largest prompt. It is the one that spends compute on the most relevant evidence and avoids repeating work.

Reuse before recompute

Repeated conversation prefixes can be reused by the llama.cpp prompt cache. The two 27B lanes keep one verified slot each, so cache reuse lowers prompt-processing work without pretending that one GPU can safely serve unlimited parallel generations.

Pack evidence, not noise

Context selection removes duplicate passages, respects an explicit token budget, and places the strongest evidence at the edges of the packed context. This keeps related evidence readable while reducing the chance that a long middle section buries the answer.

Batch the expensive step

Hybrid retrieval casts a wide first net, then the dedicated reranker scores candidates together. This preserves the recall-oriented dense-plus-lexical design while reducing repeated tokenizer and GPU launch overhead.

Measure the trade

Admin telemetry separates requests, failures, rejections, cancellations, rolling health windows, and per-route latency. Changes are kept only when real endpoint checks show acceptable latency, quality, cancellation, and resource behavior.

Evidence is a separate, explicit pipeline

Retrieval never silently changes a chat prompt. A trusted caller chooses when to query, whether to request content, and how much evidence to pack into its own context.

Ingest and query lifecycle

sourcenormalize + chunkexact embedding cacheQdrant + SQLite FTS5dense / lexicalRRFbatched rerankdedupe + position-aware pack

Each source is canonical in SQLite and can produce deterministic rassymind-chunker-v1 chunks with source, ordinal, heading, character and line provenance. Qdrant stores one bounded point per chunk; SQLite remains authoritative for content and stale-point rejection.

Default query

Returns ranked identifiers, scores, and provenance without content. This keeps ordinary retrieval responses small and prevents accidental evidence disclosure.

Opt-in evidence

Set include_content: true when a trusted caller needs passages. This is the explicit opt-in evidence pack: context_budget_tokens selects deduplicated, edge-balanced evidence without summarizing or exceeding the budget.

The dials that shape behavior

These are operational heuristics and safety bounds, not hidden model behavior. They are centralized, bounded, and intended to be tuned from measured evidence.

Admission and fairness

input quantum
2,048 estimated tokens per input work unit
output quantum
1,024 output tokens per output work unit
output weight
2×, because decode is sequential
27B capacity
18 aggregate reservations across equivalent lanes
9B capacity
9 aggregate reservations across fast/utility
fairness window
30 seconds of recent activity
fast overflow
Routine, tool-free requests only; input ≤8,192 estimated tokens and output ≤2,048

Model lane contracts

27B context
65,536 tokens; max output 8,192
27B lanes
rassy-mind and rassy-code, one production model per GPU
9B context
32,768 tokens
fast output
4,096 maximum
utility output
2,048 bounded overflow ceiling
selection
Load, deferred work, reservations, work estimate, affinity, and round-robin tie breaks

Retrieval quality and cost

chunker
rassymind-chunker-v1; target 1,050 and hard maximum 1,500 estimated tokens
overlap
100 estimated tokens, bounded at structural boundaries
candidate sets
Dense top 40 + FTS5 lexical top 40
rerank
Top 20, then return at most 10
query cache
128 entries, 60-second TTL, invalidated on corpus mutation
embedding cache
100,000 exact packed float32 entries; 4,096 dimensions

State and transport

session state
Opaque hash, 30-minute idle TTL, 4,096-entry hard bound, persisted atomically at the edge state mount
body limit
64 MiB, including supported audio uploads
deadlines
Chat 30m; embeddings/retrieval 5m; rerank 2m; ASR/TTS 10m
pooling
64 max idle connections, 16 per host, 90-second idle timeout
shutdown
Graceful edge shutdown closes idle upstream connections and persists bounded state

Use the familiar API surface

Every operational route requires a bearer key. The public page explains the contract without becoming a discovery endpoint for internal services. Operators can open the authenticated admin console for aggregate usage, lane reservations, fairness state, alerts, and key management.

curl https://ollama.rasies.com/v1/models \
  -H 'Authorization: Bearer YOUR_KEY'

curl https://ollama.rasies.com/v1/chat/completions \
  -H 'Authorization: Bearer YOUR_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"model":"rassy-mind","messages":[{"role":"user","content":"Hello"}]}'

# The same catalog is available to Ollama-compatible clients:
curl https://ollama.rasies.com/api/tags \
  -H 'Authorization: Bearer YOUR_KEY'

Private by construction

Content stays out of telemetry

The gateway and caller services do not log prompts, retrieved text, tool arguments, transcripts, audio, or reasoning. Operational metrics are aggregate-only: counts, durations, queue state, and bounded rejection reasons.

Capabilities fail closed

Image generation is disabled. No paired GPUs, dynamic replacement, hidden memory injection, automatic personal-memory injection, or unrestricted host tools are available. Unsupported models and unavailable capabilities are rejected before provider work.

Health is liveness, not inference

Anonymous health and readiness answer only whether the service is alive and whether required dependencies are available. Models, metrics, retrieval, media, and administration remain authenticated.

Qualification remains honest

Candidate 2.2.1 is deployed with compiled identity verified. API conformance 18/18, voice qualification, failure handling, rollback, hardware, drift, and model attestation gates pass. Structured 27B capability remains fail-closed pending provider qualification. The current release status is NOT RELEASE-QUALIFIED. Remaining evidence gaps are listed below so operational progress is never confused with a formal release claim. A rollback restores the prior edge route and bind without deleting state or changing the locked GPU map.

  • 27B tool and structured schema capabilities are explicitly unqualified and fail closed; differential probes pass only their rejection guardrails.
  • 27B structured/tool capability is not qualified and correctly returns capability_unqualified; production remains parallel=1, the prior executable rollback is verified, Qwen3.8, parallel=2, voice consolidation, and elastic reclamation remain unpromoted because exact production evidence is absent.

Current routing and queue architecture

The utility front door handles bounded routine work; eligible stateless coding and deep-reasoning intent can be directed to the locked 32B destinations. Stateful sessions and tool-bearing requests retain stable model semantics and affinity. Each 27B provider is admitted one generation at a time, with excess work rejected early instead of accumulating in an uncontrolled downstream queue.

authenticateutility policyallowlisted destinationbounded admissionBifrostprovider slot

Admin and Prometheus telemetry record aggregate routing decisions, lane reasons, latency, failures, rejections, cancellations, and reservations. Prompts, retrieved text, tool arguments, transcripts, audio, and reasoning are not recorded.