이번 하계 인턴을 시작하며 박사님께서 Open WebUI를 한 번 써보는 것을 추천해 주셨다.
처음에는 ChatGPT만 사용하던 나는 Open WebUI와 Ollama의 존재를 잘 몰라, ChatGPT와 어떤 차이점이 있는지 찾아보게 되었고, 여러 장점들이 존재하다는 점을 확인하게 되었다.
ChatGPT는 입력값이 모두 OpenAI 서버로 전송되기 때문에 민감한 정보를 다루기에 다소 부담스럽다.
반면 Ollama는 로컬에서 LLM이 실행되기 때문에, 내부 문서나 연구 데이터처럼 보안이 중요한 작업에 더 적합하다는 장점이 있다!
또한 ChatGPT-4는 사용하시는 분들은 아시다시피 돈을 내고 사용한다 (나도 3만원 정도 매달 쓰는 중이다 😢)
하지만! Ollama + 오픈소스 모델(LLaMA3, Mistral 등)은 무료이며, GPU가 있다면 inference 속도도 빠르고 효율적이라고 한다!
ChatGPT는 OpenAI가 제공하는 모델(GPT 계열)만 사용할 수 있지만,
Ollama는 다양한 LLM 모델 실행 가능(코딩용, 요약용, 한글 특화 등 목적에 따라)하다!
또한 WebUI 설정 변경이 가능하여 기본 프롬프트, 톤, 시스템 메시지 등 수정 가능하다는 장점이 있다.
심지어 Docker 환경에서 쉽게 배포 가능하여 팀 내 공동 사용도 가능하다.
ChatGPT는 인터넷 필수지만, Ollama + Open WebUI는 로컬에 설치만 해두면 오프라인에서 실행 가능 → 연구 현장, 폐쇄망 등에서도 유리하다! 그래서 사내에서나 내부망에서 많이 사용하는 것 같다.
Prompt 실험, 성능 비교, 논문 재현 등에 사용 가능하고,
Embedding 추출, 텍스트 생성, 문서 QA 등도 쉽게 연동 가능하다.
또한 LangChain, LlamaIndex와 같은 LLM 파이프라인 도구들과도 쉽게 연동할 수 있어, 프롬프트 실험이나 QA 시스템 구현에도 유리하다!!
암튼 이런 장점들이 존재한다.
그러면 실제로 어떻게 설치하는지 살펴보자!
(이 게시물은 MAC을 기준으로 한다.)
https://ollama.com/download/mac
위의 사이트를 들어간뒤 다운을 받아준다!
그러면 설치 후
ollama run llama3.2
을 cmd에 입력하라고 나온다
실제로 실행하고 나면 잘 설치가 되고 다음과 같은 프롬프트 형식이 뜨는 모습을 볼 수 있다.
이제 이 프롬프트창을 OpenWebUI를 통해 가시적으로 볼 수 있게 해보자!
일단 docker를 실행해주고, 위의 사이트를 들어간 뒤
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
명령어를 실행해준다.
그러면 다음과 같이 다운이 되면서 도커 이미지가 로컬에 다운로드 되고 컨테이너가 실행된다.
그리고 localhost:3000에 들어가보자.
처음 들어가면 /auth로 들어가지는데 본인 아이디와 비밀번호를 입력해주면 된다.
다음과 같이 나오면 성공이다!
이처럼 오늘 ollama + openWebUI를 왜 사용하는지 어떻게 해야 하는지 살펴보았다. 내부망에서 안전하게 그리고 가격 부담없이 돌릴 때 최적인 것 같다.
심지어 openWebUI에서는 여러 오픈 API도 지원하고 ChatGPT API도 가져와서 사용가능하듯이, 다방면으로 활용 가능한 것 같다.
다음에는 ChatGPT API를 OpenWebUI에 연동하는 방법도 다뤄보겠다!