Suggest an experiment
const url = 'https://api.pensievelabs.co/v1/models/grade-audit/experiments';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"idea":"When two reviewers disagree, train on the senior reviewer\'s grade","method":"fine-tuning","max_cost_usd":80}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.pensievelabs.co/v1/models/grade-audit/experiments \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "idea": "When two reviewers disagree, train on the senior reviewer'\''s grade", "method": "fine-tuning", "max_cost_usd": 80 }'An idea for the agents to test, such as a data source to weight differently or a reward to try. They
write the hypothesis, pick the method if you don’t, build B’s data, and run A and B on three seeds.
Refused with conflict while the model’s experiments are paused, or once this month’s budget is spent.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The model’s slug, such as grade-audit, or its mdl_ id.
Example
grade-auditHeader Parameters
Section titled “Header Parameters”Any unique string. Sending it again within 24 hours returns the first response.
Request Bodyrequired
Section titled “Request Bodyrequired”object
The idea, in a line. The agents write the hypothesis and design the runs.
A post-training method’s slug, such as fine-tuning. See List methods for what your workspace has.
Stop the experiment if its compute would cost more than this. It also counts against the model’s monthly budget.
Example
{ "idea": "When two reviewers disagree, train on the senior reviewer's grade", "method": "fine-tuning", "max_cost_usd": 80}Responses
Section titled “Responses”The experiment, queued or running.
One controlled test of a change to the model’s post-training. A is the current recipe; B is the current recipe with one change. Both are trained on the same data and seeds and scored on your held-out test. A change is kept only if B beats A on every seed and on a last check against cases neither has seen.
object
The idea, in a line.
What the agents expect, and why it would beat the current recipe. Null until they design it.
The version of the method’s file the experiment ran. Retrieve that version to read exactly what the agents followed.
The part of the recipe the change pulls on, such as Data mix, Reward, Synthetic data or Model size.
A: the current recipe.
B: the current recipe with the change.
The step that builds B’s data or model before training, such as writing practice cases or building a reward.
B minus A on each finished seed, in points on your test.
Kept: B’s lead on the last check. Dropped: the mean of gains. Null while queued or running, and when stopped.
B’s cases per second as a multiple of A’s. Under 1 is slower to serve.
What was checked before the result counted, such as no test case leaking into training.
Compute spent so far.
Its cost cap, if one was set. It stops before its compute would cost more.
The evidence that led the agents to try it.
What happened: kept and part of a version, or dropped and why.
Example
{ "id": "exp_0420", "object": "experiment", "status": "queued", "method": "fine-tuning", "lever": "Reward"}default
Section titled “default”Something went wrong; error.type says what.
object
object
The request field the error is about.
Example
{ "error": { "type": "invalid_request" }}