OpenWebUI와 llama.cpp로 자체 로컬 AI 채팅 실행 - Windows

발행: (2026년 3월 1일 오전 05:16 GMT+9)
8 분 소요
원문: Dev.to

Source: Dev.to

아래에 제공된 텍스트를 한국어로 번역해 주세요. (코드 블록, URL, 그리고 기술 용어는 그대로 두고, 마크다운 형식과 원본 레이아웃을 유지해 주세요.)

※ 번역이 필요한 실제 본문을 제공해 주시면 바로 작업을 진행하겠습니다.

TL;DR

OpenWebUI를 UI로, llama.cpp를 추론 서버로 사용하고 Hugging Face의 GGUF 모델을 이용한 로컬 ChatGPT‑유사 스택입니다. 모든 통신은 OpenAI 호환 API를 통해 이루어지므로 API 비용이 발생하지 않으며 데이터가 머신을 떠나지 않습니다.

  • 프라이버시: 프롬프트와 응답이 머신에 머무릅니다.
  • API 비용 없음: 사용량 기반 요금이나 할당량이 없습니다.
  • 제어: 모델, 양자화, 컨텍스트 크기를 선택할 수 있습니다.
  • 오픈 소스: OpenWebUI와 llama.cpp는 무료이며 감시 가능합니다.

System requirements

ComponentMinimumRecommended
OSWindows 11
RAM16 GB32 GB (대형 모델에 도움이 됩니다)
GPUoptional (recommended for speed)8 GB VRAM or more
DiskEnough for multi‑GB model files (4–8 GB per model)

Q4 양자화된 7 B 모델은 많은 머신에서 실행됩니다; 대형 모델은 더 많은 메모리가 필요합니다.

스택의 세 구성 요소

  1. OpenWebUI – 브라우저 UI (채팅, 히스토리, 모델 선택).
  2. llama.cpp server – OpenAI와 호환되는 HTTP API를 사용한 로컬 추론.
  3. GGUF 모델 – 한 번 다운로드하고 디스크에 보관하는 가중치.

OpenWebUI는 HTTP를 통해 llama‑server와 통신합니다. 클라우드는 전혀 사용되지 않습니다.

Source:

Install llama.cpp (pre‑built binaries)

  1. PowerShell을 열고 nvidia-smi를 실행하여 CUDA 버전(예: 12.x)을 확인합니다.

  2. llama.cpp releases 페이지로 이동하여 자신의 CUDA 버전에 맞는 빌드를 다운로드합니다.

  3. Assets에서 CUDA runtime DLL bundle을 다운로드합니다(예: cudart-llama-bin-win-cuda-12).

  4. 메인 아카이브를 안정적인 폴더에 압축 해제합니다. 예:

    C:\Program Files\llama.cpp\
  5. 해당 폴더를 시스템 PATH에 추가합니다
    (Windows Search → Environment VariablesPathEditNew).

  6. CUDA 런타임 번들을 압축 해제하고 모든 .dll 파일을 llama-server.exe와 같은 폴더에 복사합니다.

  7. 새 터미널을 열어(업데이트된 PATH가 로드되도록) 설치를 확인합니다:

    llama-server --help

    도움말 출력이 보이면 설치가 성공한 것입니다.

OpenWebUI 설치 (Python 가상 환경)

venv 사용

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install open-webui

대안: Conda

conda create -n local_chat python=3.11 -y
conda activate local_chat
pip install open-webui

UI 시작:

open-webui serve

브라우저에서 http://localhost:8080(또는 터미널에 표시된 포트)로 이동합니다. UI가 표시되며, 모델 연결은 다음 단계에서 설정됩니다.

GGUF 모델 다운로드

이 가이드에서는 Qwen2.5‑Coder‑7B‑Instruct‑GGUF (Q4_K_M 양자화)를 사용합니다. Hugging Face 저장소에서 여러 양자화(Q2–Q8)를 찾을 수 있으며, Q4는 크기와 품질의 균형이 좋습니다.

  1. Qwen2.5-Coder-7B-Instruct-Q4_K_M.gguf 파일을 다운로드합니다.

  2. 영구 폴더에 저장합니다, 예시:

    C:\Users\<your_username>\.llm_models\

    <your_username>을 Windows 사용자 이름으로 교체하세요.

Run the llama.cpp server

OpenWebUI(8080 사용)와 충돌하지 않는 포트를 선택하세요. 여기서는 10000 포트를 사용합니다:

llama-server -m "C:\Users\<your_username>\.llm_models\Qwen2.5-Coder-7B-Instruct-Q4_K_M.gguf" --port 10000

이 터미널을 열어 두세요. 이제 서버는 다음 주소에서 OpenAI 호환 API를 제공합니다:

http://localhost:10000

OpenWebUI를 llama.cpp 서버에 연결하기

  1. 브라우저에서 OpenWebUI(http://localhost:8080)를 엽니다.

  2. Settings → Connections(또는 버전에 따라 Admin → Connections) 로 이동합니다.

  3. 새로운 OpenAI‑compatible 연결을 추가합니다:

    • Base URL: http://localhost:10000/v1
    • API key: 비워 두거나 필요하면 local 과 같은 플레이스홀더를 사용합니다.
  4. 연결을 저장하고, 해당 연결을 활성 모델로 선택한 뒤 테스트 메시지를 보냅니다. 모델이 응답하면 설정이 정상적으로 작동하는 것입니다.

문제 해결

문제제안된 해결책
OpenWebUI가 로드되지만 모델이 표시되지 않음llama-server가 실행 중인지, http://localhost:10000이 응답하는지 확인하세요 (브라우저나 curl로 시도해 보세요).
연결 실패http://localhost:10000 대신 http://127.0.0.1:10000을 사용하세요. Windows 방화벽 설정을 확인하세요.
성능이 느림더 작은 모델이나 낮은 정밀도의 양자화(예: Q4)를 시도해 보세요. 컨텍스트 길이를 늘렸다면 줄이세요. NVIDIA GPU를 사용하는 경우 CUDA 빌드를 사용하고 런타임 DLL이 실행 파일과 같은 폴더에 있는지 확인하세요.

얻는 것

  • 완전 로컬 채팅 스택: UI는 OpenWebUI, 추론은 llama.cpp, 그리고 Hugging Face에서 제공하는 GGUF 모델.
  • 외부 API 호출 없음, 유료 구독도 필요 없음.
  • 유일한 제한은 RAM/VRAM 및 디스크 공간이며(모델은 보통 몇 GB씩 차지합니다).

다음 단계

  • 다양한 모델(일반‑목적 vs. 코더)을 실험해 보세요.
  • 속도와 품질의 균형을 맞추기 위해 다른 양자화(Q2, Q5, Q8)를 시도해 보세요.
  • 작업량에 맞게 컨텍스트 길이를 조정하세요.

유용한 링크

0 조회
Back to Blog

관련 글

더 보기 »

일이 정신 건강 위험이 될 때

markdown !Ravi Mishrahttps://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fu...