Skip to content

Models and fine-tuning API

The model resource API manages Dr.Gero model objects and fine-tune runs.

bash
export API_BASE="https://dr-gero-frontend-99142474693.europe-west1.run.app"
export DRGERO_TOKEN="drgero_REPLACE_WITH_TOKEN_FROM_SETTINGS"

List models

bash
curl -sS "$API_BASE/api/models?limit=50&offset=0" \
  -H "Authorization: Bearer $DRGERO_TOKEN" | jq

Requires models:read.

Create a model

bash
curl -sS -X POST "$API_BASE/api/models" \
  -H "Authorization: Bearer $DRGERO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Support Assistant Fine Tune",
    "description": "Fine-tuned from support leaderboards",
    "leaderboard_ids": ["b60fe691-06a3-4261-bec3-6080380dc72d"],
    "creation_mode": "auto",
    "auto_update_model": true,
    "continuous_self_learning": true,
    "hypertuning_parameters": false
  }' | jq

Requires models:write.

Accepted aliases include camelCase variants such as modelName, leaderboardIds, creationMode, autoUpdateModel, and continuousSelfLearning.

Get, update, and delete a model

bash
curl -sS "$API_BASE/api/models/$MODEL_ID" \
  -H "Authorization: Bearer $DRGERO_TOKEN" | jq

curl -sS -X PATCH "$API_BASE/api/models/$MODEL_ID" \
  -H "Authorization: Bearer $DRGERO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"description":"Updated description"}' | jq

curl -sS -X DELETE "$API_BASE/api/models/$MODEL_ID" \
  -H "Authorization: Bearer $DRGERO_TOKEN" | jq

Base models

bash
curl -sS "$API_BASE/api/base-models" \
  -H "Authorization: Bearer $DRGERO_TOKEN" | jq

Requires models:read.

Assigned leaderboards

bash
curl -sS "$API_BASE/api/models/$MODEL_ID/leaderboards" \
  -H "Authorization: Bearer $DRGERO_TOKEN" | jq

Fine-tune runs

List runs:

bash
curl -sS "$API_BASE/api/models/$MODEL_ID/fine-tune/runs" \
  -H "Authorization: Bearer $DRGERO_TOKEN" | jq

Start a run:

bash
curl -sS -X POST "$API_BASE/api/models/$MODEL_ID/fine-tune/run" \
  -H "Authorization: Bearer $DRGERO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "dataset_size": {
      "mode": "LIMIT",
      "limit": {"auto": false, "rows": 1000, "algorithm": "LAST_N"}
    },
    "create_synthetic_data": false,
    "hypertuning_enabled": true
  }' | jq

Sync run state:

bash
curl -sS -X POST "$API_BASE/api/models/$MODEL_ID/fine-tune/sync" \
  -H "Authorization: Bearer $DRGERO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"run_id":"OPTIONAL_RUN_ID"}' | jq

Requires models:fine-tune.

Schedule fine-tuning

Schedules are saved by patching the model:

bash
curl -sS -X PATCH "$API_BASE/api/models/$MODEL_ID" \
  -H "Authorization: Bearer $DRGERO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fine_tune_schedule": {
      "run": {"type": "WEEKLY"},
      "dataset": {
        "mode": "LIMIT",
        "limit": {"auto": false, "rows": 2000, "algorithm": "WEIGHTED_SHUFFLE"}
      }
    }
  }' | jq

Schedule changes may require a paid entitlement.