* 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
* Fix a bug parsing a streaming response with no json
* Remove debug lines
* Fix quality loss for LLM conversation agent question answering
* Update tests
* 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>
* 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
* Add script llm tool
* Add tests
* More tests
* more test
* more test
* Add area and floor resolving
* coverage
* coverage
* fix ColorTempSelector
* fix mypy
* fix mypy
* add script reload test
* Cache script tool parameters
* Make custom_serializer a part of api
---------
Co-authored-by: Michael Hansen <mike@rhasspy.org>
* Include speech_slots in IntentResponse.as_dict
* Populate speech_slots only if available
* fix typo
* Add test
* test all fields
* Fix another test
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Automatically fill in slots from LLM context
* Add tests
* Apply suggestions from code review
Co-authored-by: Allen Porter <allen@thebends.org>
---------
Co-authored-by: Allen Porter <allen@thebends.org>
* Ignore deprecated open and close cover intents for LLMs
* Fix LLMs asking which area when there is only one device
* remove unrelated changed
* remove unrelated changes
* LLM Assist API to ignore timer intents if device doesn't support it
* Refactor to use API instances
* Extract ToolContext class
* Limit exposed intents based on exposed entities
* initial commit
* Undo prompt chenges
* Move format_tool out of the class
* Only catch HomeAssistantError and vol.Invalid
* Add config flow option
* Fix type
* Add translation
* Allow changing API access from options flow
* Allow model picking
* Remove allowing HASS Access in main flow
* Move model to the top in options flow
* Make prompt conditional based on API access
* convert only once to dict
* Reduce debug logging
* Update title
* re-order models
* Address comments
* Move things
* Update labels
* Add tool call tests
* coverage
* Use LLM APIs
* Fixes
* Address comments
* Reinstate the title to not break entity name
---------
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>