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.
Check profiles
Start with cargo ai profile list so the model choice is explicit.
Default GPT
Run the five photos one at a time into the GPT comparison CSV.
Gemini profile
Run the same five photos again with a Gemini profile and a separate CSV.
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.csvcargo 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.csvOutput 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.
my_open_ai · gpt-5.5
Five runs completed in about 20.5 seconds total.
gemma_4 · gemma4:e4b
Five runs completed in about 4 minutes total.
| image_name | animal | count | confidence | garden_risk | notes |
|---|---|---|---|---|---|
| 01.jpg | none | 0 | 0 | none | No animal visible in the garden scene. |
| 02.jpg | none | 0 | 0 | none | No animal visible in the garden scene. |
| 03.jpg | budgerigars (parakeets) | 2 | 0.98 | low | Two budgerigars perched on wood; small seed-eating birds with minimal garden impact. |
| 04.jpg | squirrel | 1 | 0.98 | medium | One squirrel beside flowering plants; may dig in beds or nibble bulbs, seeds, and young growth. |
| 05.jpg | deer | 1 | 0.98 | high | Spotted deer visible; deer commonly browse vegetables, flowers, and young shrubs. |
| image_name | animal | count | confidence | garden_risk | notes |
|---|---|---|---|---|---|
| 01.jpg | none | 0 | 0 | none | No animals visible. The image shows a garden setting with a clear sky and distant landscape. |
| 02.jpg | none | 0 | 0 | low | The model shifted to path and overgrowth risk instead of animal risk. |
| 03.jpg | parrot | 1 | 0.9 | low | Notes describe two birds, but the count field says one. |
| 04.jpg | squirrel | 1 | 0.95 | medium | The squirrel is visible near flowers and pots; it may dig or consume seeds and berries. |
| 05.jpg | deer | 1 | 0.95 | low | The deer is near a feeding station and may be attracted to the garden. |
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.
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.
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`.
The tool makes comparison easy.
Different models can disagree, but the Cargo-AI tool preserves one stable CSV contract for inspection.