inaturalist / iNaturalistMLWork

0 stars 0 forks source link

Create a standalone vision API testing UI #37

Closed pleary closed 3 months ago

pleary commented 4 months ago

This should be created in a place that is easy to deploy to, that all team members and only team members/site admins can access, and preferably using components roughly similar to how we'd interact with them in a release (reusable API interactions, returning metadata we'd want to show to users, etc). A logical place for it would be a React-based endpoint in the rails application that would be easily deployed to staging and production, where its easy to restrict access, and use API wrappers like inaturalistjs. Previous attempts have been made to incorporate toggles in situ implementations like the observations show page, but this complicates the code for that page for admin-only UI elements, adding components that may never get used and are difficult to fit into the small space relegated for model results.

The UI could include the option to upload an image or fetch one from an existing observation. It could allow the various implemented API parameters to be modified (filter by iconic taxon, include geo in scoring, use leaf roll-up, etc). It could represent the results by showing taxon names, vision scores, and combined scores. It could include a taxonomic tree including all results structured by the iNaturalist taxonomy. It could include maps of where observations of these taxa occur, or where the corresponding geo model predicts they occur.

This could then be a testing ground for in-development unreleased API parameters and model response formats so we can manually anecdotally test potential new features outside the limitations of existing UIs. It should be checked into the "main" branch of the codebase with a admin-only restriction, so testing can easily be performed without being limited to a branch running in our staging environment.

pleary commented 3 months ago

This will continue to evolve, but there is a first version of the tool in production we can use for testing