feat: 지서버용 별도 Ollama provider(ollama_local) 추가

기존 "ollama" provider(클로서버 localhost, 주로 *:cloud 모델용)는 그대로
두고, LAN의 다른 로컬 GPU 머신(지서버 등)을 가리키는 두 번째 독립 Ollama
provider "ollama_local"을 신설. OllamaAdapter가 id를 생성자 인자로 받게
바꿔서(기존 'ollama' 하드코딩 → 'ollama'|'ollama_local' 선택 가능) 두
인스턴스를 provider 캐시/설정에서 구분함. 설정화면에 "Ollama
(클로서버/클라우드)" / "Ollama (지서버/로컬)"로 라벨 분리, 엔드포인트·모델
입력 필드 추가.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
kim
2026-08-08 19:42:31 +09:00
co-authored by Claude Sonnet 5
parent d9680fc96f
commit b8c6a769be
6 changed files with 40 additions and 8 deletions
+16 -1
View File
@@ -1044,7 +1044,8 @@
<div class="right-section-title" style="margin-bottom:8px">LLM 제공자</div>
<label style="display:block;font-size:12px;color:var(--muted);margin-bottom:6px">백엔드</label>
<select id="settings-llm-provider" class="settings-input" onchange="onProviderChange()" style="font-size:13px">
<option value="ollama">Ollama (로컬)</option>
<option value="ollama">Ollama (클로서버/클라우드)</option>
<option value="ollama_local">Ollama (지서버/로컬)</option>
<option value="llama_cpp">llama.cpp (로컬)</option>
<option value="lm_studio">LM Studio (로컬)</option>
<option value="openai">OpenAI — API 키</option>
@@ -1076,6 +1077,20 @@
</select>
</div>
<!-- Ollama (second, independently-addressed instance — e.g. a GPU box on the LAN) -->
<div id="prov-fields-ollama_local" style="display:none">
<div class="right-section-title" style="margin-bottom:8px">Ollama (지서버/로컬) 연결</div>
<label style="display:block;font-size:12px;color:var(--muted);margin-bottom:6px">엔드포인트</label>
<input id="settings-ollamalocal-endpoint" type="text" placeholder="http://192.168.0.7:11434" style="width:100%;border:1px solid var(--line);border-radius:10px;padding:8px;font-size:12px;font-family:'IBM Plex Mono',monospace" />
<label style="display:block;font-size:12px;color:var(--muted);margin:10px 0 6px">모델 이름</label>
<input id="settings-ollamalocal-model" type="text" placeholder="e.g. gemma4:26b" style="width:100%;border:1px solid var(--line);border-radius:10px;padding:8px;font-size:12px;font-family:'IBM Plex Mono',monospace" />
<div style="display:flex;gap:8px;margin-top:8px">
<button class="btn btn-sm" onclick="testProviderConnection()" style="background:#fff;border:1px solid var(--line);color:var(--text)">연결 테스트</button>
</div>
<div id="provider-status-msg-ollamalocal" style="font-size:11px;color:var(--muted);margin-top:6px"></div>
<div style="font-size:11px;color:var(--muted);margin-top:12px;line-height:1.6">클로서버 Ollama(위, 주로 클라우드 모델용)와 별개로, LAN의 다른 GPU 머신(예: 지서버)에서 도는 진짜 로컬 Ollama를 가리킵니다.</div>
</div>
<!-- llama.cpp -->
<div id="prov-fields-llama_cpp" style="display:none">
<div class="right-section-title" style="margin-bottom:8px">llama.cpp 서버</div>