Summary
A detector for your own objects, without leaving the chat.
The expensive part of custom detection is labelling, and that is what gets delegated here: a foundation model does the first pass so YOLOv8 has something to train on. What comes out at the end is a model, not an answer.
What it is
A server that runs an object-detection pipeline end to end from a conversation: you define the classes in plain language, it collects images from Unsplash or a local folder, labels them with a foundation model, then fine-tunes YOLOv8 on the result.
What you get
- Object classes defined in natural language, as the ontology every later step uses (define_ontology)
- Training images downloaded from Unsplash (fetch_unsplash_images) or imported from a folder you already have (import_images_from_folder)
- Automatic labelling of that image set by a foundation model such as GroundedSAM (label_images)
- A custom YOLOv8 detector fine-tuned on your own classes (train_model)
- Supported base and target models listed before you commit, then selected (list_available_models, set_base_model, set_target_model)
- A fixed directory layout, so datasets and runs stay reproducible
Requirements
Uv and Python 3.13+, plus an Unsplash API key if you want it to fetch images for you. A CUDA-compatible GPU is recommended for the training step.
