Skip to content

Commit 2aa2857

Browse files
authored
Merge pull request #121
Optimize default prompts to significantly reduce tokens usage.
2 parents 51093ab + fc1ad3e commit 2aa2857

28 files changed

Lines changed: 139 additions & 147 deletions

ac_mode_and_fan_control_full_llm.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,31 +75,31 @@ blueprint:
7575
text:
7676
multiline: true
7777
default: |-
78-
Mandatory. Provide AC names to control. Use semicolons (;) to separate multiple names.
78+
Required: AC names to control. Separate multiple with semicolon (;).
7979
hvac_mode_prompt:
8080
name: HVAC Mode Prompt
8181
description: The prompt which will be used for the LLM can provide the AC mode.
8282
selector:
8383
text:
8484
multiline: true
8585
default: |-
86-
Set AC mode (auto, cool, heat, dry, fan_only, off). Include ONLY if explicitly requested. Return error if unsupported; do not guess.
86+
AC mode (`auto`, `cool`, `heat`, `dry`, `fan_only`, `off`). Only if requested. Error if unsupported; no guessing.
8787
temperature_prompt:
8888
name: Temperature Prompt
8989
description: The prompt which will be used for the LLM can provide the target temperature.
9090
selector:
9191
text:
9292
multiline: true
9393
default: |-
94-
Target temperature as a number (e.g. 24). Convert F to C if needed. Omit units (C/F). Include ONLY for explicit requests.
94+
Target temp as number (e.g. `24`). Convert F to C. No units. Only if requested.
9595
fan_mode_prompt:
9696
name: Fan Mode Prompt
9797
description: The prompt which will be used for the LLM can provide the fan speed/mode of the AC.
9898
selector:
9999
text:
100100
multiline: true
101101
default: |-
102-
Set fan speed (auto, low/1, lowmid/2, mid/3, highmid/4, high/5). Map to the closest supported mode. Include ONLY if requested. Error if no match; do not guess.
102+
Fan speed (`auto`, `low`/`1`, `lowmid`/`2`, `mid`/`3`, `highmid`/`4`, `high`/`5`). Map to closest. Only if requested. No guessing.
103103
mode: parallel
104104
max_exceeded: silent
105105
description: Controls mode, temperature, and fan speed for air conditioners. Supports auto, cool, heat, dry, and fan_only modes.

advanced_google_search_full_llm.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,15 @@ blueprint:
5656
text:
5757
multiline: true
5858
default: |-
59-
Mandatory. Search query. Silence-correct misspellings if likely intended. Do not ask for clarification.
59+
Required: Search query. Silence-correct misspellings. No clarification.
6060
language_prompt:
6161
name: Language Prompt
6262
description: The prompt which will be used for the LLM can provide the language for the query.
6363
selector:
6464
text:
6565
multiline: true
6666
default: |-
67-
Mandatory. Language tag (e.g. vi-VN, en-US). Must match user language.
67+
Required: Language tag (e.g. `en-US`). Match user language.
6868
mode: parallel
6969
max_exceeded: silent
7070
description: Searches Google to retrieve real-time information, facts, or answers from the web. Use when local knowledge is insufficient.

advanced_youtube_search_full_llm.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,15 @@ blueprint:
7171
text:
7272
multiline: true
7373
default: |-
74-
Mandatory. Search query. Silence-correct misspellings. For results, use ordinal numbers for selection; omit Media IDs. Confirm before proceeding if query is ambiguous.
74+
Required: Search query. Silence-correct misspellings. Use ordinals for results, omit Media IDs. Confirm if ambiguous.
7575
page_token_prompt:
7676
name: Page Token Prompt
7777
description: The prompt which will be used for the LLM can provide the page token to get additional videos that could be obtained.
7878
selector:
7979
text:
8080
multiline: true
8181
default: |-
82-
Optional. Use to fetch more videos if initial results are unsatisfactory.
82+
Optional: Token to fetch more videos.
8383
mode: parallel
8484
max_exceeded: silent
8585
description: Searches YouTube for videos and returns a list of matching results with titles and descriptions. Use to find specific content or playlists.

