78 Commits
Author SHA1 Message Date
Allen PorterandGitHub f5093afa58 Fix voluptuous schema conversion of custom callables (#176814) 2026-07-20 20:49:06 +02:00
ed0d5cfd8d Move script tool-alias logic into the script integration (#176114)
Co-authored-by: Claude <noreply@anthropic.com>
2026-07-10 07:08:57 +02:00
075e5666b2 Remove migrated dead code from helpers/llm.py (#176082)
Co-authored-by: Claude <noreply@anthropic.com>
2026-07-09 20:09:53 +02:00
d578a07cd7 Deprecate async_render_no_api_prompt (#176111)
Co-authored-by: Claude <noreply@anthropic.com>
2026-07-09 18:11:48 +02:00
7043ec06ce Have the Assist API get its tools and prompt from the llm integration (#175659)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 06:30:17 -04:00
7dac0506d3 Make LLMContext.assistant a required non-optional field (#175553)
Co-authored-by: Claude <noreply@anthropic.com>
2026-07-03 15:54:54 -04:00
Nicolas MowenandGitHub 10ce428387 Handle case where GetLiveContext includes an entity with StrEnum key (#174822) 2026-06-25 19:53:32 +02:00
Franck NijhofandGitHub 2a0b5ca895 Sort aliases in LLM prompts for stable prefix caching (#173558) 2026-06-12 18:56:38 +02:00
d098622021 Return all matches for duplicate names in GetLiveContext (#173157)
Co-authored-by: Claude <noreply@anthropic.com>
2026-06-07 21:50:15 -04:00
Michael HansenandGitHub ba9248cc94 LLM: format numeric states with display precision (#173128) 2026-06-06 12:15:48 -04:00
skye-harrisandGitHub 9fd48344f8 Reorder device location context towards the end of the Assist LLM instructions (#165136) 2026-05-23 20:51:17 -07:00
Franck NijhofGitHubcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>frenck
9a1fd913bf Fix line length violations in tests (non-components) (#170804)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: frenck <195327+frenck@users.noreply.github.com>
2026-05-17 10:30:45 -04:00
d956af095e Add ability to filter GetLiveContext tool (#168457)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-28 22:08:29 -07:00
Artur PragaczandGitHub 151eae4d5a Add compatibility layer for entities without has_entity_name to entity registry (#166246) 2026-03-24 20:22:15 +01:00
6ea9e9a161 Remove targets from intent response (#165434)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2026-03-18 18:35:30 +00:00
Artur PragaczandGitHub bafef2065f Rework user-given entity name logic (#162763) 2026-03-17 11:09:20 +01:00
Artur PragaczandGitHub d66c7bf38b Fix LLM test to use string values for device attributes (#161490) 2026-01-23 15:24:43 -05:00
c9351a022e Add HassStopMoving intent for covers and valves (#155267)
Co-authored-by: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com>
2025-12-04 22:23:49 +01:00
Paulus SchoutsenandGitHub 257e82fe4e Add multiple selection to media selector (#154350) 2025-11-04 01:44:31 +01:00
epenetandGitHub 9d3b1562c4 Remove more components from _IGNORE_ROOT_IMPORT in pylint plugin (#154667) 2025-10-17 09:46:53 +02:00
34ab725b75 LLM prefix caching optimization using new GetDateTime tool (#152408)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Denis Shulyaka <Shulyaka@gmail.com>
2025-10-16 12:47:12 -04:00
3c001bd6ed Revert "Expose the entity_id of an entity to LLMs" (#154561)
Co-authored-by: Michael Hansen <mike@rhasspy.org>
2025-10-15 16:07:34 -04:00
Omer KornerandGitHub e2c281549e Expose the entity_id of an entity to LLMs (#149428) 2025-10-15 21:24:32 +02:00
d990c2bee2 Fix timestamps exposed to LLM to be in local timezone (#139825)
Co-authored-by: Michael Hansen <mike@rhasspy.org>
2025-09-08 14:51:17 -05:00
Artur PragaczandGitHub d5c208672e Add TARGET_FIELDS to config validation (#150238) 2025-08-26 19:40:39 +01:00
Paulus SchoutsenandGitHub e6702d2392 Serialize Object Selector correctly if a field is required (#148577) 2025-07-10 22:45:56 +01:00
Denis ShulyakaandGitHub 3151713a34 Replace dot with underscores for NamespacedTool and ActionTool (#147764) 2025-07-05 11:27:27 +02:00
Allen PorterandGitHub 1fc624c7a7 Update LLM selector serializer to support ObjectSelector fields and arrays (#148094) 2025-07-04 13:05:16 +02:00
Paulus SchoutsenandGitHub 7cccdf2205 Add accept keyword to Media selector (#145527)
* Add accept keyword to Media selector

* Adjust test
2025-06-24 07:36:48 -05:00
Paulus SchoutsenandGitHub 059c12798d Drop user prompt from LLMContext (#146787) 2025-06-13 22:01:39 -04:00
Allen PorterandGitHub b16151ac6d Add an LLM tool for fetching todo list items (#143777)
* Add a tool for fetching todo list items

* Simplify the todo list interface by adding an "all" status

* Update prompt to improve performance on smaller models
2025-04-30 08:49:33 -04:00
Allen PorterandGitHub db043b26da Fix quality loss for LLM conversation agent question answering (#142873)
* Fix a bug parsing a streaming response with no json

* Remove debug lines

* Fix  quality loss for LLM conversation agent question answering

* Update tests
2025-04-14 10:05:34 +02:00
d91528648f Update ollama to allow selecting mutiple LLM APIs (#142445)
* Update ollama to allow selecting mutiple LLM APIs

* Update homeassistant/helpers/llm.py

* Avoid gather since these don't do I/O

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2025-04-13 15:37:46 -07:00
John KarabudakandGitHub 85d2e3d006 Fix LLM to speed up prefill (#141156)
* fix: two minor LLM changes to speed up prefill

- moved the current date/time to the end of the prompt
- started sorting all entities by last_changed

* addressed PR comments

* fixed tests

* reduced scope of try/catch in LLM prompt

* addressed more PR comments

* fixed Anthropic test

* addressed another PR comment

* fixed remainder of tests
2025-03-30 13:30:40 -07:00
Allen PorterandGitHub 4e2dfba45f Omit state from the Assist LLM prompts (#141034)
* Omit state from the Assist LLM prompts

* Add back the stateful prompt
2025-03-22 15:41:51 -04:00
Allen PorterandGitHub a83bf4f514 Add a GetHomeState tool to return the current state of the home (#140971)
* Add a GetHomeState tool to return the current state of the home

* Fix check for exposing entities

* Add "all" to get home state description
2025-03-20 19:37:54 -07:00
Paulus SchoutsenandGitHub ac42c9386c Simplify llm calendar tool (#137402)
* Simplify calendar tool

* Clean up exposed entities
2025-02-05 11:42:41 +01:00
Denis ShulyakaandGitHub 85540cea3f Add LLM ActionTool (#136591)
Add ActionTool
2025-01-27 14:21:27 -05:00
Paulus SchoutsenandGitHub 005ae3ace6 Allow LLMs to get calendar events from exposed calendars (#136304) 2025-01-23 17:54:04 -05:00
Allen PorterandGitHub 6e111d18ec Allow unregistering LLM APIs (#135162) 2025-01-09 08:18:25 -08:00
Paulus SchoutsenandGitHub ae34a6b375 Do not double expose scripts in LLM tools (#131726) 2024-11-27 18:04:08 +01:00
Paulus SchoutsenandGitHub 7e03100af2 Allow an LLM to see script response values (#131683) 2024-11-26 23:51:21 -06:00
Jan-Philipp BeneckeandGitHub 1a71fbe427 Add intent to cancel all timers (#130873)
* Add intent to cancel all timers

* Add intent to llm test
2024-11-26 09:59:41 -06:00
Denis ShulyakaandGitHub e0e61b5262 Expose scripts with no fields as entities (#123061) 2024-10-22 23:14:07 -07:00
Denis ShulyakaandGitHub ed6d6575d7 Add aliases to script llm tool description (#122380)
* Add aliases to script llm tool description

* Also add name
2024-08-02 08:05:06 +02:00
Denis ShulyakaandGitHub be24475cee Update selector converters for llm script tools (#122830) 2024-07-30 08:24:03 -07:00
Allen PorterandGitHub e5bb1b2cc6 Update LLM prompt to improve quality for local LLMs (#122746) 2024-07-29 12:04:23 +02:00
Denis ShulyakaandGitHub 064d7261b4 Ensure script llm tool name does not start with a digit (#122349)
* Ensure script tool name does not start with a digit

* Fix test name
2024-07-22 11:11:09 +02:00
AlanandGitHub 8ff4991f07 LLM to handle int attributes (#121037) 2024-07-06 11:41:18 +02:00
Michael HansenandGitHub d3ceaef098 Allow timer management from any device (#120440) 2024-06-26 09:06:56 +02:00