안녕하세요. 오늘은 내 컴퓨터에서 웹 인터페이스로 최신 언어모델과 대화하는 프로젝트에 도전해 보겠습니다. 이 블로그에서는 Ollama라는 오픈소스 도구를 이용해서 최신 인기 대규모 언어모델 Mistral 7B와 대화할 수 있는 웹 인터페이스를 만드는 방법에 대해 확인하실 수 있습니다. 그럼 시작해 볼까요?
Ollama란 무엇인가?
Ollama(https://ollama.ai/)는 깃허브에서 2만 명 이상으로부터 별점을 받고 있는 인기 오픈소스로서 대규모 언어 모델을 웹 애플리케이션에서 손쉽게 활용할 수 있도록 도와주는 도구 중 하나입니다. Ollama는 로컬에서 실행되는 대규모 언어모델을 웹 앱에서 사용할 수 있도록 지원하며, 오픈소스 기반으로 웹 앱에서 다음과 같은 기능을 수행할 수 있습니다.
- 로컬 언어모델 실행: Ollama는 로컬에서 다양한 언어 모델을 실행할 수 있게 해 줍니다. 이는 사용자의 컴퓨터나 서버에서 모델을 실행하고 그 결과를 웹 앱으로 전송하는 방식입니다.
- 웹 앱과의 통합: Ollama는 웹 앱에서 실행 중인 로컬 모델을 연결하고 사용할 수 있도록 지원합니다. 이를 통해 웹 앱은 사용자의 브라우저에서 모델을 실행하고 결과를 효과적으로 활용할 수 있습니다.
- 쉘 명령어 인터페이스: Ollama는 쉘 명령어를 통해 로컬 모델을 실행하고 웹 앱과 통합할 수 있는 인터페이스를 제공합니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Ollama 설치
1. WSL (Windows Subsystem for Linux) 설치
Ollama는 현재 macOS와 리눅스만 지원하고 아직 윈도우즈 운영체제를 지원하지 않고 있기 때문에 Ollama를 설치하기 위해서는 윈도우즈 운영 체제에서 리눅스 환경을 실행할 수 있도록 하는 WSL(Windows Subsystem for Linux)을 먼저 설치합니다.
#Update. 2024.2.25에 Ollama 윈도우 프리뷰 버전이 공개되었습니다. 프리뷰 버전은 일부 파이썬 라이브러리와 호환성에 이슈가 있습니다.
WSL 설치는 아래 링크를 참조하여 명령어 프롬프트에서 “wsl --install” 명령으로 설치하시면 되는데요, 먼저 제어판에서 Wondows 기능 켜기/끄기 항목 중 "가상 머신 플랫폼"과 "리눅스용 Windows 하위시스템"을 체크하셔야 합니다.
https://learn.microsoft.com/ko-kr/windows/wsl/install
2. Ollama 설치 및 기동
WSL이 설치완료되고 나면 관리자 권한으로 명령어 프롬프트에서 “wsl --user root -d ubuntu”를 입력한 후, 리눅스 프롬프트에서 "curl https://ollama.ai/install.sh | sh"를 입력해서 Ollama를 설치합니다.
Ollama 설치가 완료되면 “ollama serve”를 입력해서 Ollama를 구동합니다.
3. Mistral 7B 다운로드 및 구동
대규모 언어모델을 다운로드하기 위해서는 리눅스 프롬프트에서 “ollama run mistral”을 입력하면 자동으로 다운로드되며, Mistral 7B의 크기는 약 4GB 정도 됩니다. 다른 모델을 다운로드하려면 ollama run 명령어 뒤에 https://ollama.ai/library 사이트를 참조하여 원하는 언어모델명을 입력해 주면 됩니다. 현재 Ollama에서는 llama2, mistral, mixtral, orca2, yi 등 50여 종의 대규모 언어모델을 지원합니다.
Ollama 웹 인터페이스 설치
명령어 프롬프트에서 대규모 언어모델과의 대화를 좀 더 편리하게 만들기 위한 Ollama WebUI를 설치합니다. Ollama WebUI는 다음 링크를 참조하여 설치할 수 있습니다. 설치방법은 컨테이너 기반 가상플랫폼인 도커를 사용하는 방법과 사용하지 않는 방법이 있는데요, 여기서는 도커를 사용하지 않는 방법으로 진행하겠습니다.
https://github.com/ollama-webui/ollama-webui
도커를 사용하지 않는 Ollama WebUI 설치방법은 WSL 프롬프트 상태에서 아래 코드를 순서대로 실행하시면 됩니다.
- 1) 깃허브 리포지터리 복사
- 2) Node Package Manager를 활용한 패키지(모듈, 라이브러리 등) 설치 및 배포
- 3) requirements.txt 의존성 설치
- 4) 쉘 스크립트 실행
git clone https://github.com/open-webui/open-webui.git
cd open-webui/
# Copying required .env file
cp -RPp example.env .env
# Building Frontend Using Node
npm i
npm run build
# or Building Frontend Using Bun
# bun install
# bun run build
# Serving Frontend with the Backend
cd ./backend
pip install -r requirements.txt -U
sh start.sh
start.sh 쉘 스크립트를 실행하면 서버 프로세스가 시작되면서 아래 화면과 같이 완료 메시지가 뜨게 되며, 다음에 브라우저를 열어서 "http://localhost:8080" 주소로 접속하면 Ollama WebUI가 열리게 됩니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
마치며
이 블로그에서는 Ollama를 활용하여 로컬에서 대규모 언어 모델 Mistral 7B와 대화할 수 있는 웹 인터페이스를 만드는 방법에 대해 소개하였습니다. Ollama는 로컬에서 다양한 언어 모델을 실행하고 웹 앱에서 활용할 수 있도록 지원하는 오픈 소스 도구로, 사용자의 브라우저에서 모델을 실행하고 결과를 효과적으로 활용할 수 있게 합니다.
설치과정을 정리하면 먼저 WSL을 통해 리눅스 환경을 윈도우즈에 구축하고, Ollama를 설치한 후, Mistral 7B 모델을 다운로드하고, Ollama WebUI를 설치하여 웹 인터페이스를 통해 모델과 소통하였습니다. Ollama WebUI의 설치는 GitHub 리포지터리에서 제공하는 코드를 활용하여 진행되었으며, 설치 후에는 브라우저를 통해 간편하게 대화할 수 있는 환경이 제공됩니다.
이번 블로그에서는 로컬 웹에서 언어 모델을 간편하게 다룰 수 있는 도구인 Ollama에 대해 알아보았습니다. 그럼 저는 다음에 더욱 유익한 자료를 가지고 다시 찾아뵙겠습니다. 감사합니다.
2023.12.13 - [대화형 AI] - ChatGPT의 강력한 경쟁 언어모델 등장!, Mixtral 8x7B
'AI 언어 모델' 카테고리의 다른 글
Ollama와 Langchain을 이용한 환각없는 RAG 챗봇 만들기 (2) | 2023.12.19 |
---|---|
초보도 할 수 있는 구글 제미나이로 AI 레시피 생성 웹페이지 만들기 (2) | 2023.12.18 |
ChatGPT의 강력한 경쟁 언어모델 등장!, Mixtral 8x7B (0) | 2023.12.13 |
제미나이(Gemini) 멀티모달리티 테스트 결과 (0) | 2023.12.08 |
새로워진 구글 바드의 Extension과 추가기능을 사용해보세요. (4) | 2023.12.06 |