calendar_events_lookup_full_llm.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,31 +51,31 @@ blueprint:
5151
text:
5252
multiline: true
5353
default: |-
54-
Mandatory. 'daily' for full days/long periods; 'hourly' for partial days/specific times. Response must only include day of week and start date.
54+
Required: `daily` (full days) or `hourly` (partial). Output only day of week and start date.
5555
time_period_length_prompt:
5656
name: Time Period Length Prompt
5757
description: The prompt which will be used for the LLM can provide the length of the period.
5858
selector:
5959
text:
6060
multiline: true
6161
default: |-
62-
Mandatory. Length in days (if daily) or hours (if hourly). E.g. 1 (today), 7 (week), 6 (afternoon).
62+
Required: Length in days/hours (e.g. 1, 7, 6).
6363
date_prompt:
6464
name: Date Prompt
6565
description: The prompt which will be used for the LLM can provide the start date for the events period.
6666
selector:
6767
text:
6868
multiline: true
6969
default: |-
70-
Mandatory. Start date (YYYY-MM-DD). Default to today if unspecified. For "night", use next day unless current time < 05:00:00.
70+
Required: Start date (`YYYY-MM-DD`). Default today. `Night` = next day if >= `05:00:00`.
7171
time_prompt:
7272
name: Time Prompt
7373
description: The prompt which will be used for the LLM can provide the start time for the events period.
7474
selector:
7575
text:
7676
multiline: true
7777
default: |-
78-
Mandatory. Start time (HH:MM:SS). Full day = 00:00:00. Morning = 06:00:00, Afternoon = 12:00:00, Evening = 18:00:00, Night = 00:00:00.
78+
Required: Start time (`HH:MM:SS`). Morning=`06:00:00`, Afternoon=`12:00:00`, Evening=`18:00:00`, Night/Full day=`00:00:00`.
7979
mode: parallel
8080
max_exceeded: silent
8181
description: Retrieves upcoming or past calendar events for a specific time period. Useful for checking schedules and appointments.

camera_snapshot_full_llm.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ blueprint:
100100
text:
101101
multiline: true
102102
default: |-
103-
Mandatory. Camera friendly name. If unclear, determine from context or suggest. For multiple cameras, use separate tool calls. Returns local image path.
103+
Required: Camera friendly name. Multiple cameras = multiple calls. Returns local image path.
104104
mode: parallel
105105
max_exceeded: silent
106106
description: Captures and saves a camera snapshot. Returns the local file path for analysis or messaging tools. Useful for visual verification of a scene.

