[Ollama] Ollama & Open webui Install

2024. 7. 31. 16:43·알쓸신잡

오늘은 로컬에서 쉽게 LLM을 사용할 수 있도록 해준 Ollama를 설치해보도록 하겠다.

(이번에 새로나온 llama:3.1 70B을 2080ti 7개로 돌리니 엄청빠르게 한글도 잘되고 똑똑한 놈을 사용 가능하다.)

 

우선 Ollama는 Window, Ubunti, MacOs 모두에서 지원하며 Windows에서는 wsl을 이용하여 진행된다.

 

GitHub - ollama/ollama: Get up and running with Llama 3.1, Mistral, Gemma 2, and other large language models.

Get up and running with Llama 3.1, Mistral, Gemma 2, and other large language models. - ollama/ollama

github.com

사실 설치방법도 공식 Github에 자세하게 나와있어서 더 설명할게 없지만, 나는 Open webui와 Ollama를 조금 더 간단하게 설치하기 위해 글을 작성하였다. 

Open webui는 로컬 llm을 ChatGPT와 거의 유사한 ui를 이용해서 cli에서 작업하는게 아니라 gui형태로 쉽게 사용할 수 있도록 만든 오픈소스 중 가장 유명한 오픈소스이다. (이것말고도 ollama-webui 이런것도 있었는데, open webui가 다양한 기능들을 지원하고 업데이트도 잘되서 훨씬 유명한 것 같다)

 

GitHub - open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI)

User-friendly WebUI for LLMs (Formerly Ollama WebUI) - open-webui/open-webui

github.com

 

뭐 따로 각자 설치해도되지만, 나는 얼마전부터 Docker이 이런거 한번에 설치하는데 편해져가지고 Docker을 이용해서 이것들을 한꺼번에 설치하고 엮는 것을 진행할 것이다.

 

GitHub - valiantlynx/ollama-docker: Welcome to the Ollama Docker Compose Setup! This project simplifies the deployment of Ollama

Welcome to the Ollama Docker Compose Setup! This project simplifies the deployment of Ollama using Docker Compose, making it easy to run Ollama with all its dependencies in a containerized environm...

github.com

위 repository의 가이드를 그대로 따라하면 되는데

1. Docker, Docker Compose 설치

2. Docker에서 GPU를 사용하기 위한 설치

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

# Configure NVIDIA Container Toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

# Test GPU integration
docker run --gpus all nvidia/cuda:11.5.2-base-ubuntu20.04 nvidia-smi

3. 위의 reposiory clone

git clone https://github.com/valiantlynx/ollama-docker.git
cd ollama-docker

4. 실행

docker-compose -f docker-compose-ollama-gpu.yaml up -d

 

추가적으로 clone 받은 repository에서 

  ollama:
    volumes:
      - ./ollama/ollama:/root/.ollama
    container_name: ollama
    pull_policy: always
    tty: true
    restart: unless-stopped
    image: ollama/ollama:latest
    ports:
      - 7869:11434
    environment:
      - OLLAMA_KEEP_ALIVE=24h
    networks:
      - ollama-docker
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              capabilities: [gpu]
              device_ids: ['7']

여기의 device_ids를 ['1','2'] 이런식으로 수정하여 사용할 GPU를 설정할 수 있다.

 

이렇게 Docker을 통해서 한번에 올리고, `http://{ip}:{port}`에 접속하면 open webui를 확인할 수 있다.

+) docker-compose-ollama-gpu.yaml에서 아래쪽에 있는 `WEBUI_AUTH`는 True로 설정하면, 회원가입등을 통해서 open web ui를 사용할수있게 해준다. 참고로 기본 관리자 emai은 admin@localhost 이고 비밀번호는 맨처음 로그인시 바꿔주면 된다.

만약 비밀번호를 바꿨는데, 까먹었다 싶으면 컨테이너를 내리고 auth를 False로 바꿔준다음 들어가서 다시 설정하고 내리고 바꾸고 올리면됩니다~

 

OpenWebUI에 기능들이 정말 다양하고 많은데, 사용하기 헷갈리는 것들도 있어서 다음글에서 stable diffusion과 엮어서 이미지를 생성하는 것만 올리고, 나머지는 공식 가이드 문서를보면서 하나씩 해보면 좋을 것 같다.

 

🏡 Home | Open WebUI

Open WebUI is an extensible, feature-rich, and user-friendly self-hosted WebUI designed to operate entirely offline. It supports various LLM runners, including Ollama and OpenAI-compatible APIs.

docs.openwebui.com

 

이후 차근차근 작성할 것들

 

vscode의 continue extension과 ollama를 이용하여 local copilot 사용하기.

open web ui와 stable diffusion을 이용하여 채팅에서 이미지 생성하기.

728x90

'알쓸신잡' 카테고리의 다른 글

CUDA call failed lazily at initialization with error: device >= 0 && device < num_gpus INTERNAL ASSERT FAILED at  (0) 2024.08.05
Windows Docker desktop 설치  (0) 2024.08.04
Gitlab to Github  (0) 2024.07.18
아이폰으로 서버 SSH 접속  (0) 2024.02.25
Putty 설정 및 꾸미기  (0) 2024.02.20
'알쓸신잡' 카테고리의 다른 글
  • CUDA call failed lazily at initialization with error: device >= 0 && device < num_gpus INTERNAL ASSERT FAILED at
  • Windows Docker desktop 설치
  • Gitlab to Github
  • 아이폰으로 서버 SSH 접속
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (471)
      • 알쓸신잡 (79)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    파이썬
    이코테
    dp
    백준
    그리디
    DFS
    나동빈
    이것이취업을위한코딩테스트다
    이분탐색
    BFS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3

HOME

HOME

상단으로

티스토리툴바