This task encompasses the work needed to make the open_nsfw-- service discussed in T214201, and currently available via https://nsfw.wmflabs.org, available internally to Wikimedia software components in our production environment. There is no plan to expose this service publicly from production.
Open_nsfw evaluates an image against an AI-derived model of NSFW likelihood and responds with a single floating point value between 0.0 (least likely NSFW) to 1.0 (most likely NSFW). The open_nsfw-- project exposes this component via an HTTP API deployable with Docker.
Example:
$ curl -d 'url=https://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Jimmy_Wales_in_August_2006.jpg/319px-Jimmy_Wales_in_August_2006.jpg' https://nsfw.wmflabs.org 0.006064464803785086
This functionality is urgently needed by the Community Tech team to prevent abuse, and @MusikAnimal is currently working on integrating the output of this service into AbuseFilter.
Todo
- Replace existing Dockerfile with a Blubberfile
- OpenAPI spec
- GET endpoint for health checks
- metrics
- logging
- tests
Service name: nsfwoid
Timeline: As soon as feasible
Technologies: Python, Docker
Repository: https://github.com/mdholloway/nsfwoid
Point person: @Mholloway, @MusikAnimal