Ollama를 이용하여 local에서 LLM 실행시켜보기
#Ollama #LLM #open-webui
ChatGPT에 이어 여러 LLM 모델들이 잔뜩 나타나고 있다. 하지만 오히려 여러 기업들이나 학교에서는 개인 정보 및 기업 비밀 유출 방지 등의 목적으로 이런 AI들의 사용을 금지하고 있다. 물론 이런 상황에서 사용하라는 것은 아니지만, 인터넷 연결이 없거나 상대적으로 보안이 중요한 상황에 LLM을 개인 컴퓨터에서 돌리는 방법에 대하여 알아보자.
원래는 훨씬 긴 글을 쓰려고 했지만, 본인이 최근에 너무 바빠서 아쉽게도 이정도에서 마무리하겠다.... :(
Ollama, 이건 도대체 뭔데??!!
Ollama는 컴퓨터의 CLI상에서 LLM 모델들을 돌리게 해준다. 여기서 특이한 점은 이것이 인터넷 연결 없이도 가능하다는 점이다. 오늘 이 튜토리얼을 따라하면 결론적으로 이런 화면을 보게 될 것이다.

시작해보자. Step 1 : Ollama 설치

이걸 자신의 OS에 맞는 걸 설치해준다.
Ollama 설치가 완료되었다면 터미널을 열고 다음과 같은 커맨드를 입력해본다.
ollama run llama3.2
Llama3.2와 비슷한 정도의 용량을 가진 모델의 다른 예로는 Deepseek-r1:7b나 mistral이 있다.
다운로드가 완료된 뒤에는 >>>와 함께 프롬프트를 입력할 수 있는 창이 생긴다. 여기에 질문을 해보면 가장 기본적인 목표는 성공한 것이다.
설치되어 있는 모델들을 확인하려면 다음 커맨드를 입력해보자.
ollama list
또 필요 없는 모델은
ollama rm <MODEL_NAME>
으로 간단하게 처리 가능하다.
Step 2 : 포장
일단 가장 기본적인 local LLM을 만드는데는 성공했다. 하지만 이런 경우 귀찮을 수도 있다.
가령,
>>> Factorize x^2 + 2x + 1
<think>
1. **Identify the Form:**
The given expression is:
\[
x^2 + 2x + 1
\]
This matches the form of a perfect square, specifically
\( (a + b)^2 = a^2 + 2ab + b^2 \).
2. **Determine \( a \) and \( b \):**
- The first term is \( x^2 \), so \( a = x \).
- The last term is 1, which can be written as \( 1^2
\). Therefore, \( b = 1 \).
3. **Apply the Perfect Square Formula:**
Substituting \( a \) and \( b \) into the perfect
square formula:
\[
(a + b)^2 = x^2 + 2x(1) + 1^2
\]
Simplifying:
\[
(x + 1)^2
\]
4. **Final Factored Form:**
Therefore, the factored form of \( x^2 + 2x + 1 \) is:
\[
\boxed{(x + 1)^2}
\]
이처럼 Markdown으로 작성된 여러가지 글씨가 그대로 보이는 것을 확인할 수 있다.
(참고로 Llama3.2 모델은 이 문제가 없다. 애초에 CLI에서 돌리도록 설계된 듯하다.)
이를 해결하기 위해 ChatGPT스러운 UI를 구축해보자.
이곳에서는 이 라이브러리를 사용할 것이다.
우선 컴퓨터에 Docker를 깔아주자. Docker가 설치되었다는 가정하에 설명을 이어나가겠다.
우리가 하고자 하는것은 Docker 내부에 컨테이너를 만들고, 그 내부에서 Open-webUI를 실행시켜 보기좋은 웹사이트를 하나 띄우는 것이다.
다음과 같은 커맨드를 실행하자
docker run -d --name open-webui \
-p 3000:8080 \
-v open-webui:/app/backend/data \
--restart always \
ghcr.io/open-webui/open-webui:main
실행시 WebUI가 설치되고 실행된다. 이제 localhost:3000에 방문하여 설명에 따라 실행시 예쁜 UI가 뜨는 것을 확인할 수 있다.
이제 인터넷이나 보안 걱정 없이 AI를 쓸 수 있게 되었다! 🎉