Hi, Im running local ollama with qwen3:14b model. I love it, I gave AI instructions and with piper + whisper it works like a charm. I can ask about all entities and with those instructions it never failed me BUT now I'm taking it one step further and I ask model to do sth. The problem is... nothing works, I solved one problem to use direct entity name in json like: "light.name_of_light" insted of freindly name: "Friendly Light Name" and after saying multiple times, how json struct should look like I managed to turn on light once but it just never works. How to control devices correctly? How to tell AI to ask HA to do stuff correctly? I started yesterday, I heard that maybe I should use "->Intents<-"? I just ask for correct starting point how it should be done, so I'm not wondering inside HA in wrong place for days.
More info:
Ollama windows 10.
2x RX 9070 XT (ollama + whisper)
Ryzen 9800x3D piper 8 threads
Thanks!
#Ollama local control is broken?
1 messages · Page 1 of 1 (latest)
The ollama integration in core ha natively supports light control as long as they are exposed to assist, using friendly name. But if you have a lot of entities you may need to bump up the context window size or it night hallucinate or malfunction.
Thank you for answer. But no no, I tested with 32768 and like 2 entities. Status -> perfect. Control -> none. OK my bad I gave and example for light as its easy to understand but i try to control HVAC. hvac_modes: off, auto, heat, cool
min_temp: 17
max_temp: 27
target_temp_step: 0.1
fan_modes: auto, low, medium, high
preset_modes: none, sleep, eco, boost
current_temperature: 23.6
target_temp_high: 22.8
target_temp_low: 22
fan_mode: low
preset_mode: none
friendly_name: CLIMATE tasmota_FBB300
supported_features: 410
There's seems to be intents for it in core, not sure why it wouldn't work https://github.com/OHF-Voice/intents/blob/main/sentences/en/climate_HassClimateSetTemperature.yaml
I see that's why I was asking about Intents, prove me wrong but this file has:
language: "en"
intents:
HassClimateSetTemperature:
data:
# Current area or floor
- sentences:
- "(<numeric_value_set>|adjust) [the] <temp> to <temperature>"
# By area name
- sentences:
- "(<numeric_value_set>|adjust) [the] <temp> in <area> to <temperature>"
- "(<numeric_value_set>|adjust) <area> <temp> to <temperature>"
# By floor name
- sentences:
- "(<numeric_value_set>|adjust) [the] <temp> (of|on) <floor> to <temperature>"
- "(<numeric_value_set>|adjust) <floor> <temp> to <temperature>"
# By climate entity name
- sentences:
- "(<numeric_value_set>|adjust) [the] <temp> of <name> to <temperature>"
- "(<numeric_value_set>|adjust) <name> [<temp>] to <temperature>"
requires_context:
domain: "climate"
Does it mean that it supports only temp target?
Anyway isnt it only for local (built in)? Im aksing about Ollama,
@latent nova sorry for poking you but as far as I can see you are the owner of Ollama integration 🙂
small update i made it working by doing the job for AI:
So for others... Ollama is not using: https://www.home-assistant.io/integrations/conversation/ the instructions were provided manually in configuration section. Its using the intent scripts, so this solves my question:
Yeah but the intent scripts used by those are usually fed into the llm as tools 🙂
Though to be fair i usually use llm with the prefer handling command locally option on so thighs like requesting lights to turn on are instant.
I would like to run 32B model eventually and move all control to ollama. RX 9070 XTs are slow according to reddit. I fed it with a lot of data and It's not that smooth anymore but I'm getting RTX4080 tmrw. Let me see what CUDA can do. But after discovering intent_scripts. I'm very happy with the results, just a little bit more horse power 🙂
I'm the integration owner but I didn't implement the tool calling. The intents are supposed to be available as tools for the LLM to call.