<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Qwen3 on dedinit()</title><link>https://dedinit.ru/tags/qwen3/</link><description>Recent content in Qwen3 on dedinit()</description><generator>Hugo -- 0.165.0</generator><language>ru-ru</language><lastBuildDate>Sun, 30 Aug 2026 12:00:00 +0300</lastBuildDate><atom:link href="https://dedinit.ru/tags/qwen3/index.xml" rel="self" type="application/rss+xml"/><item><title>Как я перевёл aux-задачи Hermes на локальные модели: экономия токенов и отключение режима размышлений у Qwen3</title><link>https://dedinit.ru/2026/local-aux-models-hermes-qwen3/</link><pubDate>Sun, 30 Aug 2026 12:00:00 +0300</pubDate><guid>https://dedinit.ru/2026/local-aux-models-hermes-qwen3/</guid><description>Рассказываю, как выбрал модель для вспомогательных (auxiliary) задач агента Hermes, перевёл vision и текстовые задачи на локальную Ollama, сэкономил токены облачного провайдера и допилил отключение режима размышлений (thinking) у Qwen3.</description><content:encoded><![CDATA[<figure class="entry-cover"><img src="https://dedinit.ru/2026/local-aux-models-hermes-qwen3/hero.svg" alt="Локальные aux-модели Hermes: qwen3-vl и qwen3"></figure><h1 id="как-я-перевёл-aux-задачи-hermes-на-локальные-модели">Как я перевёл aux-задачи Hermes на локальные модели</h1>
<p>У меня на домашнем сервере живёт агент <a href="https://hermes-agent.nousresearch.com">Hermes</a> — он ведёт блог, следит за сертификатами, ходит в мессенджеры и выполняет кучу мелких, но важных задач. Основную модель он берёт в облаке (провайдер polza.ai, 131K контекст), а для вспомогательных задач — генерации заголовков, извлечения текста из веб-страниц, описания картинок (vision) и сжатия контекста — у него есть отдельный механизм <strong>auxiliary</strong>. По умолчанию все aux-задачи тоже резолвятся в облако, а значит — тратят токены и деньги.</p>
<p>На сервере стоит видеокарта <strong>RTX 5060 Ti 16 GB</strong> (да, та самая, про которую я писал в статье про зависание Ubuntu при загрузке). Раз есть GPU — почему бы не увести aux-задачи на локальные модели? Приватность, скорость, ноль затрат на API. Рассказываю, как выбирал модель, как настраивал и какой грабли встретил при отключении режима размышлений (thinking) у Qwen3.</p>
<h2 id="что-такое-auxiliary-задачи-в-hermes">Что такое auxiliary-задачи в Hermes</h2>
<p>Hermes — агент с модульной архитектурой. Кроме основной модели (которая думает и пишет ответы), он вызывает <strong>вспомогательные (auxiliary) задачи</strong> через отдельный клиент — <code>auxiliary_client.py</code>. В моей версии их несколько:</p>
<table>
	<thead>
			<tr>
					<th>Задача</th>
					<th>Что делает</th>
					<th>Порог контекста</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>vision</code></td>
					<td>Описывает картинки, читает скриншоты</td>
					<td>нет</td>
			</tr>
			<tr>
					<td><code>title_generation</code></td>
					<td>Генерирует заголовки диалогов</td>
					<td>нет</td>
			</tr>
			<tr>
					<td><code>web_extract</code></td>
					<td>Извлекает текст из веб-страниц</td>
					<td>нет</td>
			</tr>
			<tr>
					<td><code>compression</code></td>
					<td>Сжимает историю диалога (context compaction)</td>
					<td><strong>64K жёсткий минимум</strong></td>
			</tr>
			<tr>
					<td><code>skills_hub</code>, <code>approval</code>, <code>mcp</code> и др.</td>
					<td>Служебные</td>
					<td>нет</td>
			</tr>
	</tbody>
