Record verified Prime Intellect API facts, and log a real pricing bug
CI / verify (push) Successful in 1m33s
CI / verify (push) Successful in 1m33s
The token was found on cloud-1 after all, in a Claude memory note. Verifying its claims against the live API turned up a defect in code already shipped. **prices.onDemand is the total for the whole node, not per-GPU.** Confirmed: datacrunch lists 1x A100 at 1.79 and 2x A100 at 3.58, and gpuMemory scales the same way (640 for 8x 80GB). packages/prime/src/map.ts stores both as if they were per-GPU, so an 8-GPU node reads eight times too expensive. It would have silently poisoned inventory search, the max-price filter and every margin comparison against bought capacity — and nobody would have noticed, because the numbers still look plausible. Logged rather than fixed, per the instruction to hold; it needs a regression test built from the real 1x/2x pair. **Inference is a different host.** api.primeintellect.ai is compute and pods; inference is api.pinference.ai/api/v1, OpenAI-compatible. PIG's config knows only the first, so A4 and A13 need both. **Piggy's default model** is nvidia/nemotron-3-nano-30b-a3b, and the important detail is that it is a hybrid reasoning model which thinks aloud by default and truncates under a tight max_tokens. `reasoning_effort: "none"` gives ~1s terse output for tool use and extraction, which is what Piggy does nearly all of the time. One claim did NOT reproduce: the note warns of Cloudflare 403ing non-browser user-agents, but PIG's own UA and curl's both returned 200. Recorded as history in case a 403 ever appears. Also logged: the key is a broad, never-expiring credential sitting in plaintext in a memory markdown file. PIG's sync should hold a separate narrower key scoped to availability reads. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+36
-7
@@ -146,14 +146,43 @@ carry real data than after.
|
||||
|
||||
---
|
||||
|
||||
## Prime Intellect API — verified facts
|
||||
|
||||
Confirmed against the live API, not assumed. These change how A4, A13 and the
|
||||
inventory sync must be built.
|
||||
|
||||
**Two different hosts.** `api.primeintellect.ai` is the compute/pods API
|
||||
(availability, pods, billing). Inference is `api.pinference.ai/api/v1`, which
|
||||
is OpenAI-compatible (`/chat/completions`, `/models`, and an Anthropic-style
|
||||
`/messages`). PIG's config needs both, separately — `PRIME_API_BASE` today
|
||||
points only at the first.
|
||||
|
||||
**⚠️ `prices.onDemand` is the TOTAL FOR THE NODE, not per-GPU.** Verified:
|
||||
datacrunch lists 1× A100 at 1.79 and 2× A100 at 3.58. `gpuMemory` is likewise
|
||||
a node total (640 for 8× 80GB). The current mapper stores both as if per-GPU,
|
||||
so an 8-GPU node reads eight times too expensive — see the logged bug. Divide
|
||||
by `gpuCount` at the boundary and keep the node total alongside it.
|
||||
|
||||
**Piggy's default model:** `nvidia/nemotron-3-nano-30b-a3b` ($0.05/$0.20 per
|
||||
Mtok). It is a *hybrid reasoning* model that thinks aloud by default and will
|
||||
ramble or truncate under a tight `max_tokens`. Pass **`reasoning_effort:
|
||||
"none"`** for tool use, routing, extraction and classification — roughly one
|
||||
second, terse output. Leave reasoning on only for genuine math or logic, where
|
||||
it arrives in a separate `reasoning_content` field while `content` stays clean.
|
||||
|
||||
**Billing** is pay-as-you-go against a shared balance, not a per-model
|
||||
whitelist. Check with `GET /api/v1/billing/wallet`.
|
||||
|
||||
**The user-agent concern did not reproduce** — both a browser UA and PIG's own
|
||||
returned 200. Worth remembering it was once an issue if a 403 ever appears.
|
||||
|
||||
## Open questions
|
||||
|
||||
- **Where is the Prime Intellect API token?** Searched cloud-1's `~/.prime`,
|
||||
`~/.config/prime`, `/opt` and `/etc` and found nothing. Needed for A13 (model
|
||||
selection against PI inference) and to switch inventory sync on. Scope it to
|
||||
`Availability → Read` for sync; model access needs its own key.
|
||||
- **Which Nemotron model** should Piggy default to, and is it served from PI
|
||||
inference or from your own spark-1 box? The adapter should treat the endpoint
|
||||
as configuration either way.
|
||||
- **Which inference host for on-prem?** Piggy's endpoint must be configuration,
|
||||
since a customer deployment should reach their own inference rather than
|
||||
Prime Intellect's. The model *name* should be admin-selectable (A13); the
|
||||
*host* belongs in environment configuration.
|
||||
- **Who may import?** Suggested default: team leads and platform admins only,
|
||||
never a plain member. Easy to loosen, unpleasant to tighten after the fact.
|
||||
- **Which key does PIG get?** The existing key is broad and never expires. PIG's
|
||||
sync should hold a separate, narrower one — see the logged task.
|
||||
|
||||
Reference in New Issue
Block a user