Prompt ingestion
The gateway measures time-to-first-token and input token count. This is the prompt-processing phase, not hidden reasoning.
Aurorium Mind is a QLoRA-adapted Qwen model trained on a 100k synthetic SFT set, wrapped in a streaming Rust/FastAPI service, and surfaced through a Vercel workspace. This page records what was built, what was measured, what failed, and what the evidence can—and cannot—prove.
The smallest complete system: one GPU, one adapter, one protected API, and a frontend that exposes useful runtime facts without exposing private traces.
These are the recorded run metrics—not a claim that synthetic data represents real private conversations.
Every prompt can show throughput and timing while keeping message bodies out of persistent telemetry.
The gateway measures time-to-first-token and input token count. This is the prompt-processing phase, not hidden reasoning.
The UI reports output tokens, tokens per second, total response time, and a natural stop reason when available.
A host loop samples A10G utilization, VRAM, temperature, and power. The latest observed idle sample was 0% GPU, 20,019/23,028 MiB, 38°C, 61.55 W.
These incidents are part of the project record. They are why the final deployment evidence is explicit.
The original `g5.2xlarge` restart hit InsufficientInstanceCapacity. A replacement was launched in us-east-2b, restored from S3, and validated before the old instance was terminated.
The EBS snapshot remained slow, so the safer path used a fresh Deep Learning AMI and restored the adapter/code from encrypted S3 instead of waiting indefinitely.
Let’s Encrypt could not complete its challenge while port 80 was closed. Port 80 was opened only for issuance, the certificate was obtained, and the rule was removed. The security group is HTTPS-only again.
vLLM needed several minutes for model loading, torch compilation, CUDA graph capture, and multimodal warmup. The final readiness probe verified both `qwen35-base` and the `aurorium` adapter.
The production deployment was promoted explicitly and verified as Ready. A streaming probe then returned a clean `finish_reason: stop`.
One A10G is a personal reasoning workspace, not a redundant high-concurrency platform.
| Layer | Role | Public? |
|---|---|---|
| Vercel / Next.js | Chat UI, streaming display, metrics, compact trace | yes |
| Caddy | HTTPS termination and reverse proxy | 443 only |
| FastAPI | Client auth, request shaping, telemetry endpoints | yes |
| Rust gateway | Internal request bridge to vLLM | no |
| vLLM | Base model plus LoRA adapter, internal model route | no |
Billing is controlled by AWS runtime state and credits; this page deliberately avoids inventing a final invoice.
The running `g5.2xlarge` is the main variable cost. The encrypted 300 GiB gp3 volume, EIP, S3 storage, data transfer, and Vercel usage are separate line items.
AWS applies eligible credits against eligible usage. The billing console is authoritative; the project cannot infer remaining credit balance from runtime telemetry.
Training, adapter export, evidence, GitHub, Hugging Face, and the explainer are complete. Terminating the GPU stops ongoing instance charges while preserving durable artifacts.
Use the links below to inspect the artifacts directly.
Hugging Face adapter
Published files only; no raw data or base weights.
Open the chat workspace
GPU backend terminated
The backend was intentionally shut down after the final snapshot; GitHub, S3, Hugging Face, and this explainer remain available.