</table>
<p>Ключевой момент: <strong>только <code>compression</code> требует большого контекста (64K)</strong>. Это жёсткое требование самого Hermes — для сжатия истории ему нужна модель, которая видит весь диалог. Локальные GGUF-модели до 64K не дотягивают (проверил: qwen3-8b упирается в 40960 токенов контекста, qwen2.5-coder-14b — в 32768; теги «64k/65k» в названиях моделей — маркетинг, реальный контекст меньше). Поэтому <strong>compression я оставил в облаке</strong>, а вот все остальные aux-задачи — кандидаты на локализацию.</p>
<h2 id="выбор-модели">Выбор модели</h2>
<p>Критерии были простые:</p>
<ol>
<li>Модель должна уметь <strong>vision</strong> (для <code>vision</code>-задачи).</li>
<li>Должна влезать в 16 GB VRAM вместе с эмбеддинг-моделью <code>bge-m3</code> и основной текст-моделью.</li>
<li>Должна быстро отвечать — aux-задачи вызываются часто, ждать минуту утомительно.</li>
<li>Желательно уметь закрыть и текстовые задачи (генерация заголовков, извлечение текста) — чтобы не гонять облако вообще.</li>
</ol>
<p>Я поставил <a href="https://ollama.com/library/qwen3-vl">qwen3-vl:8b</a> — мультимодальную модель Qwen 8B с поддержкой vision. Она весит ~6.1 GB, контекст 262K (но KV cache на полный контекст — ~309 GB, так что реально держу <code>num_ctx=8192</code>). Проверил через <code>/api/show</code> — у неё есть capability <code>vision</code>, значит Hermes её увидит как vision-модель.</p>
<p><strong>Важный нюанс про qwen3-vl:</strong> она великолепно описывает картинки (проверено E2E — отвечает «red»/«blue» на цветные картинки за 1-10 секунд), но для текстовых задач она&hellip; слишком умная. На простой вопрос «какой сегодня день недели» она генерирует 3778 токенов рассуждений и отвечает через 64 секунды! Это потому, что qwen3-модели по умолчанию включён режим reasoning/thinking. Для заголовков и извлечения текста это неприемлемо.</p>
<p>Поэтому я взял <strong>две модели</strong>:</p>
<ul>
<li><code>qwen3-vl:8b</code> — для vision (картинки);</li>
<li><code>qwen3:8b</code> — для текстовых aux (title_generation, web_extract), с принудительно отключённым thinking.</li>
</ul>
<h2 id="настройка">Настройка</h2>
<p>Hermes поддерживает per-task конфигурацию auxiliary-задач в <code>config.yaml</code>. Формат:</p>
<div class="highlight"><div style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;">
<table style="border-spacing:0;padding:0;margin:0;border:0;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;">
<pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"> 1
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"> 2
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"> 3
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"> 4
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"> 5
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"> 6
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"> 7
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"> 8
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679"> 9
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">10
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">11
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">12
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">13
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">14
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">15
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">16
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">17
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">18
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">19
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">20
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#7ee787">auxiliary</span>:<span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">  </span><span style="color:#7ee787">vision</span>:<span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">    </span><span style="color:#7ee787">provider</span>:<span style="color:#6e7681"> </span><span style="color:#a5d6ff">custom</span><span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">    </span><span style="color:#7ee787">model</span>:<span style="color:#6e7681"> </span><span style="color:#a5d6ff">qwen3-vl:8b</span><span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">    </span><span style="color:#7ee787">base_url</span>:<span style="color:#6e7681"> </span><span style="color:#a5d6ff">http://localhost:11434/v1</span><span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">    </span><span style="color:#7ee787">api_key</span>:<span style="color:#6e7681"> </span><span style="color:#a5d6ff">ollama</span><span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">  </span><span style="color:#7ee787">title_generation</span>:<span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">    </span><span style="color:#7ee787">provider</span>:<span style="color:#6e7681"> </span><span style="color:#a5d6ff">custom</span><span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">    </span><span style="color:#7ee787">model</span>:<span style="color:#6e7681"> </span><span style="color:#a5d6ff">qwen3:8b</span><span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">    </span><span style="color:#7ee787">base_url</span>:<span style="color:#6e7681"> </span><span style="color:#a5d6ff">http://localhost:11434/v1</span><span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">    </span><span style="color:#7ee787">api_key</span>:<span style="color:#6e7681"> </span><span style="color:#a5d6ff">ollama</span><span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">    </span><span style="color:#7ee787">extra_body</span>:<span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">      </span><span style="color:#7ee787">think</span>:<span style="color:#6e7681"> </span><span style="color:#79c0ff">false</span><span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">  </span><span style="color:#7ee787">web_extract</span>:<span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">    </span><span style="color:#7ee787">provider</span>:<span style="color:#6e7681"> </span><span style="color:#a5d6ff">custom</span><span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">    </span><span style="color:#7ee787">model</span>:<span style="color:#6e7681"> </span><span style="color:#a5d6ff">qwen3:8b</span><span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">    </span><span style="color:#7ee787">base_url</span>:<span style="color:#6e7681"> </span><span style="color:#a5d6ff">http://localhost:11434/v1</span><span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">    </span><span style="color:#7ee787">api_key</span>:<span style="color:#6e7681"> </span><span style="color:#a5d6ff">ollama</span><span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">    </span><span style="color:#7ee787">extra_body</span>:<span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">      </span><span style="color:#7ee787">think</span>:<span style="color:#6e7681"> </span><span style="color:#79c0ff">false</span><span style="color:#6e7681">
</span></span></span></code></pre></td></tr></table>
</div>
</div><p>Настройка через CLI:</p>
<div class="highlight"><div style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;">
<table style="border-spacing:0;padding:0;margin:0;border:0;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;">
<pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">1
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">2
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">3
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">4
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">5
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>hermes config set auxiliary.vision.provider custom
</span></span><span style="display:flex;"><span>hermes config set auxiliary.vision.model qwen3-vl:8b
</span></span><span style="display:flex;"><span>hermes config set auxiliary.vision.base_url http://localhost:11434/v1
</span></span><span style="display:flex;"><span>hermes config set auxiliary.vision.api_key ollama
</span></span><span style="display:flex;"><span><span style="color:#8b949e;font-style:italic"># и так для каждой задачи</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Пара важных граблей:</p>
<ul>
<li><strong><code>api_key</code> обязан быть непустым.</strong> В коде Hermes пустой <code>api_key</code> означает «унаследовать ключ основного провайдера» — и тогда он попытается сходить в polza.ai с локальной моделью. Я поставил заглушку <code>ollama</code> (Ollama её не проверяет).</li>
<li><strong>Ollama надо форматировать через OpenAI-совместимый эндпоинт</strong> <code>/v1/chat/completions</code> — именно так Hermes ходит в локальные модели.</li>
<li><strong>Для qwen3-vl держать <code>num_ctx</code> небольшим</strong> (я использую 8192), иначе Ollama пытается зарезервировать KV cache под весь 262K контекст — это ~309 GB, runner падает с EOF.</li>
</ul>
<h2 id="допиливание-отключения-режима-размышлений-thinking">Допиливание отключения режима размышлений (thinking)</h2>
<p>Самая интересная часть. Qwen3-модели (и qwen3, и qwen3-vl) по умолчанию генерируют <strong>скрытый поток рассуждений (thinking/reasoning)</strong> перед ответом. Для aux-задач это означает:</p>
<ul>
<li>Заголовок генерируется 64 секунды вместо 3-5.</li>
<li>При ограниченном <code>max_tokens</code> ответ вообще <strong>пустой</strong> — весь бюджет съедает thinking, до <code>content</code> дело не доходит.</li>
</ul>
<p>Я перепробовал несколько способов отключить thinking, и вот что выяснилось:</p>
<h3 id="что-не-работает-в-ollama">Что НЕ работает (в Ollama)</h3>
<table>
	<thead>
			<tr>
					<th>Способ</th>
					<th>Результат</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>/no_think</code> в начале сообщения</td>
					<td>Не работает — модель всё равно думает</td>
			</tr>
			<tr>
					<td><code>enable_thinking: false</code> в <code>extra_body</code></td>
					<td>Не работает</td>
			</tr>
			<tr>
					<td><code>thinking: {type: disabled}</code> (как в OpenAI API Qwen)</td>
					<td>Не работает — content пустой, reasoning продолжается</td>
			</tr>
			<tr>
					<td><code>system: &quot;Не думай&quot;</code></td>
					<td>Не работает</td>
			</tr>
	</tbody>
