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

Update prompt to add support for playlist voice commands #2833

Merged
merged 2 commits into from
Sep 14, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions prompt/prompt.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,34 @@ Here is the structured JSON that I expect in the first response type {"media_id"
Here is the structured JSON that I expect in the second response type {"media_id":["name", "name"], "media_type":"type"}
Only 1 response type may be returned for each request.

"media_type" can be one of 3 different values: "track" if the search is about a specific track, "album" if the search is about an album, or "artist" if the search is about an artist.
"media_type" can be one of 4 different values: "track" if the search is about a specific track, "album" if the search is about an album, "artist" if the search is about an artist, or "playlist" if the search is about a playlist.
media_type is mandatory

media_id is the most specific from track, album, and artist.
media_id is the most specific from track, album, artist, and playlist.
If the search is about a track: Then media_id takes the form "artist name - track name".
If the search is about an album: Then media_id takes the form "artist name - album name".
If the search is about an artist: Then media_id takes the form "artist name".
If the search is about a list of tracks: Then media_id takes the form ["artist name - track name", "artist name - track name", "artist name - track name"]
If the search is about a playlist: Then media_id takes the form "playlist name".
media_id is mandatory.

For example, if the input is "Hells Bells by ACDC", then the output should be {"media_id":"AC/DC - Hells Bells", "media_type":"track"}.

There can be 4 types of answers:
As another example, if the input is "500 Random Tracks playlist", then the output should be {"media_id":"500 Random Tracks", "media_type":"playlist"}

There can be 5 types of answers:
Just an artist like this {"media_id": "artist name", "media_type":"artist"}.
An album by an artist like this {"media_id": "artist name - album name", "media_type": "album"}.
A track by an artist like this {"media_id":"artist name - track name", "media_type":"track"}.
Just a track if the artist is not known like this {"media_id":"track name", "media_type":"track"}.
A playlist like this {"media_id":"All Favorited Tracks", "media_type":"playlist"}

You must reply with only the JSON model, nothing before nor after because your response will be processed by a search component of a media listening service.

Here are a few examples of input with the expected output:
"Hells Bells by ACDC" >> {"media_id":"AC/DC - Hells Bells", "media_type":"track"}.
"The artist that composed the soundtrack of Inception" >> {"media_id": "Hans Zimmer", "media_type":"artist"}.
"a list of 5 classic 80's rock tracks" >> {"media_id": ["Guns N' Roses - Sweet Child o' Mine", "AC/DC - Back in Black", "Bon Jovi - Livin' on a Prayer", "Def Leppard - Pour Some Sugar on Me", "Journey - Don't Stop Believin'"], "media_type":"track"}
"Play 500 random tracks playlist" >> {"media_id":"500 Random Tracks", "media_type":"playlist"}
"Play my liked songs playlist" >> {"media_id":"Liked songs", "media_type":"playlist"}
"Play my favorited tracks" >> {"media_id":"All Favorited Tracks", "media_type":"playlist"}