animina-dating / animina

👫❤️ ANIMINA Dating Platform
https://animina.de
Other
16 stars 6 forks source link

Avatar Photo should display a human being #980

Open wintermeyer opened 2 months ago

wintermeyer commented 2 months ago

When ever an avatar photo is uploaded or edited we should check if that photo really displays a human being or if it is a dog/cat/whatever or a smiley. It doesn't have to be a 100% solution but we should be able to filter out most of the "funny" ones.

@Kimutai01 You are Mr. AI. 😉 Please check if there is a https://ollama.com compatible AI that we can use for this and tell me which one it is. Do you want to implement this feature? I don't know how we can do this because it should be something similar to a validation. Maybe we do it as a validation and pay the price for it.

wintermeyer commented 2 months ago

Example of an avatar that shouldn't be valid: https://animina.de/Linus

Bildschirmfoto 2024-08-30 um 11 25 45
Kimutai01 commented 2 months ago

@wintermeyer This is a very interesting issue. I'll have a look, though the image AI still hallucinates a bit, but I'll look into it.

wintermeyer commented 2 months ago

80% is good enough.

Kimutai01 commented 1 month ago

@wintermeyer In your opinion, should we invalidate the photo when uploaded or afterwards? using something like oban

wintermeyer commented 1 month ago

@wintermeyer In your opinion, should we invalidate the photo when uploaded or afterwards?

Good question. Ideally we should invalidate it when uploaded. But that depends on the time it takes to run the AI. I don't want the user to have to wait for it too long. And we should display some sort of sandclock or status bar or anything to make it obvious what happens right now in case the user has to wait.

using something like oban

That can become a foot gun pretty fast. Search for "Oban" in the issues and see what I am talking about.

Kimutai01 commented 1 month ago

@wintermeyer For this I will also use genserver genstage setup to queue the images in the background same to the one for tracking. I'm assuming this implementation should also apply to the story images,