
오늘은 간단하게 프라이빗 환경에서 회사문서나 개인적인 문서들을 AI LLM모델에 업로드하고 해당 문서들을 기반으로 질의하면 너무나 좋을것 같다는 궁금증에 로컬 프라이빗 LLM구축을 시도를 해보았습니다!
제가 이번에 사용한 솔루션들은 다음과 같습니다. Ollama, Llama3.1, Open Web Ui
Ollama는 다양한 오픈소스 LLM을 간단하게 실행하고 관리할 수 있게 도와줍니다.
Llama 3.1은 우리가 너무나 잘 알고있는 Meta 페이스북에서 개발한 언어모델입니다. Llama 3.1은 제가 자주 방문하는 커뮤니티에서 입소문이 자자하기도 하고 혹여나 보안적인 정보들을 학습시켜도 괜찮은 신뢰도가 있는 프로젝트로 시도해 보았습니다. 제가 LLM을 구동하는 하드웨어는 맥북 M2 16gb ram 모델로 너무나 가련한 하드웨어이기 때문에 Llama 8B모델인 3.1을 사용했습니다. 이것마저도 너무나도 느린게 함정...
Open Web Ui는 우리에게 너무나 친숙한 ChatGPT처럼 채팅형 웹 UI/UX환경을 제공해줍니다. 또한 PDF 등 다양한 파일 업로드를 통해 LLM에게 질의를 할 수 있는 환경을 제공합니다.
저는 위 모든 환경을 Docker 컨테이너 환경으로 구현하여 사용했습니다. 그러면 Docker 환경에서 구축을 설명해보겠습니다!
docker network create ollama-net
가장먼저 Ollama, Open Web Ui가 서로 통신할 수 있도록 docker network를 구성합니다.
docker run -d --name ollama --network ollama-net -p 11434:11434 -v [호스트 컴퓨터 디렉토리]:/root/.ollama ollama/ollama
Ollama를 실행시켜줍니다. Ollama이미지가 없다면 자동으로 Docker Hub에서 다운로드하여 컨테이너를 생성하고 실행합니다.
docker exec -it ollama ollama pull llama3.1
Ollama설치를 완료한 후에 Ollama에서 구동시킬 LLM 모델인 llama3.1을 설치해 줍니다.
llama3.1 같은경우 모델 크기가 4.9GB입니다.

Ollama위에 여러 모델을 설치하여 선택해서 사용할 수 있으니 용도에 맞는 모델을 설치하고 삭제하기에 Ollama는 정말 편리한 환경을 제공해 줍니다.

모델 다운로드가 완료된후 바로 해당 모델에게 프롬프트로 질의를 할 수 있습니다.
docker exec -it ollama ollama run llama3.1
위 docker exec 명령어를 통해 프롬프트 환경에서 질의를 바로 하실 수 있습니다.
docker run -d --name open-webui --network ollama-net -p 3000:8080 -e OLLAMA_BASE_URL=http://ollama:11434 -v [호스트 컴퓨터 디렉토리]:/app/backend/data ghcr.io/open-webui/open-webui:main
프롬프트 환경에서 PDF업로드, 질의 히스토리를 확인하는데 번거로움이 있기에 우리에게 너무나 친숙한 ChatGPT UI/UX처럼 로컬 LLM에 질의할 수 있는 환경을 구축해주는 Open Web Ui 환경을 구성해 줍니다.

Open Web Ui환경이 구성되면 웹 브라우저를 통해 접근해 줍니다. http://localhost:3000 <- 도커 컨테이너 생성시 설정한 포트로 접속하면 됩니다. 이미 3000포트가 사용중이라면 다른 포트번호로 설정후 접속해주시면 됩니다.

처음 Open Web Ui를 접근하게 된다면 관리자 계정을 등록해 줍니다. 추후 여러 사용자가 접근하여 사용할 수 있도록 계정을 승인하는등 관리 업무를 할 수 있게됩니다.

계정등록을 하면 ChatGPT를 사용해 보셨다면 너무나 친숙한 UI/UX환경으로 로컬 LLM모델을 사용하실 수 있게 됩니다. Ollama에 여러 LLM모델을 설치한다면 Open Web Ui를 통해 다양한 LLM모델별로 질의를 하실 수 있는 환경을 제공합니다.
오늘은 간단하게 로컬 LLM모델을 설치하고 사용하는부분을 적어보았습니다. 프라이빗한 환경에서 회사 계약서라던지 기타 회사 문서들을 학습시키거나 회사 자체 위키 내용들을 학습시켜 활용한다면 자료를 찾거나 할때 정말 좋겠다는 생각이 들었습니다.
그나저나.. 괜찮은 하드웨어 환경을 갖추려면 천단위 또는 억단위로 들어가겠다라는 생각이 드네요..
'Tip' 카테고리의 다른 글
PostMan으로 GraphQL요청 하기 (0) | 2025.05.06 |
---|---|
Docker ugeek/webdav를 이용한 간편한 WebDav서버 구축 (2) | 2024.11.12 |
PostMan으로 gRPC요청 하기 (0) | 2024.07.01 |
intelillJ, webStorm 윈도우 oh my posh 터미널 오류 (4) | 2024.06.09 |
개발을 공부하기까지 노트북을 고민하는 분들에게 with OS에 대한 고민 (1) | 2024.05.27 |