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 추가 설치 가능
- https://www.python.org/downloads/release/python-3116/ 접속
- “Windows installer (64-bit)” 다운로드 및 실행
- “Add python.exe to PATH” 옵션은 체크하지 않는 것을 권장 (기존 Python과 충돌 방지)
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 입력
- 저장