Open-WebUI 설치 및 사용법 - Ollama(올라마) with Docker
시작하기 앞서...
Docker를 사용해서, 인터넷 없이도 1인 또는 그룹에서 사용할 수 있는 챗봇을 만들어보려고 합니다.
- 챗봇 툴: 오픈 소스인 Open-WebUI
- 모델 관리 및 실행 플랫폼 : Ollama(올라마)
- 사용 모델 : Meta-Llama3.2-3B 모델
- 추가사항 : OpenAI - API, GPT 모델 사용하기
설치하고 실행만 하면 되어서 매우 간단하게 시작할 수 있습니다.
차근차근 따라 하면 보안 걱정이나, 인터넷 없이도 사용할 수 있는 챗봇을 만들 수 있습니다.
Docker 설치하기
그리고 홈페이지에 회원 가입해 주시면 됩니다.
OS에 맞게 설치해 주시면 됩니다.
Docker에서 Ollama(올라마) 컨테이너 생성하기
Docker 환경에서 Ollama를 실행하기 위해 컨테이너를 생성합니다.
Open-WebUI 공식 문서를 참고해 설치를 진행하겠습니다.
여기서 먼저 open WebUI를 설치해 줍니다.
호환성 이슈로 인해 파이썬 버전 3.11 이상을 사용해주셔야 합니다.
맥 또는 리눅스 사용하시는분은 터미널에서 설치하시면 됩니다.
윈도우를 사용하시는분은 파워쉘 또는 아나콘다 프롬프트에서 설치하시면 됩니다.
터미널 명령어
pip install open-webui
그리고 docker에서 설치방법이 총 3가지가 있는데 다음과 같습니다.
- 로컬에서 실행: Ollama가 같은 컴퓨터에 있을 때 기본 명령어를 사용하여 Docker와 직접 연결
- 다른 서버에서 실행: Ollama가 다른 서버에 있을 경우 환경 변수를 통해 원격 서버와 연결
- Nvidia GPU 지원: NVIDIA GPU가 있는 환경에서 GPU를 사용하여 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
Docker에 나오는 컨테이너 이름을 바꾸려면 --name 옵션을 수정하면 됩니다. 예를 들어: --name My_GPT로 변경하면 됩니다."
저는 My_GPT로 바꾸겠습니다.
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name My_GPT --restart always ghcr.io/open-webui/open-webui:main
설치한 Docker를 열어주어, Contianers에 들어가면 방금 만든 My_GPT를 보실 수 있습니다.
Docker 실행하기 및 단축키
Docker 컨테이너를 실행하거나 중지하는 방법은 두 가지가 있습니다.
Docker 앱에서 실행 및 중지
좌측에 "Containers"를 클릭하시면 만든 컨테이너를 볼 수 있습니다.
이후에 좌측 끝에 보시면 Actions라고 적혀있는 걸 볼 수 있는데 실행하고 중지할 수 있습니다.
맨 오른쪽에 있는 휴지통 모양은 만든 컨테이너를 삭제하는 기능입니다.
터미널에서 Docker 앱 실행 및 중지
실행 및 중지를 터미널에 명령어에 입력하면 다음과 같은 화면이 나옵니다.
이후 Docker Desktop을 열면, 해당 컨테이너의 상태가 Running 또는 Exited로 표시되는 것을 확인할 수 있습니다.
이를 통해 컨테이너가 실행 중인지, 중지되었는지 쉽게 파악할 수 있습니다.
Docker 실행
docker start My_GPT
Docker 중지
docker stop My_GPT
이외의 명령어
동작 | 명령어 | 설명 |
컨테이너 실행 | docker start [컨테이너 이름] | 생성된 컨테이너를 실행 |
컨테이너 중지 | docker stop [컨테이너 이름] | 실행 중인 컨테이너를 중지 |
컨테이너 상태 확인 | docker ps | 현재 실행 중인 모든 컨테이너를 확인 |
모든 컨테이너 상태 확인 | docker ps -a | 모든 컨테이너(실행 중, 중지된 컨테이너 포함)를 확인 |
컨테이너 재시작 | docker restart [컨테이너 이름] | 컨테이너를 중지하고 다시 시작 |
Docker 앱 실행 및 중지
이제 준비가 다 되었으니 실행해 줍니다.
실행은 Docker 앱에 보시면 활성화되어 있는 컨테이너 옆에 파란색 port가 활성화 되어 있는데 클릭하시면 들어가실 수 있습니다.
또는, http://localhost:3000/ 를 통해 들어갈 수 있습니다.
Ollama(올라마) - Open-WebUI로 챗봇 시작하기
보시면 웹에 실행된 화면을 볼 수 있습니다.
챗GPT와 UI가 99% 똑같습니다.
모델 선택 화면
Ollama로 다운 받은 모델도 선택 가능합니다.
용도에 맞게 여러 개 다운 받으면 더욱더 다양한 모델을 사용할 수 있습니다.
Open-WebUI로 만든 챗봇(ChatBot)과 대화하기 - Llama 3.2-3B
보시면 Llama 3.2 3B모델을 선택해서 대화할 수 있습니다.
Open-WebUI로 만든 챗봇(ChatBot)과 대화하기 - OpenAI GPT 모델
설정에 가시면 API 설정을 하실 수 있습니다.
먼저, 맨 아래에 이름을 클릭하시고 설정에 들어갑니다.
다음과 같은 화면이 보이는데 여기서 관리자 설정을 들어가시면 됩니다.
관리자 설정에 연결을 누르시면 OpenAI API탭을 볼 수 있는데, 오른쪽에 API 키값을 입력하시면 됩니다.
GPT-API를 연결하면 사용할 수 있는 GPT 모델을 선택할 수 있게 나옵니다.
아래 이미지는 API 키값을 연결하였더니, 자동으로 사용할 수 있는 GPT 모델을 모두 불러와준 화면 입니다.
GPT-4o-mini 모델을 선택하고 대화할 수 있습니다.
Ollama(올라마) 모델 다운로드 방법
Huggingface에 있는 LLM 모델을 다운로드 받는 방법에 대해 궁금하신분들은 다음 글을 추천드립니다.
Ollama(올라마) Huggingface 모델 다운로드 방법 - 한국어 Llama 3.2-3B with Modelfile
시작하기 앞서...Ollama(올라마)를 사용하다 보면, 내가 사용하고자 하는 모델이 부족한 느낌이 많이 듭니다.이럴 때, Huggingface에 공개되어 있는 모델을 사용하면, 내가 사용하고자 하는 용도에 맞
hyunicecream.tistory.com
댓글