</table>
<p>Я проверил chat template модели — там есть команды <code>/think</code> и <code>/no_think</code>, но они не активируются в Ollama (флаг <code>IsThinkSet</code> не выставляется).</p>
<h3 id="что-работает">Что работает</h3>
<p><strong>Единственный рабочий способ — корневой параметр <code>think: false</code> в теле запроса:</strong></p>
<div class="highlight"><div style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;">
<table style="border-spacing:0;padding:0;margin:0;border:0;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;">
<pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">1
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">2
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">3
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">4
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">5
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>curl http://localhost:11434/api/chat -d <span style="color:#a5d6ff">&#39;{
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">  &#34;model&#34;: &#34;qwen3:8b&#34;,
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">  &#34;messages&#34;: [{&#34;role&#34;: &#34;user&#34;, &#34;content&#34;: &#34;Привет!&#34;}],
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">  &#34;think&#34;: false
</span></span></span><span style="display:flex;"><span><span style="color:#a5d6ff">}&#39;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Ответ приходит через <strong>0.7 секунды</strong> (вместо 64!), <code>reasoning=false</code>, <code>content</code> заполнен. Именно эту опцию я и прописал в <code>extra_body</code> конфига Hermes:</p>
<div class="highlight"><div style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;">
<table style="border-spacing:0;padding:0;margin:0;border:0;"><tr><td style="vertical-align:top;padding:0;margin:0;border:0;">
<pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">1
</span><span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679">2
</span></code></pre></td>
<td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%">
<pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#7ee787">extra_body</span>:<span style="color:#6e7681">
</span></span></span><span style="display:flex;"><span><span style="color:#6e7681">  </span><span style="color:#7ee787">think</span>:<span style="color:#6e7681"> </span><span style="color:#79c0ff">false</span><span style="color:#6e7681">
</span></span></span></code></pre></td></tr></table>
</div>
</div><p>В коде Hermes <code>extra_body</code> уходит в корень JSON-тела запроса — как раз туда, куда Ollama ждёт параметр <code>think</code>.</p>
<h3 id="проверка-e2e">Проверка E2E</h3>
<p>После настройки прогнал реальные вызовы через вспомогательный клиент Hermes (<code>call_llm</code>):</p>
<table>
	<thead>
			<tr>
					<th>Задача</th>
					<th>Время</th>
					<th>Результат</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>title_generation</code></td>
					<td>11.3 сек</td>
					<td>«Настройка Ollama: локальные модели»</td>
			</tr>
			<tr>
					<td><code>web_extract</code></td>
					<td>7.5 сек</td>
					<td>Извлёк главную мысль</td>
			</tr>
			<tr>
					<td><code>vision</code> (картинка 256x256)</td>
					<td>7.6 сек</td>
					<td>«blue»</td>
			</tr>
	</tbody>