control_music_full_llm.yaml

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -82,25 +82,25 @@ blueprint:
8282
multiline: true
8383
multiple: false
8484
default: |-
85-
Mandatory. Values: track (single/list), album, artist, playlist, radio. Default to 'track' for genre/mood requests and list matching songs in media_id.
85+
Required: track, album, artist, playlist, radio. Default: `track` for genre/mood/list.
8686
artist_prompt:
8787
name: Artist Prompt
8888
description: The prompt that the LLM will use to provide the artist.
8989
selector:
9090
text:
9191
multiline: true
9292
multiple: false
93-
default:
94-
Requested artist or track artist. Empty string if unknown or multiple artists requested.
93+
default: |-
94+
Requested artist(s). Empty if unknown/multiple.
9595
album_prompt:
9696
name: Album Prompt
9797
description: The prompt that the LLM will use to provide the album.
9898
selector:
9999
text:
100100
multiline: true
101101
multiple: false
102-
default:
103-
Requested album. Empty string if unknown or multiple albums requested.
102+
default: |-
103+
Requested album. Empty if unknown/multiple.
104104
media_id_prompt:
105105
name: Media ID Prompt
106106
description: The prompt that the LLM will use to provide the media_id.
@@ -109,49 +109,43 @@ blueprint:
109109
multiline: true
110110
multiple: false
111111
default: |-
112-
Mandatory. Specific name(s).
113-
- Tracks/Albums: Provide names (semicolon separated). If ambiguous, use "Artist - Track".
114-
- Artists/Playlists/Radio: Provide exact name. Remove "playlist" keyword (e.g., "Favorites").
112+
Required: Specific name(s). Tracks/Albums: semicolon separated. Artists/Playlists/Radio: exact name (omit `playlist` keyword).
115113
media_description_prompt:
116114
name: Media Description Prompt
117115
description: The prompt that the LLM will use to provide the media description.
118116
selector:
119117
text:
120118
multiline: true
121119
multiple: false
122-
default:
123-
The "media_description" key is used to describe the media which
124-
will be played. This can be taken from the voice command query, but it
125-
should be only the part which is relevant for the media. So if the voice
126-
request is "Play the best Queen songs on the living room player" the value
127-
for "media_description" should be "the best Queen songs"
120+
default: |-
121+
Required: Extracted media description from query (e.g. `the best Queen songs`). Omit area/player details.
128122
area_prompt:
129123
name: Area Prompt
130124
description: The prompt that the LLM will use to provide the area.
131125
selector:
132126
text:
133127
multiline: true
134128
multiple: false
135-
default:
136-
Requested area(s). Default to the area of the initiating device. Omit if player is specified unless both are explicitly named.
129+
default: |-
130+
Requested area(s). Default to initiating device area. Omit if player specified.
137131
media_player_prompt:
138132
name: Media Player Prompt
139133
description: The prompt that the LLM will use to provide the media player.
140134
selector:
141135
text:
142136
multiline: true
143137
multiple: false
144-
default:
145-
Target Music Assistant media_player entity_id(s). Use ONLY if specifically mentioned.
138+
default: |-
139+
Target Music Assistant `media_player` entity_id(s). ONLY if explicitly mentioned.
146140
shuffle_prompt:
147141
name: Shuffle Prompt
148142
description: The prompt that the LLM will use to determine whether to turn on shuffle or not.
149143
selector:
150144
text:
151145
multiline: true
152146
multiple: false
153-
default:
154-
Mandatory. Boolean. Set true ONLY if the user specifically mentions shuffling. Otherwise false. Do not guess.
147+
default: |-
148+
Required: `true` or `false`. `true` ONLY if shuffling explicitly requested. No guessing.
155149
addition_conditions_actions:
156150
name: Additional actions
157151
icon: mdi:wrench

create_calendar_event_full_llm.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,47 +63,47 @@ blueprint:
6363
text:
6464
multiline: true
6565
default: |-
66-
Mandatory. Subject or title of the event.
66+
Required: Event subject/title.
6767
description_prompt:
6868
name: Description Prompt
6969
description: Detailed description of the event.
7070
selector:
7171
text:
7272
multiline: true
7373
default: |-
74-
Optional. Full details of the event.
74+
Optional: Event details.
7575
start_date_time_prompt:
7676
name: Start Time Prompt
7777
description: Start date and time for timed events.
7878
selector:
7979
text:
8080
multiline: true
8181
default: |-
82-
Use ONLY for timed events (YYYY-MM-DD HH:MM:SS). Excludes start_date.
82+
For timed events only (`YYYY-MM-DD HH:MM:SS`). No `start_date`.
8383
end_date_time_prompt:
8484
name: End Time Prompt
8585
description: End date and time for timed events.
8686
selector:
8787
text:
8888
multiline: true
8989
default: |-
90-
Mandatory for timed events. Default: start + 2h. Excludes end_date.
90+
Required for timed events. Default: start + 2h. No `end_date`.
9191
start_date_prompt:
9292
name: Start Date Prompt
9393
description: Start date for all-day events.
9494
selector:
9595
text:
9696
multiline: true
9797
default: |-
98-
Use ONLY for all-day events (YYYY-MM-DD). Excludes start_date_time.
98+
For all-day events only (`YYYY-MM-DD`). No `start_date_time`.
9999
end_date_prompt:
100100
name: End Date Prompt
101101
description: End date for all-day events.
102102
selector:
103103
text:
104104
multiline: true
105105
default: |-
106-
Mandatory for all-day events. Default: start + 1 day. Excludes end_date_time.
106+
Required for all-day events. Default: start + 1d. No `end_date_time`.
107107
mode: queued
108108
max: !input simultaneous
109109
max_exceeded: silent

