08 / Profiles and models

Same agent, different model lanes.

Profiles change the model and auth path. The JSON agent and Cargo-AI tool stay fixed.

List

Check profiles

Start with cargo ai profile list so the model choice is explicit.

Run

Default GPT

Run the five photos one at a time into the GPT comparison CSV.

Compare

Gemini profile

Run the same five photos again with a Gemini profile and a separate CSV.

default GPT profilemanual runs
cargo ai profile list

cargo ai run --config animal-patrol.json \
  --input-mode append \
  --input-image inputs/model-comparison-photos/01.jpg \
  --input-text "Image name: 01.jpg" \
  --run-var output_csv_path=outputs/animal-patrol-manual-gpt.csv

cargo ai run --config animal-patrol.json \
  --input-mode append \
  --input-image inputs/model-comparison-photos/02.jpg \
  --input-text "Image name: 02.jpg" \
  --run-var output_csv_path=outputs/animal-patrol-manual-gpt.csv

cargo ai run --config animal-patrol.json \
  --input-mode append \
  --input-image inputs/model-comparison-photos/03.jpg \
  --input-text "Image name: 03.jpg" \
  --run-var output_csv_path=outputs/animal-patrol-manual-gpt.csv

cargo ai run --config animal-patrol.json \
  --input-mode append \
  --input-image inputs/model-comparison-photos/04.jpg \
  --input-text "Image name: 04.jpg" \
  --run-var output_csv_path=outputs/animal-patrol-manual-gpt.csv

cargo ai run --config animal-patrol.json \
  --input-mode append \
  --input-image inputs/model-comparison-photos/05.jpg \
  --input-text "Image name: 05.jpg" \
  --run-var output_csv_path=outputs/animal-patrol-manual-gpt.csv
Gemini profilereplace profile name
cargo ai run --profile YOUR_GEMINI_PROFILE --config animal-patrol.json \
  --input-mode append \
  --input-image inputs/model-comparison-photos/01.jpg \
  --input-text "Image name: 01.jpg" \
  --run-var output_csv_path=outputs/animal-patrol-manual-gemini.csv

cargo ai run --profile YOUR_GEMINI_PROFILE --config animal-patrol.json \
  --input-mode append \
  --input-image inputs/model-comparison-photos/02.jpg \
  --input-text "Image name: 02.jpg" \
  --run-var output_csv_path=outputs/animal-patrol-manual-gemini.csv

cargo ai run --profile YOUR_GEMINI_PROFILE --config animal-patrol.json \
  --input-mode append \
  --input-image inputs/model-comparison-photos/03.jpg \
  --input-text "Image name: 03.jpg" \
  --run-var output_csv_path=outputs/animal-patrol-manual-gemini.csv

cargo ai run --profile YOUR_GEMINI_PROFILE --config animal-patrol.json \
  --input-mode append \
  --input-image inputs/model-comparison-photos/04.jpg \
  --input-text "Image name: 04.jpg" \
  --run-var output_csv_path=outputs/animal-patrol-manual-gemini.csv

cargo ai run --profile YOUR_GEMINI_PROFILE --config animal-patrol.json \
  --input-mode append \
  --input-image inputs/model-comparison-photos/05.jpg \
  --input-text "Image name: 05.jpg" \
  --run-var output_csv_path=outputs/animal-patrol-manual-gemini.csv

Output results

Five images, two model lanes, same CSV shape.

The same agent and Cargo-AI tool wrote both files. That makes the model comparison concrete instead of anecdotal.

Default profile

my_open_ai · gpt-5.5

Five runs completed in about 20.5 seconds total.

Local profile

gemma_4 · gemma4:e4b

Five runs completed in about 4 minutes total.

outputs/animal-patrol-manual-gpt.csvgpt-5.5
image_nameanimalcountconfidencegarden_risknotes
01.jpgnone00noneNo animal visible in the garden scene.
02.jpgnone00noneNo animal visible in the garden scene.
03.jpgbudgerigars (parakeets)20.98lowTwo budgerigars perched on wood; small seed-eating birds with minimal garden impact.
04.jpgsquirrel10.98mediumOne squirrel beside flowering plants; may dig in beds or nibble bulbs, seeds, and young growth.
05.jpgdeer10.98highSpotted deer visible; deer commonly browse vegetables, flowers, and young shrubs.
outputs/animal-patrol-manual-gemini.csvgemma4:e4b
image_nameanimalcountconfidencegarden_risknotes
01.jpgnone00noneNo animals visible. The image shows a garden setting with a clear sky and distant landscape.
02.jpgnone00lowThe model shifted to path and overgrowth risk instead of animal risk.
03.jpgparrot10.9lowNotes describe two birds, but the count field says one.
04.jpgsquirrel10.95mediumThe squirrel is visible near flowers and pots; it may dig or consume seeds and berries.
05.jpgdeer10.95lowThe deer is near a feeding station and may be attracted to the garden.
Agreement

Both runs found the main subjects.

Both outputs recognized no animal in the first photo, birds in the third, a squirrel in the fourth, and a deer in the fifth.

Difference

GPT stayed closer to the task boundary.

GPT kept no-animal images at risk `none`, identified two budgerigars, and rated deer as high garden risk.

Drift

The local run exposed useful edge cases.

The local model assigned path risk on a no-animal image and described two birds while recording count `1`.

Point

The tool makes comparison easy.

Different models can disagree, but the Cargo-AI tool preserves one stable CSV contract for inspection.