</table>
<h2 id="vram-и-память">VRAM и память</h2>
<p>На RTX 5060 Ti 16 GB в памяти держатся одновременно:</p>
<ul>
<li><code>qwen3-vl:8b</code> — ~7.2 GB (vision)</li>
<li><code>qwen3:8b</code> — ~6.1 GB (текст)</li>
<li><code>bge-m3</code> — ~1.2 GB (эмбеддинги)</li>
</ul>
<p>Итого ~14.5 GB — влезает с запасом, и переключение vision↔текст происходит без выгрузки модели. Проверено через <code>/api/ps</code>: после текстового вызова в памяти остаются обе модели.</p>
<h2 id="итог">Итог</h2>
<ul>
<li><strong>Vision</strong> полностью локальный — картинки описываются на сервере, в облако не уходят.</li>
<li><strong>Текстовые aux</strong> (заголовки, извлечение текста) — локальные, быстрые, бесплатные.</li>
<li><strong>Compression</strong> остался в облаке — ему нужен контекст 64K, который локально не влезает.</li>
<li>Облачные токены тратятся только на основную модель и сжатие контекста — экономия существенная.</li>
</ul>
<p>Самое ценное знание, которым делюсь: <strong>если вы используете Qwen3 в Ollama для вспомогательных задач — не забудьте <code>think: false</code></strong>. Это превращает задумчивую модель, которая час думает над заголовком, в мгновенного исполнителя. И помните: <code>/no_think</code>, <code>enable_thinking</code> и <code>thinking: disabled</code> — в Ollama не работают, работает только корневой <code>think: false</code>.</p>
<hr>
<p><em>Полезные ссылки: <a href="https://hermes-agent.nousresearch.com">Hermes Agent</a> · <a href="https://ollama.com/library/qwen3-vl">Ollama qwen3-vl</a> · <a href="https://ollama.com/library/qwen3">Ollama qwen3</a></em></p>
]]></content:encoded></item></channel></rss>