date_lookup_and_conversion_full_llm.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,23 +48,23 @@ blueprint:
4848
text:
4949
multiline: true
5050
default: |-
51-
Mandatory. 's2l' (Solar to Lunar) or 'l2s' (Lunar to Solar). Response must include: day of week, both dates, and days remaining/elapsed.
51+
Required: `s2l` (Solar->Lunar) or `l2s` (Lunar->Solar). Output day of week, both dates, days diff.
5252
date_prompt:
5353
name: Date Prompt
5454
description: The prompt which will be used for the LLM can provide the input date for the conversion.
5555
selector:
5656
text:
5757
multiline: true
5858
default: |-
59-
Mandatory. Date (YYYY-MM-DD). If year unspecified, use current year. Use today/tomorrow as needed.
59+
Required: Date (`YYYY-MM-DD`). If no year, use current.
6060
leap_month_prompt:
6161
name: Leap Month Prompt
6262
description: The prompt which will be used for the LLM can provide the leap month for the conversion.
6363
selector:
6464
text:
6565
multiline: true
6666
default: |-
67-
Optional for l2s. 'true' for leap month, 'false' for regular. Do not use for s2l.
67+
Optional for `l2s`: `true`=leap month, `false`=regular. Skip for `s2l`.
6868
mode: parallel
6969
max_exceeded: silent
7070
description: Converts dates between Solar and Lunar calendars, looks up auspicious days, and determines the day of the week.

device_control_timer_full_llm.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,23 +87,23 @@ blueprint:
8787
text:
8888
multiline: true
8989
default: |-
90-
Mandatory. Provide device names to control. Use semicolons (;) to separate multiple names.
90+
Required: Device names. Semicolon-separated.
9191
control_prompt:
9292
name: Control Prompt
9393
description: The prompt which will be used for the LLM can provide the action.
9494
selector:
9595
text:
9696
multiline: true
9797
default: |-
98-
Mandatory. Action: 'true' (ON), 'false' (OFF). Do not guess.
98+
Required: Action `true` (ON), `false` (OFF). No guessing.
9999
timer_prompt:
100100
name: Timer Prompt
101101
description: The prompt which will be used for the LLM can provide the delay of action.
102102
selector:
103103
text:
104104
multiline: true
105105
default: |-
106-
Mandatory. Delay as HH:MM:SS. Calculate from current time if a target time is specified. Relative to now.
106+
Required: Delay as `HH:MM:SS`. Calculate from now if target specified.
107107
mode: parallel
108108
max_exceeded: silent
109109
description: Simple one-time timer for turning devices on or off after a delay. Use for basic "turn off in X minutes" requests.

device_location_lookup_full_llm.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ blueprint:
8181
text:
8282
multiline: true
8383
default: |-
84-
Mandatory. Provide names of tracked devices (phones, tags, etc.). Use semicolons (;) if multiple. If none specified, provide all relevant tracked devices. Prompt to ring if supported.
84+
Required: Tracked device names (semicolon-separated). Ring if supported.
8585
mode: parallel
8686
max_exceeded: silent
8787
description: Retrieves real-time device locations (phones, tags, etc.) within the home. Use to find missing devices or check room presence.

0 commit comments

Comments
 (0)