Windows/Win11

내 노트북에 LLM 구축 하기 Ollama + Open WebUI + Tavily (일반 검색) + SearXNG (민감 검색)

카르마요기 2026. 5. 7. 23:11

◆  머리말

 ■ 개요

  • Gemma 3 - 12b
  • ollama : 0.23.1
  • Tavily(일반검색,free요금,월1천회한도)
  • SearXNG(민감검색)

 


◆  사전작업

 

 

① 시스템 사전 확인

  • 디스크 여유 공간 확인 필수
    • Gemma 3 12B Q4 모델 파일 약 8GB + Ollama 설치 + Open WebUI Docker 이미지 약 2GB. 최소 15GB 이상 여유 권장 (SSD 선호).
Win + E → 드라이브 속성에서 여유공간 확인

 

  •  RAM 실제 사용량 확인 필수
    • VM 32GB 할당 시 호스트 가용 RAM ≈ 27GB. 현재 실제 사용량 체크. 크롬·보안 솔루션 에이전트 등 상주 프로세스가 많으면 여유가 줄어들 수 있음.
작업 관리자 (Ctrl+Shift+Esc) → 성능 → 메모리
  • Windows 버전 확인 필수
    • Ollama는 Windows 10 이상 지원. Open WebUI Docker는 Windows 10 21H2 이상 필요. Windows 11 Pro면 문제없음.
winver 실행 → 버전 확인
  •  백신 / EDR 예외 설정 확인 중요
    • Ollama 실행 파일과 모델 다운로드 경로가 백신에 의해 차단될 수 있음. 설치 전 보안 솔루션 정책에서 예외 추가 가능 여부 확인. 특히 기업 EDR 환경에서 문제 발생 빈도 높음.
Ollama 설치 경로 예외
모델 저장 경로 예외
  •  Netskope 클라이언트 정책 확인 중요
    • Netskope CASB/SWG 클라이언트가 설치되어 있으면 로컬호스트(127.0.0.1) 간 통신도 인터셉트할 수 있음. Ollama(11434포트) ↔ Open WebUI(3000포트) 통신이 차단될 가능성 확인 필요.
localhost 트래픽 예외 정책
포트 11434, 3000
 

 

② Docker 환경 확인 (Open WebUI용)

docker --version

 

  •  Hyper-V / WSL2 충돌 가능성 확인
    • 이미 Hyper-V VM을 32GB로 운용 중. Docker Desktop도 Hyper-V 또는 WSL2 백엔드를 사용. 동시에 실행 시 메모리 경합 발생 가능. VM을 일시 중지하거나 Docker를 WSL2 모드로 설정 권장.
VM 실행 중 Docker 메모리 경합 주의
  • Docker 메모리 제한 설정 권장
    • Docker Desktop 기본 설정은 시스템 RAM의 50%까지 사용 가능. VM과 경합하지 않도록 Docker 메모리를 4~6GB로 제한 설정 권장. Open WebUI 자체는 가볍기 때문에 충분.
Docker Desktop → Settings → Resources → Memory: 4GB

 

 

③ 네트워크 / 방화벽 확인

  • 모델 다운로드 가능 여부 필수
    • Gemma 3 12B 모델 파일(약 8GB)을 Ollama가 자동 다운로드. 사내 프록시가 ollama.com, huggingface.co 도메인을 차단하는지 확인
# 각 주소를 그대로 주소창에 입력해서 열립니다.

https://ollama.com
https://huggingface.co
https://registry.ollama.ai

# DNS 해석 되는지 확인

nslookup ollama.com
nslookup huggingface.co

 

  • Windows 방화벽 포트 허용 필수
    • Ollama API 포트 11434, Open WebUI 포트 3000이 로컬호스트에서 열려야 함. 외부 노출 불필요 — 로컬(127.0.0.1)에서만 접근하도록 설정.
netstat -an | findstr "11434 3000" ← 설치 후 확인용

 

  •  사내 보안 정책 검토 중요
    • 개인 노트북인지 회사 지급 장비인지에 따라 로컬 AI 툴 설치 가능 여부가 달라질 수 있음. 특히 보안 담당자이므로 자체 설치 전 정책 확인 권장.
회사 지급 장비라면 IT/보안팀 확인

 

 

④ Intel iGPU 가속 사전 준비 (선택)

  • Intel Arc 드라이버 버전 확인
    • iGPU 가속을 원한다면 Intel Arc 드라이버가 최신 버전이어야 함. 구형 드라이버에서는 Ollama가 GPU를 인식 못할 수 있음.
장치 관리자 → 디스플레이 어댑터 → Intel Arc → 드라이버 버전 확인

