summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortanaka takashi <isazaka@gmail.com>2026-06-27 17:05:54 +0900
committertanaka takashi <isazaka@gmail.com>2026-06-27 17:05:54 +0900
commita637dd7707300e342b88057afe05773a9970af6b (patch)
tree90e453219c02d9d3a1733735bd8397613d881caa
parent6a362d58a952c2de0d3097b03b212388a6bc35e4 (diff)
Ollama設定の詳細プレースホルダーを修正
-rw-r--r--src/ollama_web/i18n/messages/en.json2
-rw-r--r--src/ollama_web/i18n/messages/ja.json2
-rw-r--r--src/ollama_web/templates/index.html28
-rw-r--r--tests/test_settings.py6
4 files changed, 22 insertions, 16 deletions
diff --git a/src/ollama_web/i18n/messages/en.json b/src/ollama_web/i18n/messages/en.json
index 8bf3913..55183e8 100644
--- a/src/ollama_web/i18n/messages/en.json
+++ b/src/ollama_web/i18n/messages/en.json
@@ -125,7 +125,7 @@
"seed_value": "Fixed seed value",
"advanced": "Advanced settings",
"blank_omitted": "Blank options are not sent to Ollama.",
- "stop_placeholder": "Enter one stop sequence per line"
+ "stop_placeholder": "Example (one per line):\n<|eot_id|>\n<|end_of_text|>"
},
"messages": {
"load_failed": "Failed to load settings.",
diff --git a/src/ollama_web/i18n/messages/ja.json b/src/ollama_web/i18n/messages/ja.json
index 12a9e4b..97a988d 100644
--- a/src/ollama_web/i18n/messages/ja.json
+++ b/src/ollama_web/i18n/messages/ja.json
@@ -125,7 +125,7 @@
"seed_value": "seed固定値",
"advanced": "詳細設定",
"blank_omitted": "空欄の項目はOllamaへ送信されません。",
- "stop_placeholder": "停止文字列を1行に1件入力"
+ "stop_placeholder": "入力例(1行に1件):\n<|eot_id|>\n<|end_of_text|>"
},
"messages": {
"load_failed": "設定の読み込みに失敗しました。",
diff --git a/src/ollama_web/templates/index.html b/src/ollama_web/templates/index.html
index f30b32e..10d9aba 100644
--- a/src/ollama_web/templates/index.html
+++ b/src/ollama_web/templates/index.html
@@ -144,20 +144,20 @@
<summary>{{ t('settings.ollama.advanced') }}</summary>
<p class="field-help">{{ t('settings.ollama.blank_omitted') }}</p>
<div class="option-grid">
- <label class="settings-field"><span>num_keep</span><input data-option="num_keep" data-type="int" type="number" step="1" /></label>
- <label class="settings-field"><span>num_predict</span><input data-option="num_predict" data-type="int" type="number" step="1" /></label>
- <label class="settings-field"><span>top_k</span><input data-option="top_k" data-type="int" type="number" step="1" /></label>
- <label class="settings-field"><span>top_p</span><input data-option="top_p" data-type="float" type="number" step="any" /></label>
- <label class="settings-field"><span>min_p</span><input data-option="min_p" data-type="float" type="number" step="any" /></label>
- <label class="settings-field"><span>typical_p</span><input data-option="typical_p" data-type="float" type="number" step="any" /></label>
- <label class="settings-field"><span>tfs_z</span><input data-option="tfs_z" data-type="float" type="number" step="any" /></label>
- <label class="settings-field"><span>repeat_last_n</span><input data-option="repeat_last_n" data-type="int" type="number" step="1" /></label>
- <label class="settings-field"><span>repeat_penalty</span><input data-option="repeat_penalty" data-type="float" type="number" step="any" /></label>
- <label class="settings-field"><span>presence_penalty</span><input data-option="presence_penalty" data-type="float" type="number" step="any" /></label>
- <label class="settings-field"><span>frequency_penalty</span><input data-option="frequency_penalty" data-type="float" type="number" step="any" /></label>
- <label class="settings-field"><span>mirostat</span><input data-option="mirostat" data-type="int" type="number" step="1" /></label>
- <label class="settings-field"><span>mirostat_tau</span><input data-option="mirostat_tau" data-type="float" type="number" step="any" /></label>
- <label class="settings-field"><span>mirostat_eta</span><input data-option="mirostat_eta" data-type="float" type="number" step="any" /></label>
+ <label class="settings-field"><span>num_keep</span><input data-option="num_keep" data-type="int" type="number" step="1" placeholder="24" /></label>
+ <label class="settings-field"><span>num_predict</span><input data-option="num_predict" data-type="int" type="number" step="1" placeholder="512" /></label>
+ <label class="settings-field"><span>top_k</span><input data-option="top_k" data-type="int" type="number" step="1" placeholder="40" /></label>
+ <label class="settings-field"><span>top_p</span><input data-option="top_p" data-type="float" type="number" step="any" placeholder="0.9" /></label>
+ <label class="settings-field"><span>min_p</span><input data-option="min_p" data-type="float" type="number" step="any" placeholder="0.05" /></label>
+ <label class="settings-field"><span>typical_p</span><input data-option="typical_p" data-type="float" type="number" step="any" placeholder="0.7" /></label>
+ <label class="settings-field"><span>tfs_z</span><input data-option="tfs_z" data-type="float" type="number" step="any" placeholder="1.0" /></label>
+ <label class="settings-field"><span>repeat_last_n</span><input data-option="repeat_last_n" data-type="int" type="number" step="1" placeholder="64" /></label>
+ <label class="settings-field"><span>repeat_penalty</span><input data-option="repeat_penalty" data-type="float" type="number" step="any" placeholder="1.1" /></label>
+ <label class="settings-field"><span>presence_penalty</span><input data-option="presence_penalty" data-type="float" type="number" step="any" placeholder="0.0" /></label>
+ <label class="settings-field"><span>frequency_penalty</span><input data-option="frequency_penalty" data-type="float" type="number" step="any" placeholder="0.0" /></label>
+ <label class="settings-field"><span>mirostat</span><input data-option="mirostat" data-type="int" type="number" step="1" placeholder="0" /></label>
+ <label class="settings-field"><span>mirostat_tau</span><input data-option="mirostat_tau" data-type="float" type="number" step="any" placeholder="5.0" /></label>
+ <label class="settings-field"><span>mirostat_eta</span><input data-option="mirostat_eta" data-type="float" type="number" step="any" placeholder="0.1" /></label>
</div>
<label class="settings-field" for="settings-stop">
<span>stop</span>
diff --git a/tests/test_settings.py b/tests/test_settings.py
index 6da1272..737c8fd 100644
--- a/tests/test_settings.py
+++ b/tests/test_settings.py
@@ -122,6 +122,12 @@ def test_settings_api_and_page_elements(tmp_path: Path) -> None:
assert 'data-settings-screen="general"' in html
assert 'data-settings-screen="ui"' in html
assert 'data-settings-screen="ollama"' in html
+ num_keep = (
+ 'data-option="num_keep" data-type="int" type="number" '
+ 'step="1" placeholder="24"'
+ )
+ assert num_keep in html
+ assert "&lt;|eot_id|&gt;" in html
assert html.index('id="general-settings-btn"') < html.index('id="mcp-settings-btn"')
finally:
settings.data_dir = original_data_dir