Open-WebUI: 독립형 AI 서비스를 손쉽게

GPT, Claude, Gemini… 쟁쟁한 AI 서비스들의 춘추전국 시대인지라 눈높이를 조금만 낮추면 큰 비용 들이지 않고 AI 서비스를 사용할 수 있는 시대입니다. 하지만 이 와중에도 뭔가 프라이빗 한, 내가 직접 설치하고 분해조립하면서 즐길 수 있는 서비스를 찾는 이들이 있습니다.

그런 이들이라면 오픈소스(라고 주장하는) 메타의 llama3.1 버전 그리고 이를 사용할 수 있도록 해주는 ollama 를 이용해서 이미 많은 시도들을 해봤을겁니다.

하지만 ollama 만 설치해서는 당장 내 PC 에 뭐가 바뀌었는지 알 수가 없는데다, 뭔가 GPT 챗 같은 UI 를 기대한 것과 달리 20세기스러운 Terminal 창을 쓸수밖에 없죠.

그래서 손쉽게 GPT 챗스러운 UI 를 만들어주는 다양한 UI framework 들이 등장했습니다.

Open-WebUI 도 이런 UI framework 중 하나입니다. 손쉽운 설치 단계를 거치면, 바로 GPT 같은 AI 챗 서비스를 굴릴 수 있습니다. Ollama 와 함께 사용하면 private 한 AI 서비스를 구축해서 재밌게 가지고 노실 수 있을겁니다.

설치 방법


먼저 ollama 를 설치합니다. 물론 ollama 없이 주요한 AI 서비스들을 API 로 연결해서 사용할 수도 있습니다만, 여기서는 ollama 를 연동해서 오직 내 PC 만으로 돌리는 방법을 해볼겁니다.

ollama 의 설치와 테스트는 아래 링크를 참고하세요.


Ollama 와 llama 를 설치했다면 이제 Open-WebUI 를 설치하면 됩니다. Open-WebUI 는 python – pip 를 이용해서 아래 명령어를 실행하면 설치됩니다.

  • pip install open-webui

하지만 open-webui 가 python 3.11 버전 이상에서만 동작하는 호환성 이슈가 있기 때문에 이를 맞춰주기 위해서 pipenv (파이썬 가상환경), conda (conda 가상환경) 또는 docker 를 이용합니다.

아래 설치 방법에서 [2~4] 중 하나를 선택해서 설치하면 됩니다.

1. 파이썬 3.11 추가 설치 (3.11 미만이 설치된 경우)

Windows

  • 기존 Python은 그대로 두고 Python 3.11 추가 설치 가능

MAC

# Python 3.11 추가 설치
brew install python@3.11

# 기존 Python은 그대로 유지됨
# Python 3.11 경로 확인
brew info python@3.11

# 필요시 PATH 설정 (우선순위에 따라 선택)
echo 'export PATH="/usr/local/opt/python@3.11/bin:$PATH"' >> ~/.zshrc
# 또는
echo 'export PATH="$PATH:/usr/local/opt/python@3.11/bin"' >> ~/.zshrc

Linux (Ubuntu/Debian)

# Python 3.11 저장소 추가
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update

# Python 3.11 설치 (기존 버전 유지)
sudo apt install python3.11 python3.11-venv python3.11-distutils

# 버전별 실행
python3.8 --version   # Python 3.8 실행
python3.11 --version  # Python 3.11 실행

2-1. 파이썬 가상환경 (Windows)
# 윈도우 powershell 대신 command 창에서 실행하세요
# 가상환경 생성 (파이썬 3.11 설치경로 확인)
python -m venv venv-openwebui --python="C:\Python311\python.exe"

# 가상환경 활성화
venv-openwebui\Scripts\activate

# pip 업그레이드 (선택사항이지만 권장)
pip install --upgrade pip

# open-webui 설치
pip install open-webui