# Intel ARC 드라이버 다운로드
https://www.intel.com/content/www/us/en/download/785597/intel-arc-graphics-windows.html
  •  전원 관리 설정 확인
    • 노트북 절전 모드에서 LLM 추론 중 성능이 급격히 저하될 수 있음. 추론 시에는 고성능 전원 계획으로 전환 권장.
전원 및 절전 설정 → 고성능 또는 균형으로 설정

 

 


◆  본작업

 ■ step01. Ollama 설치

1. PowerShell 관리자 권한으로 실행 
시작 메뉴 → PowerShell 우클릭 → 관리자 권한으로 실행

 

2. winget으로 설치
 
winget install Ollama.Ollama
 
✅ "Successfully installed" 메시지 → 완료
⚠️ winget 오류 시 → https://ollama.com/download 에서 직접 다운로드
 
 
 
3. 설치 확인
 
ollama --version
 
✅ "ollama version 0.x.x" 출력 → 정상
 

 

4. Ollama 서비스 시작 확인
 
설치 후 시스템 트레이에 Ollama 아이콘이 나타납니다. 없으면 시작 메뉴에서 Ollama 실행.
 
# API 서버 응답 확인
curl http://localhost:11434
 
✅ "Ollama is running" → API 서버 정상

 

 

 

■ step02. Gemma 3 12B 모델 다운로드

 

1. 모델 다운로드 및 첫 실행
 
ollama run gemma3:12b
 
다운로드 중 진행률이 표시됩니다. 완료 후 자동으로 대화 모드 진입.

 

2. CLI에서 간단히 동작 확인
 
# 대화 프롬프트에서 입력
>>> 안녕하세요. 한국어로 대답할 수 있나요?
 
✅ 한국어 응답 → 정상 동작 확인# 대화 종료 >>> /bye

 

 

3. GPU 가속 여부 확인 (선택)
 
# 새 PowerShell 창에서 실행 (모델 실행 중 상태에서)
ollama ps
 
✅ PROCESSOR 항목에 "GPU" 표시 → iGPU 가속 활성화
 
⚠️ "CPU" 표시 → CPU 전용 추론 (정상 동작은 함)

 

 

■ step03. Open WebUI 설치 (Docker)

 

1. Docker Desktop 실행 확인
 
docker info
 
✅ 서버 정보 출력 → Docker 정상 실행 중
 
❌ 오류 → Docker Desktop 앱 먼저 실행
2. Open WebUI 컨테이너 실행
 
docker run -d ` -p 3000:8080 ` --add-host=host.docker.internal:host-gateway ` -v open-webui:/app/backend/data ` --name open-webui ` --restart always ` ghcr.io/open-webui/open-webui:main
 
• -p 3000:8080 → 브라우저에서 localhost:3000 접속
• -v open-webui → 대화 기록 영구 저장
• --restart always → Windows 재시작 후 자동 실행
• 첫 실행 시 이미지 다운로드로 2~3분 소요

 

3. 컨테이너 실행 확인
 
docker ps
 
✅ open-webui 컨테이너 STATUS: Up → 정상

 

■ step04. 첫 실행 및 설정

 

1. 브라우저 접속
 
http://localhost:3000

 

최초 접속 시 관리자 계정 생성 화면이 나타납니다.
2. 관리자 계정 생성
 
이름, 이메일, 비밀번호 입력. 로컬 전용이라 실제 이메일 불필요. 이후 로그인에 사용.
 
⚠️ 첫 번째 가입 계정이 자동으로 관리자(Admin) 권한 부여됨
 
 
3. Gemma 3 모델 연결 확인
 
로그인 후 화면 상단 모델 선택 드롭다운 → gemma3:12b 선택.
 
✅ 모델 목록에 gemma3:12b 표시 → Ollama 연동 정상
 
❌ 모델 목록 비어 있음 → 아래 트러블슈팅 참고
 
4. 이미지 업로드 테스트 (Vision 확인)
 
채팅창 하단 📎 아이콘 → 이미지 파일 첨부 → 질문 입력.
 
이 이미지에서 보이는 내용을 설명해줘
 
✅ 이미지 내용 설명 → Vision 정상 동작

 

모델 목록이 비어있는 경우인데, 이때는 Open WebUI Settings에서 Ollama URL을 http://host.docker.internal:11434 로 바꿔서 해결

 

 

 

 ■ step05. 부팅 시, 자동 시작 설정

 

① Docker Desktop 자동 시작 설정 — 확인 및 켜기

1. Docker Desktop 설정 열기
 
시스템 트레이 Docker 아이콘 우클릭 → Settings (또는 Dashboard → ⚙️)
2. General 탭 확인
 
아래 두 항목이 체크되어 있는지 확인.
 
 Start Docker Desktop when you sign in to your computer
 Open Docker Dashboard at startup (선택사항)
 
