Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestion: Add either a field or example text to allow parental controls #46

Open
jonathanarchergithub opened this issue Jan 25, 2025 · 15 comments
Labels
enhancement New feature or request

Comments

@jonathanarchergithub
Copy link
Contributor

In my setup I added the following to the prompt outro to realise at least a minimum of parental control where the media providers have inadequate means:

“Do not reply with results of pornographic nature like pornographic audio books. in such a case reply with Nirvana music.”

Up to now at least it passed all my test explicitly asking for according results.

Maybe that’s worth being added as an own field in the blueprint.

@nikito
Copy link
Collaborator

nikito commented Jan 27, 2025

@TheFes Think we should add a toggle to enable/disable parental controls that has a customizable prompt? Thinking we could even take that step further and allow configuring a list of areas to restrict (like restrict in living room/kids rooms, but in a parental or party room for adults you could have it unrestricted if you wanted to listen to some explicit music (stuff with swears and such you wouldn't want kids hearing :D)?

@nikito nikito added the enhancement New feature or request label Jan 27, 2025
@TheFes
Copy link
Collaborator

TheFes commented Jan 27, 2025

I don't know if we should add this, changes like this can easily be done as the prompt can be changed in the blueprint settings.

@jonathanarchergithub
Copy link
Contributor Author

You‘re right of course, as long as there’s no other feature in the automation making use of it (see above). At least I think it might be worth mentioning as an example in the description why one would want to modify the prompt. Maybe together with a disclaimer that there is no guarantee for the performance of parental control this way. Nevertheless this is something not everyone thinks about when giving their kids such a device with an unprotected Spotify-Account on the backend-side:-)

@skyw33
Copy link

skyw33 commented Jan 27, 2025

As a casual user of this, I would love to see more examples. Seeing what others have implemented not only informs me of what is possible, but also what works.

@nikito
Copy link
Collaborator

nikito commented Jan 27, 2025

Perhaps a section can be added to the readme with some suggestions from users? Or a discussion thread could be made where users can exchange ideas?

@jonathanarchergithub
Copy link
Contributor Author

How about a different field for user specified prompt additions and some examples in the blueprint readme?

@marcelveldt
Copy link
Member

I have a question about this. Would the parental controls be something you would enable on a player basis ?
So, if MA would have a toggle to enable "safe mode" or whatever name we give it, would that cover most usecases already (for now) ?

@jonathanarchergithub
Copy link
Contributor Author

Well, in my case I wouldn‘t want to restrict on a player/area basis since my kids are old enough to find out that the living room player isn’t restricted:-) I could imagine however that someone with smaller kids would want to enable a “kids mode” for specific areas or players. I would just be cautious about the description since I don’t know how reliable the performance of the LLMs is in that respect. I am pretty confident though that my prompt blocks the most explicit material.

Maybe better something like “restricted mode”?

@nikito
Copy link
Collaborator

nikito commented Jan 30, 2025

I think Marcel is suggesting that the restriction could be on the player itself, through an MA feature, so that the LLM isn't responsible for defining what "restricted" is. I imagine most music providers have a mechanism to filter out explicit music that could be leveraged, so potentially the player could tell MA when it requests music to not allow or include anything explicit. Maybe even have the option to set this at the provider level or something like that.

@jonathanarchergithub
Copy link
Contributor Author

Ah, right, I misunderstood. I think that would be a good MA feature for many people, especially with small kids.

It wouldn't cover my use case however since the "explicit" markings are typically overrestrictive for kids of a bit higher age (practically all good music is rated explicit :-) I just want to filter out the actual adult content on spotify.

@nikito
Copy link
Collaborator

nikito commented Jan 30, 2025

I'd be careful with that, there's plenty of examples online of people tricking LLMs to ignore their guardrails. Even with explicit instruction it's possible to trick the LLM into doing something you tell it not to anyways. :)

@jonathanarchergithub
Copy link
Contributor Author

Yeah, that’s what I meant with the description maybe having a disclaimer that it’s not actually safe.
On the other hand, it’s difficult to explain to your kids why they can’t listen to a lot of music which is played on the major radio stations. E.g. because it contains a few swears in a foreign language…

@marcelveldt
Copy link
Member

Yeah, if you filter on explicit, a lot of material is filtered out. Some people do maybe actually want that. Others just want to filter out any really inappropriate material but I have no idea how to filter that nor I don't think its safe to trust an LLM for that.

What we can do on a MA level is have a safe mode where we try to use the non explicit versions of each track. Often an explicit version (with certain rude words) and a non-explicit version does exist. We collect that metadata already from most streaming providers and even can read it from file tags. We simply do not use it yet.

Question still is where would you define such safe mode. On a player, on a single playback session or maybe globally.

@skyw33
Copy link

skyw33 commented Feb 2, 2025

My 2 cents: It should be defined for each player separately and there should be a toggle easily accessible in home assistant to turn it on and off. Globally, you could have a default option to set each newly created player to safe mode "on" or "off".

@jonathanarchergithub
Copy link
Contributor Author

jonathanarchergithub commented Feb 2, 2025

I think at least on a player basis, maybe globally in addition: if someone has little kids that are not left alone in the house, it might be enough to select "kids mode" on their players only and leave the player in e.g. the living room in full mode. If your kids are older, global might be safer:-)
On the other hand, if you can select per player, you can always select all of them to achieve "global" as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants