Skip to content

Commit ff19296

Browse files
committed
fix(llm): require explicit model and persist trimmed value
1 parent 6f21a4d commit ff19296

3 files changed

Lines changed: 20 additions & 10 deletions

File tree

ansible/roles/ovos_config/tasks/install.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,14 @@
128128
_ovos_persona_path: "{{ ovos_installer_user_home }}/{{ _ovos_persona_relpath }}"
129129
_ovos_persona_file: "{{ _ovos_persona_path }}/ovos-installer-llm.json"
130130
_ovos_llm_persona_name: "{{ ovos_installer_llm_persona_name | default('OVOS Installer LLM') | trim }}"
131+
_ovos_llm_model: "{{ ovos_installer_llm_model | default('') | trim }}"
131132
when:
132133
- ovos_installer_feature_llm | default(false) | bool
133134
- ovos_installer_method in ["virtualenv", "containers"]
134135
- ovos_installer_profile not in ['satellite', 'server']
135136
- (ovos_installer_llm_api_url | default('') | trim | length) > 0
136137
- (ovos_installer_llm_api_key | default('') | trim | length) > 0
137-
- (ovos_installer_llm_model | default('') | trim | length) > 0
138+
- (_ovos_llm_model | length) > 0
138139
- (ovos_installer_llm_persona | default('') | trim | length) > 0
139140
- (_ovos_llm_persona_name | length) > 0
140141
block:
@@ -159,12 +160,12 @@
159160
"solvers": [
160161
"ovos-solver-openai-plugin"
161162
],
162-
"ovos-solver-openai-plugin": {
163-
"api_url": ovos_installer_llm_api_url,
164-
"key": ovos_installer_llm_api_key,
165-
"model": ovos_installer_llm_model,
166-
"system_prompt": ovos_installer_llm_persona
167-
}
168-
} | to_nice_json
163+
"ovos-solver-openai-plugin": {
164+
"api_url": ovos_installer_llm_api_url,
165+
"key": ovos_installer_llm_api_key,
166+
"model": _ovos_llm_model,
167+
"system_prompt": ovos_installer_llm_persona
168+
}
169+
} | to_nice_json
169170
}}
170171
no_log: true

ansible/roles/ovos_installer/defaults/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ ovos_installer_homeassistant_host: ""
141141
ovos_installer_homeassistant_api_key: ""
142142
ovos_installer_llm_api_url: ""
143143
ovos_installer_llm_api_key: ""
144-
ovos_installer_llm_model: "gpt-4o-mini"
144+
ovos_installer_llm_model: ""
145145
ovos_installer_llm_persona: "helpful, creative, clever, and very friendly."
146146
ovos_installer_llm_persona_name: "OVOS Installer LLM"
147147
ovos_installer_usage_telemetry: false

tests/bats/code_quality.bats

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1473,6 +1473,9 @@ function setup() {
14731473
run grep -q "ovos_installer_llm_model:" ansible/roles/ovos_installer/defaults/main.yml
14741474
assert_success
14751475

1476+
run grep -q 'ovos_installer_llm_model: ""' ansible/roles/ovos_installer/defaults/main.yml
1477+
assert_success
1478+
14761479
run grep -q "ovos_installer_llm_model | default('') | trim | length > 0" ansible/roles/ovos_installer/tasks/assert.yml
14771480
assert_success
14781481

@@ -1485,9 +1488,15 @@ function setup() {
14851488
run grep -q '"ovos-solver-openai-plugin": {' ansible/roles/ovos_config/tasks/install.yml
14861489
assert_success
14871490

1488-
run grep -q '"model": ovos_installer_llm_model' ansible/roles/ovos_config/tasks/install.yml
1491+
run grep -q "_ovos_llm_model: \"{{ ovos_installer_llm_model | default('') | trim }}\"" ansible/roles/ovos_config/tasks/install.yml
1492+
assert_success
1493+
1494+
run grep -q '"model": _ovos_llm_model' ansible/roles/ovos_config/tasks/install.yml
14891495
assert_success
14901496

1497+
run grep -q '"model": ovos_installer_llm_model' ansible/roles/ovos_config/tasks/install.yml
1498+
assert_failure
1499+
14911500
run grep -q '"system_prompt": ovos_installer_llm_persona' ansible/roles/ovos_config/tasks/install.yml
14921501
assert_success
14931502

0 commit comments

Comments
 (0)