A 12B model. Our data. Our iron.
Gemma 4 12B IT QAT on GPUs we actually run. Point the OpenAI SDK at us, then give it 45,504 documents through the data layer. Small weights. Large retrieval.
curl https://api.solidrust.ai/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "vllm-primary",
"messages": [{"role": "user", "content": "Hello!"}]
}' vllm-primary is the
alias. Weights: google/gemma-4-12B-it-qat-w4a16-ct
What we already run on it
Our own products hit the same API you get a key for.
MyAshes.ai
AI companion platform
Companion chat on Gemma 4 12B, memory through the data layer instead of a context dump.
Aidiant.com
AI council platform
A council of specialists, one inference backend, agent tools when a member needs retrieval.
AmiNex.ai
Game intelligence + companions
EVE Online incursions, fittings, market — live game data next to the same chat and RAG stack.
SolidRusT.net
The forge
Parent shop. Not a Zone companion. This is where the other apps get built.
A 12B with a library
Gemma 4 12B on five GPUs. The data layer is 45k embedded docs, keyword search, and a knowledge graph on the same key. That is how a small model stops sounding small.
Gemma 4 12B
Chat on GPUs we run. API id vllm-primary, 16k context. OpenAI-compatible.
/v1/chat/completions Qwen3 Embeddings
Qwen3-Embedding-0.6B. 1024-dim vectors, 32k input. Same key as chat.
/v1/embeddings Data layer
45,504 documents in Milvus. 45,318 in MeiliSearch. Hybrid = vector + keyword + graph.
/data/v1/query/* Agents
Six tools on a 12B: semantic, keyword/graph hybrid, memory. The model stays small; the retrieval does not.
/v1/agent/chat OpenAPI
Interactive data-layer spec. Auth with the same key.
/data/docs Console
Mint a key. Watch usage. Upgrade tiers.
console.solidrust.ai | Milvus (semantic) | 45,504 |
| MeiliSearch (keyword) | 45,318 |
| arXiv | 42,337 |
| Knowledge base | 2,223 |
| Wikipedia | 361 |
| EVE wiki + SDE | 228 |
| Internal docs (Pantheon, strategy, API) | 326 |
Call it like OpenAI
Point the official SDK at our base URL. No new client required.
Get your API key from console.solidrust.ai
View cURL equivalent
curl -X POST https://api.solidrust.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "vllm-primary",
"messages": [{"role": "user", "content": "Say hello and introduce yourself briefly."}],
"max_tokens": 512,
"temperature": 0.7
}'from openai import OpenAI
client = OpenAI(
base_url="https://api.solidrust.ai/v1",
api_key="your-api-key"
)
response = client.chat.completions.create(
model="vllm-primary",
messages=[
{"role": "user", "content": "Hello!"}
],
stream=True
)
for chunk in response:
print(chunk.choices[0].delta.content, end="") import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://api.solidrust.ai/v1',
apiKey: 'your-api-key',
});
const stream = await client.chat.completions.create({
model: 'vllm-primary',
messages: [
{ role: 'user', content: 'Hello!' }
],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || '');
} Endpoints
| Endpoint | Description |
|---|---|
/v1/chat/completions | Chat completions (OpenAI compatible) |
/v1/embeddings | Text embeddings (1024-dim) |
/data/v1/query/semantic | Semantic vector search |
/data/v1/query/hybrid | Hybrid search (vector + keyword + graph) |
/v1/agent/chat | Tool-enabled AI agent |
/v1/models | List available models |
Pricing
Keys and billing live in the console. These are the tiers the console sells — not a dedicated Kubernetes namespace.
Free
Shared inference. Get a key and call the API.
- Chat completions (`vllm-primary`)
- 10,000 requests / month
- 1 API key
- 100 requests / minute
Pro
Embeddings plus more keys and headroom.
- Everything in Free
- Embeddings API
- 5 API keys
- Higher rate limits
Enterprise
Agents and the highest limits on this cluster.
- Everything in Pro
- Agent endpoints
- 20 API keys
- Unlimited monthly quota
Free-tier quotas are enforced by the console (10k requests / month, inference scope). Paid prices and remaining limits are whatever the console currently shows at checkout — do not treat this page as a Stripe invoice.