본문 바로가기

Open-WebUI 설치 및 사용법 - Ollama(올라마) with Docker

hyunicecream 2024. 10. 21.

블로그 로고
블로그 로고

시작하기 앞서...

Docker를 사용해서, 인터넷 없이도 1인 또는 그룹에서 사용할 수 있는 챗봇을 만들어보려고 합니다.

  • 챗봇 툴: 오픈 소스인 Open-WebUI
  • 모델 관리 및 실행 플랫폼 : Ollama(올라마)
  • 사용 모델 : Meta-Llama3.2-3B 모델
  • 추가사항 : OpenAI - API, GPT 모델 사용하기

설치하고 실행만 하면 되어서 매우 간단하게 시작할 수 있습니다.

차근차근 따라 하면 보안 걱정이나, 인터넷 없이도 사용할 수 있는 챗봇을 만들 수 있습니다. 

Docker 설치하기 

링크 Docker 다운로드 하기

그리고 홈페이지에 회원 가입해 주시면 됩니다. 

Docker 다운로드하기
Docker 다운로드하기

OS에 맞게 설치해 주시면 됩니다.

Docker 설치하기
Docker 설치하기

Docker에서 Ollama(올라마) 컨테이너 생성하기

Docker 환경에서 Ollama를 실행하기 위해 컨테이너를 생성합니다.

Open-WebUI 공식 문서를 참고해 설치를 진행하겠습니다.

[Open-WebUI GitHub 바로가기]

여기서 먼저 open WebUI를 설치해 줍니다.

open-webui 설치하기
open-webui 설치하기

호환성 이슈로 인해 파이썬 버전 3.11 이상을 사용해주셔야 합니다. 

맥 또는 리눅스 사용하시는분은 터미널에서 설치하시면 됩니다.

윈도우를 사용하시는분은 파워쉘 또는 아나콘다 프롬프트에서 설치하시면 됩니다. 

open-webui 설치하기
open-webui 설치하기

터미널 명령어

pip install open-webui

그리고 docker에서 설치방법이 총 3가지가 있는데 다음과 같습니다.

Docker Openwebui ollama 설치하기
Docker Openwebui ollama 설치하기

  • 로컬에서 실행: 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를 보실 수 있습니다. 

My_GPT 생성화면
My_GPT 생성화면

Docker 실행하기 및 단축키

Docker 컨테이너를 실행하거나 중지하는 방법은 두 가지가 있습니다.

Docker 앱에서 실행 및 중지

좌측에 "Containers"를 클릭하시면 만든 컨테이너를 볼 수 있습니다.

Containers 클릭화면
Containers 클릭화면

이후에 좌측 끝에 보시면 Actions라고 적혀있는 걸 볼 수 있는데 실행하고 중지할 수 있습니다. 

컨테이너 실행 버튼
컨테이너 실행 버튼

맨 오른쪽에 있는 휴지통 모양은 만든 컨테이너를 삭제하는 기능입니다.

터미널에서 Docker 앱 실행 및 중지

실행 및 중지를 터미널에 명령어에 입력하면 다음과 같은 화면이 나옵니다.

Docker 터미널 명령어
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/ 를 통해 들어갈 수 있습니다. 

Docker 컨테이너 접속하기
Docker 컨테이너 접속하기

Ollama(올라마) - Open-WebUI로 챗봇 시작하기

보시면 웹에 실행된 화면을 볼 수 있습니다.

챗GPT와 UI가 99% 똑같습니다. 

Open-WebUI - 실행화면
Open-WebUI - 실행화면

모델 선택 화면

Ollama로 다운 받은 모델도 선택 가능합니다. 

용도에 맞게 여러 개 다운 받으면 더욱더 다양한 모델을 사용할 수 있습니다. 

Open-WebUI - 실행화면
모델 선택화면

Open-WebUI로 만든 챗봇(ChatBot)과 대화하기 - Llama 3.2-3B

보시면 Llama 3.2 3B모델을 선택해서 대화할 수 있습니다. 

Llama 3.2 3B 사용하기
Llama 3.2 3B 사용하기

Open-WebUI로 만든 챗봇(ChatBot)과 대화하기 - OpenAI GPT 모델 

설정에 가시면 API 설정을 하실 수 있습니다. 

먼저, 맨 아래에 이름을 클릭하시고 설정에 들어갑니다.

설정 화면
설정 화면

다음과 같은 화면이 보이는데 여기서 관리자 설정을 들어가시면 됩니다.

관리자 설정
관리자 설정

관리자 설정에 연결을 누르시면 OpenAI API탭을 볼 수 있는데, 오른쪽에 API 키값을 입력하시면 됩니다.

연결, OpenAI Key값 입력
연결, OpenAI Key값 입력

GPT-API를 연결하면 사용할 수 있는 GPT 모델을 선택할 수 있게 나옵니다. 

아래 이미지는 API 키값을 연결하였더니, 자동으로 사용할 수 있는 GPT 모델을 모두 불러와준 화면 입니다. 

OpenAI - GPT 모델
OpenAI - GPT 모델

GPT-4o-mini 모델을 선택하고 대화할 수 있습니다. 

GPT-4o-mini 모델 선택 화면
GPT-4o-mini 모델 선택 화면

Ollama(올라마) 모델 다운로드 방법

Huggingface에 있는 LLM 모델을 다운로드 받는 방법에 대해 궁금하신분들은 다음 글을 추천드립니다.

 

Ollama(올라마) Huggingface 모델 다운로드 방법 - 한국어 Llama 3.2-3B with Modelfile

시작하기 앞서...Ollama(올라마)를 사용하다 보면, 내가 사용하고자 하는 모델이 부족한 느낌이 많이 듭니다.이럴 때, Huggingface에 공개되어 있는 모델을 사용하면, 내가 사용하고자 하는 용도에 맞

hyunicecream.tistory.com

 

댓글