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
This commit is contained in:
John Karabudak
2025-03-30 18:00:40 -02:30
committed by GitHub
parent 936b0b32ed
commit 85d2e3d006
5 changed files with 79 additions and 59 deletions

View File

@@ -576,6 +576,10 @@ async def test_assist_api_prompt(
)
)
exposed_entities_prompt = """An overview of the areas and the devices in this smart home:
- names: '1'
domain: light
state: unavailable
areas: Test Area 2
- names: Kitchen
domain: light
state: 'on'
@@ -590,18 +594,6 @@ async def test_assist_api_prompt(
domain: light
state: unavailable
areas: Test Area, Alternative name
- names: Test Service
domain: light
state: unavailable
areas: Test Area, Alternative name
- names: Test Service
domain: light
state: unavailable
areas: Test Area, Alternative name
- names: Test Service
domain: light
state: unavailable
areas: Test Area, Alternative name
- names: Test Device 2
domain: light
state: unavailable
@@ -614,16 +606,27 @@ async def test_assist_api_prompt(
domain: light
state: unavailable
areas: Test Area 2
- names: Unnamed Device
- names: Test Service
domain: light
state: unavailable
areas: Test Area 2
- names: '1'
areas: Test Area, Alternative name
- names: Test Service
domain: light
state: unavailable
areas: Test Area, Alternative name
- names: Test Service
domain: light
state: unavailable
areas: Test Area, Alternative name
- names: Unnamed Device
domain: light
state: unavailable
areas: Test Area 2
"""
stateless_exposed_entities_prompt = """An overview of the areas and the devices in this smart home:
- names: '1'
domain: light
areas: Test Area 2
- names: Kitchen
domain: light
- names: Living Room
@@ -632,15 +635,6 @@ async def test_assist_api_prompt(
- names: Test Device, my test light
domain: light
areas: Test Area, Alternative name
- names: Test Service
domain: light
areas: Test Area, Alternative name
- names: Test Service
domain: light
areas: Test Area, Alternative name
- names: Test Service
domain: light
areas: Test Area, Alternative name
- names: Test Device 2
domain: light
areas: Test Area 2
@@ -650,10 +644,16 @@ async def test_assist_api_prompt(
- names: Test Device 4
domain: light
areas: Test Area 2
- names: Unnamed Device
- names: Test Service
domain: light
areas: Test Area 2
- names: '1'
areas: Test Area, Alternative name
- names: Test Service
domain: light
areas: Test Area, Alternative name
- names: Test Service
domain: light
areas: Test Area, Alternative name
- names: Unnamed Device
domain: light
areas: Test Area 2
"""