✅ 두 항목 체크 → 재시작 후 Docker 자동 실행, Open WebUI 자동 시작

 

 

재시작 후 정상 동작 확인 순서

1. Ollama 서비스 확인
 
curl http://localhost:11434
 
✅ "Ollama is running" → 정상
2. Open WebUI 컨테이너 확인
 
docker ps
 
✅ open-webui STATUS: Up → 정상
3. 브라우저 접속
 
http://localhost:3000
 
✅ 로그인 화면 → 모든 컴포넌트 정상

 

 

step06. 로컬 모델인 Gemma 3에 외부 연결(인터넷 검색 능력) 추가 (Tavily (일반 검색) + SearXNG (민감 검색))

 

① Tavily 가입 및 API 키 발급

1. Tavily 가입

 

https://tavily.com → Sign Up → 이메일 인증

 

2. API 키 복사
 
로그인 후 대시보드 → API Keys → 키 복사 (tvly-xxxx 형식)
 
✅ 키 복사 완료 → 다음 단계에서 사용

 

 

② SearXNG 로컬 설치

 

1. SearXNG 컨테이너 실행
 
docker run -d ` --name searxng ` -p 8080:8080 ` --restart always ` searxng/searxng
 

 

2. 동작 확인
 
http://localhost:8080
 
✅ 검색 화면 뜨면 정상
 

 

3. JSON 응답 활성화 (Open WebUI 연동 필수)
 
SearXNG 설정 파일에 JSON 형식 추가가 필요합니다.
 
# 설정 파일 컨테이너에서 꺼내기
docker cp searxng:/etc/searxng/settings.yml ./settings.yml
# settings.yml 파일을 메모장으로 열어서 수정
notepad settings.yml
 
파일 내 search: 섹션을 찾아서 아래처럼 수정:
 
search:
    formats:
        - html
        - json       ← 이 줄 추가
# 수정한 파일을 다시 컨테이너에 넣기
docker cp ./settings.yml searxng:/etc/searxng/settings.yml

 

# 컨테이너 재시작
docker restart searxng
 
✅ http://localhost:8080/search?q=test&format=json 접속 시 JSON 응답 → 완료

 

# SearXNG JSON 응답 활성화가 안되는 경우, settings.yml에 - json 한 줄 추가가 잘 되었는지 확인 필요

 

docker exec searxng cat /etc/searxng/settings.yml 

  ->  docker cp searxng:/etc/searxng/settings.yml ./settings.yml

    -> notepad ./settings.yml 수정

      ->   docker cp ./settings.yml searxng:/etc/searxng/settings.yml

또는

docker exec -it searxng sh    ->  cd /etc/searxng/    ->  vi settings.yml   (컨테이너에서 직접 수정)

 

 

docker restart searxng

 

 

 

③ Open WebUI 웹 검색 설정

1. Open WebUI 접속
 
http://localhost:3000
2. 웹 검색 설정 메뉴 이동
 
우측 상단 프로필 아이콘 → Admin Panel → Settings → Web Search
3. Tavily 설정 입력
 
Enable Web Search  ON
Web Search Engine  tavily 선택
Tavily API Key → 복사한 키 붙여넣기
Save 클릭
 
✅ Tavily 기본 엔진으로 저장 완료

 

4. SearXNG 추가 등록
 
같은 설정 화면에서 엔진을 SearXNG로 변경 후 저장해두면 언제든 전환 가능.
 
Web Search Engine  searxng 선택
SearXNG Query URL  http://host.docker.internal:8080/search?q=&format=json
Save 클릭
 
⚠️ Open WebUI는 한 번에 하나의 엔진만 활성화. 필요 시 설정에서 전환.

 

④ 실제 사용 — 검색 활성화 및 전환

1. 채팅창에서 웹 검색 켜기
 
채팅 입력창 하단 🌐 아이콘 클릭 → 파란색으로 활성화 → 질문 입력.
 
🌐 아이콘이 없으면 입력창 왼쪽 + 버튼 클릭 → Web Search 토글 ON

 

※ 상황별 사용

 

🌐 Tavily 사용 (기본)
• 오늘 날씨
• 최신 보안 뉴스
• CVE 취약점 정보
• 제품 릴리즈 노트
• 일반 기술 문서

🔒 SearXNG 전환
• 고객사 도메인 조회
• 내부 IP 관련 검색
• 탐지된 악성 URL
• 민감 키워드 포함
• 외부 유출 불가 정보

 

※ 엔진 전환 방법

Admin Panel → Settings → Web Search → Engine 변경 → Save. 30초면 전환 완료.
Tavily → SearXNG 전환 경로: localhost:3000 → 우측상단 아이콘 → Admin Panel → Settings → Web Search → searxng 선택 → Save

 

반응형