Update Ollama model configurations and documentation for clarity and consistency

- Revised model descriptions in `ollama-models.example.yaml` to emphasize uncensored and abliterated requirements, enhancing user understanding.
- Updated documentation in `llm.md` to reflect changes in model tags and their meanings, ensuring accurate guidance for users.
- Modified CLI help messages to clarify the nature of presets, reinforcing that all options are abliterate models with Russian support.
- Enhanced the `llm_runtime.py` file to align preset labels with the updated model descriptions, improving consistency across the codebase.
This commit is contained in:
Leonid Pershin
2026-08-21 08:54:21 +03:00
parent 2ab32a8ab5
commit f17b1c9731
5 changed files with 29 additions and 28 deletions
+8 -7
View File
@@ -83,13 +83,14 @@ $env:OLLAMA_HOST = "http://127.0.0.1:17811"
| # | ключ | tag / смысл | | # | ключ | tag / смысл |
| --- | --- | --- | | --- | --- | --- |
| 1 | **recommended** | `huihui_ai/qwen2.5-vl-abliterated:7b` — vision+RU, ~6 GB | | 1 | **recommended** | `huihui_ai/qwen2.5-vl-abliterated:7b` RU + vision, ~6GB |
| 2 | light | VL 3B abliterate (~3 GB) | | 2 | light | `…:3b` — то же, мало VRAM (~3GB) |
| 3 | text | text-only `qwen2.5-abliterate:7b` | | 3 | text | `huihui_ai/qwen2.5-abliterate:7b` — RU, без vision (~5GB) |
| 4 | stock | `qwen2.5:7b` | | 4 | big | `huihui_ai/qwen2.5-vl-abliterated:32b` — RU + vision (~21GB) |
| 5 | alt | другой text abliterate 7B | | 5 | empty | только runtime |
| 6 | empty | только runtime | | | keep | не трогать yaml |
| — | keep | не трогать yaml (если уже спросили повторно) |
Все пресеты (кроме `empty`) — **abliterated** Qwen2.5 с нормальным русским. Официальные censored-теги (`qwen2.5vl:…`) в меню нет.
`default: true` в yaml — preferred в логе; pull идёт по всему списку. `default: true` в yaml — preferred в логе; pull идёт по всему списку.
+7 -9
View File
@@ -1,15 +1,13 @@
# Copy to ollama-models.yaml (gitignored). Used when LLM_RUNTIME=ollama. # Copy to ollama-models.yaml (gitignored). Used when LLM_RUNTIME=ollama.
# name = exact tag for `ollama pull` (Ollama library / community). # name = exact tag for `ollama pull`.
# Empty models: [] → runtime only, no pull. # Requirement: uncensored (abliterated) + Russian. Empty models: [] → no pull.
# Purpose: SwarmUI prompt help — vision + RU/EN on the same GPU as diffusion.
models: models:
# Recommended (~6GB): vision + Russian/English, low refusal # Recommended (~6GB): vision + RU/EN, abliterated
- name: huihui_ai/qwen2.5-vl-abliterated:7b - name: huihui_ai/qwen2.5-vl-abliterated:7b
default: true default: true
# Alternatives (uncomment / use presets on setup|up): # Presets (setup / up --ollama-preset …):
# light — huihui_ai/qwen2.5-vl-abliterated:3b (~3GB) # light — huihui_ai/qwen2.5-vl-abliterated:3b (~3GB)
# stock — qwen2.5vl:7b (official library) # text — huihui_ai/qwen2.5-abliterate:7b (~5GB, no vision)
# text — huihui_ai/qwen2.5-abliterate:7b (no vision, ~5GB) # big — huihui_ai/qwen2.5-vl-abliterated:32b (~21GB)
# big — qwen2.5vl:32b (~21GB; llm-only)
+1 -1
View File
@@ -398,7 +398,7 @@ def open(
def setup( def setup(
llm: Optional[str] = typer.Option(None, "--llm", help="none|ollama"), llm: Optional[str] = typer.Option(None, "--llm", help="none|ollama"),
ollama_preset: Optional[str] = typer.Option( ollama_preset: Optional[str] = typer.Option(
None, "--ollama-preset", help="recommended|light|stock|text|big|empty" None, "--ollama-preset", help="recommended|light|text|big|empty (все — abliterate + RU)"
), ),
watchdog: Optional[bool] = typer.Option( watchdog: Optional[bool] = typer.Option(
None, "--watchdog/--no-watchdog", help="Поставить local-watchdog" None, "--watchdog/--no-watchdog", help="Поставить local-watchdog"
+9 -11
View File
@@ -16,22 +16,20 @@ from gpu_rent.paths import (
VALID_RUNTIMES = frozenset({"none", "ollama"}) VALID_RUNTIMES = frozenset({"none", "ollama"})
OLLAMA_PRESETS: dict[str, list[str]] = { OLLAMA_PRESETS: dict[str, list[str]] = {
# Ollama library / community tags only (no GGUF). Tuned for SwarmUI prompt help: # Requirement: uncensored (abliterated) + solid Russian. Qwen2.5 family.
# vision + RU/EN, share VRAM with diffusion on typical 24GiB. # Vision tags preferred for SwarmUI prompt help with images.
"recommended": ["huihui_ai/qwen2.5-vl-abliterated:7b"], # ~6GB, low refusal "recommended": ["huihui_ai/qwen2.5-vl-abliterated:7b"], # ~6GB
"light": ["huihui_ai/qwen2.5-vl-abliterated:3b"], # ~3GB, tight VRAM "light": ["huihui_ai/qwen2.5-vl-abliterated:3b"], # ~3GB
"stock": ["qwen2.5vl:7b"], # official library vision
"text": ["huihui_ai/qwen2.5-abliterate:7b"], # ~5GB, no vision "text": ["huihui_ai/qwen2.5-abliterate:7b"], # ~5GB, no vision
"big": ["qwen2.5vl:32b"], # ~21GB — llm-only or ≥40GiB free "big": ["huihui_ai/qwen2.5-vl-abliterated:32b"], # ~21GB
"empty": [], "empty": [],
} }
OLLAMA_PRESET_LABELS: dict[str, str] = { OLLAMA_PRESET_LABELS: dict[str, str] = {
"recommended": "Qwen2.5-VL 7B abliterate (картинки+RU, ~6GB)", "recommended": "VL 7B abliterate — RU + картинки (~6GB)",
"light": "Qwen2.5-VL 3B abliterate (мало VRAM, ~3GB)", "light": "VL 3B abliterate — RU + картинки, мало VRAM (~3GB)",
"stock": "официальный qwen2.5vl:7b (library, больше отказов)", "text": "7B abliterate text — RU, без vision (~5GB)",
"text": "Qwen2.5 7B abliterate text-only (~5GB)", "big": "VL 32B abliterate — RU + картинки (~21GB)",
"big": "qwen2.5vl:32b (~21GB; llm-only / большой GPU)",
"empty": "только runtime, без pull", "empty": "только runtime, без pull",
"keep": "не менять ollama-models.yaml", "keep": "не менять ollama-models.yaml",
} }
+4
View File
@@ -55,3 +55,7 @@ def test_write_preset(tmp_path: Path):
write_ollama_models_preset(path, "recommended") write_ollama_models_preset(path, "recommended")
entries = parse_ollama_models(path) entries = parse_ollama_models(path)
assert entries[0].name == "huihui_ai/qwen2.5-vl-abliterated:7b" assert entries[0].name == "huihui_ai/qwen2.5-vl-abliterated:7b"
write_ollama_models_preset(path, "big")
assert parse_ollama_models(path)[0].name == "huihui_ai/qwen2.5-vl-abliterated:32b"
write_ollama_models_preset(path, "text")
assert parse_ollama_models(path)[0].name == "huihui_ai/qwen2.5-abliterate:7b"