2-2. 파이썬 가상환경 (Linux/Mac)
# 가상환경 생성
python3.11 -m venv venv-openwebui

# 가상환경 활성화
source venv-openwebui/bin/activate

# pip 업그레이드 (선택사항이지만 권장)
pip install --upgrade pip

# open-webui 설치
pip install open-webui

3. conda 를 이용한 설치
conda create --name open-webui python=3.11
conda activate open-webui

pip install open-webui

4. Docker 를 이용한 설치

Docker 를 이용한 설치 방법은 아래 링크의 내용을 참고하세요.



설치와 관련된 보다 자세한 내용은 아래 링크를 참고하세요.


서비스 실행 및 테스트

설치가 완료되면 Open-WebUI 를 실행합니다. 그러면 서버가 실행되고, 8080 포트로 서비스가 제공됩니다.

# Open-WebUI 서버 실행

open-webui serve

이제 브라우저를 열어 아래 주소로 접속하면 Open-WebUI 의 화면이 보일겁니다.

  • http://localhost:8080/

Admin 계정을 생성하는 과정만 완료하면 바로 서비스를 실행해볼 수 있습니다.

설정을 이것저것 바꿔가며 테스트 해보세요. PC, 그래픽카드의 성능만 받쳐준다면 llama3.1 – 8B 모델로 빠른 응답을 얻으실 수 있을겁니다.

설정


몇 가지 설정들을 추가해주면 OpenWebUI 의 성능을 더욱 향상시킬 수 있습니다.

Open-WebUI 에서 ollama 모델 설치하기
  • 아래 링크에 방문하면 다양한 오픈소스 모델들을 열람할 수 있습니다.
    • https://ollama.com/library
  • 모델을 선택해보면 ollama 를 이용해서 다운로드 할 수 있는 명령어를 제공합니다. 예를들어 코드 특화 모델인 qwen2.5 의 경우 아래 명령어로 다운로드 할 수 있습니다.
    • ollama run qwen2.5-coder:7b
  • Open-WebUI 상단의 현재 모델명을 클릭합니다. 그리고 출력되는 팝업창의 검색란에 명령어를 입력하세요. 그럼 Open-WebUI 에서 바로 명령어를 실행해서 모델을 다운로드 합니다.


GPU 메모리보다 큰 모델 설치하기

반드시 LLM 모델의 크기가 GPU 메모리보다 작아야 하는 건 아닙니다. Ollama 는 GPU Offload mode 에서 동작할 수 있기 때문에 GPU 와 CPU 사이의 연산이 진행되는 동안 disk/RAM 을 동시에 활용해서 캐싱을 하도록 neural network layer 를 분할합니다.

또한 (좌측 하단의 사용자 이름 클릭 후) [Settings — Admin Settings — Models] 메뉴에서 모델을 업데이트, 삭제할 수 있습니다. Open-WebUI 는 ollama 관리 툴 역할도 합니다.

웹 검색 결과를 참고하기

[Settings — Admin Settings — Web Search] 메뉴에서 웝 검색 제공자를 지정할 수 있습니다. duckduckgo 를 선택한는 경우 회원가입 없이 무료로 사용이 가능합니다. 지정 후 save 버튼을 누르세요.

이제 채팅창 좌측의 [+] 버튼을 누르고 웹 검색을 활성화하면 됩니다. (웹 검색을 사용하면 응답이 상당히 느려질 수 있습니다)

문서와 웹사이트 검색 능력 향상

문서, 웹사이트 검색, RAG (Retrieval Augmented Generation) 성능 향상을 위해 아래 방법을 사용할 수 있습니다.

  • ollama 사이트에서 제공하는 paraphrase-multilingual 임베딩 모델을 다운로드 후 설치
  • 설치 후 [Settings — Admin Settings — Documents] 메뉴에서
  • Embedding Model Engine 항목을 Ollama 로 변경
  • Embedding Models 입력란에 paraphrase-multilingual:latest 입력
  • 저장



참고자료

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.