회사에서 LLM 관련 프로젝트의 진행을 맡았습니다.
2023년 겨울 이후, 회사 제품팀은 LLM와 관련된 다양한 실험을 이어오며 저희 제품에 적용 가능한 AI 기능을 탐색해 왔습니다. 일반적인 챗봇 형태는 아니었지만, Open AI의 API를 활용한 보조 기능을 제품에 녹여내어 2024년 처음으로 AI 기능을 선보였습니다. 베타 딱지를 달고 출시한 기능임에도 불구하고, 많은 고객분들이 호기심을 가지고 사용하였고 많은 피드백도 받을 수 있었습니다.
그리고 2025년, 본격적으로 LLM을 제품에 적용하는 정식 프로젝트를 시작했습니다. 사용자에게 익숙한 인터페이스 모델은 역시 챗봇이었고, 이를 구현하기 위해프론트엔드와 백엔드에서 준비해야 할 것들이 적지 않았습니다. 리소스를 효율적으로 운영하기 위해 이미 공개된 챗봇 오픈 소스를 활용하는 방향을 고려했고, 이에 따라 여러 오픈 소스를 조사하였습니다.
LLM과 관련된 대표적인 오픈 소스로는 Chatbot UI, Lobe Chat, Katie-Backend, 그리고 OpenWebUI 가 있습니다. GPT와 함께 내용을 정리해 봤습니다.
항목 | OpenWebUI | Katie-Backend | Chatbot UI | Lobe Chat |
UI 기술 스택 | Svelte | Angular | Next.js | Next.js |
백엔드 스택 | Python | Java (Tomcat) | Supabase/Node.js | API 중심 |
RAG / 다중 LLM | 내장 (Ollama + OpenAI 등) | 설정 필요 | API 연동 기반 | 다수 LLM 제공자 지원 |
라이선스 | BSD-3 + 브랜딩 제한 ⚠️ | Apache 2.0 (자유) | MIT (자유) | MIT (자유) |
SaaS 적합성 | UI/브랜딩 제약 있음 ⚠️ | 가능 | 백엔드 구현 필요 | 백엔드 연동 검증 필요 |
사용자 관리/SSO | 내장 | 기본 제공 (JWT) | 직접 구현 | 확인 필요 |
커스터마이징 난이도 | Svelte 기반 제한적 | 자유 (직접 개발) | 쉬움 (shadcn/ui 등) | -(레퍼런스 찾을 수 없음)ㅇ |
추천 사용층 | 실험/온프레미스 기반 내부 도입 | Java 기반 기업형 SaaS | 빠른 UI 제작, 리액트 친화 | 다양한 모델 + 고급 UI 지향 |
Katie-Backend 외의 세 서비스는 모두 챗봇 UI를 제공하고 있고, 그중 OpenWebUI는 사용자 관리까지 지원하는 풀스택 소스로 기능 범위가 가장 넓습니다. 각 서비스가 제공하는 범위와 기술 스택이 다르기 때문에, 도입 목적에 따라 적절하게 선택하는 것이 중요합니다. 저희 팀에서는 현재 OpenWebUI 도입을 검토하고 있습니다. 브랜딩 커스터마이징은 엔터프라이즈 플랜이 필요한 제약이 있지만, 기능이 풍부하고 시작이 쉬워 내부 테스트로 적합하다고 판단했습니다.
최종 도입은 기획자가 판단해야겠죠? 그래서 저도 일단 제 컴퓨터에 OpenWebUI를 설치해 보기로 했습니다. 인터페이스와 UX 흐름, 확장성을 직접 확인해야만 어떤 부분을 커스텀하여 개발할지 감이 올 것 같았습니다. 도커를 활용하면 설치도 간단해서, 고민 없이 바로 설치를 했습니다.
그래서 OpenWebUI는 뭔가요?
OpenWebUI는 ChatGPT와 같은 대화형 AI 인터페이스를 제공하는 오픈소스 웹 어플리케이션입니다. 로컬에서 실행 가능한 LLM과 쉽게 연결할 수 있는 것이 큰 장점이고, Docker를 통해 내 컴퓨터나 서버에서 간단히 설치하여 실행할 수 있습니다. 기획자도 직접 다룰 수 있을 만큼 접근이 용이해서 내부 테스트용으로 적합합니다. 문서나 이미지를 업로드해서 질문할 수 있는 RAG 기능도 기본으로 내장되어 있어 좋습니다. 자세한 내용은 아래 링크에서 확인할 수 있습니다.
OpenWebUI는 어떻게 실행하나요?
설치 환경은 아래와 같습니다. 회사에서 사용하고 있는 맥북 프로(M2)이고, 도커와 오픈 LLM 모델인 Ollama를 우선 설치하였습니다. 혹시 몰라 도커와 Ollama 설치 과정도 남겨드립니다.
운영체제: macOS (M2)
사용 도구: Docker, Terminal
사전 준비: Docker Desktop 설치 완료, Ollama 설치 완료
1. 도커(Docker) 설치
OpenWebUI를 설치하기 위해 도커가 준비되어야 합니다. 도커는 개발 환경을 "포장"해서 어떤 환경에서든 동일하게 실행할 수 있게 도와주는 툴로 이해하면 좋겠습니다. 아래 링크에서 OS 환경에 맞는 옵션을 선택한 뒤, 설치를 진행해 주세요.
설치 링크 : https://www.docker.com/
비개발자인 입장에서 첫 도커를 설치했을 때 그 두근두근한 느낌이 있습니다. 꿈꿔왔던 제품 기획 업무를 처음 시작했을 때와 비슷합니다. 진화를 거친 느낌이랄까요?
도커 설치가 완료된 이후 다음 단계로 이동합니다.
2. 언어 모델 Ollama를 준비합니다.
OpenWebUI는 챗봇 UI와 백엔드 기능을 모두 갖춘 오픈소스이지만, 언어 모델은 내장되어 있지 않습니다. ChatGPT를 구독 중이라면 OpenAI API를 연동해 사용할 수 있지만, 기왕 로컬에서 실행하는 김에 로컬에서 직접 실행 가능한 언어 모델 Ollama를 설치해 사용하는 것이 더 효율적입니다.
*잠깐, Ollama가 무엇인가요?
Ollama는 로컬 상에서 대규모 언어 모델(LLM)을 직접 실행할 수 있도록 도와주는 오픈소스 툴 입니다. OpenAI API와 다르게 사용량에 따른 과금이 발생하지 않고, 네트워크 지연이 없어서 상당히 쾌적합니다. 설치도 간단해서 누구나 쉽게 시작할 수 있습니다.
ollama run llama3
위 코드를 터미널에 실행하면 다운로드가 바로 시작됩니다.
Docker와 Ollama 설치가 완료됐습니다. 그럼 OpenWebUI를 실행해 보겠습니다.
3. OpenWebUI를 실행합니다.
Docker가 제대로 설치되었으면 OpenWebUI의 별도 설치 과정을 거칠 필요가 없습니다. Docker를 통해 이미 패키징이 된 OpenWebUI의 이미지를 한 줄로 실행하면 웹 인터페이스가 실행됩니다.
docker run -d -p 3000:8080 \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
위 코드를 터미널에 실행하면 내 로컬 컴퓨터의 3000번 포트와 OpenWebUI의 8000번 포트가 연결된다는... 뭐 OpenWebUI가 Docker 환경에서 자동으로 실행된다는 의미입니다.
다운로드가 완료되었다면 자주 사용하는 브라우저를 실행해 주세요. 이후 http://localhost:3000 를 주소창에 입력합니다. 지금까지의 과정에 문제가 없다면 아래 화면으로 랜딩이 됩니다.
첫 화면에 랜딩된 이후 프로필 정보까지 입력을 하면 익숙한 아래 화면으로 도착하게 됩니다. 설치 완료!
앞서 소개한 OpenWebUI는 오픈 소스로 제공되며, Docker 기반으로 손쉽게 로컬에 설치가 가능합니다. 서비스를 운영하고 있다면 자체 서버에 구축하여 사용자에게 직접 제공하는 것도 가능합니다. UI 커스터마이징은 자유로우나 브랜딩 수정의 경우 제한이 있으니 꼭 확인하면 좋겠습니다.
며칠간 OpenWebUI를 직접 분석하며, 우리 서비스에서 어떤 기능은 활용하고, 어떤 부분은 별도로 개발해야 할지 검토하고 있습니다. 다음 포스트에서 OpenWebUI의 특징과 확장성에 대해 자세히 공유드리겠습니다.
✍️ 글쓴이 : Joshyun
🤝 실무와 배움 사이, 즐겁게 실험하는 PM의 기록. 요즘은 AI에 흥미를 가지고 있습니다.
🧠 LinkedIn: https://www.linkedin.com/in/재국-현-aa46b5218