본문 바로가기
AI/Contents

Ollama를 활용한 맥북 Github Copilot 구축하기 - (2)

by AI미남홀란드 2024. 2. 15.
728x90

 

 

Macbook Ollama

 

 

Ollama를 활용한 아이폰으로 Ondevice AI 구축하기

안녕하세요 Simon 입니다. On-device AI 시대가 열리면서 삼성의 갤럭시 스마트폰은 AI 를 넣어서 출시가 되고 있고, 아마 최근에 막말로 유명한 샘알트만이 그리는 반도체 시장의 생태계 또한 모든

wiz-tech.tistory.com

 

 

안녕하세요 Simon 입니다.

 

Ollama 로 아이폰에 Ondevice 형태의 어플로 구축하는 방법을 소개해드렸는데요. 이어서 M1 시리즈의 노트북을 보유하고 있다면 구독료 없이 코파일럿 형태의 서비스를 쓸 수 있을듯한 Idea가 떠올라서 글을 한번 써보겠습니다.

 

Ollama 는 무엇인가?

Ollama 는 오픈소스 프로젝트로 Hype이 되어 더욱 커지고 있는 프레임워크의 Tool 개념이라고 생각합니다. Open LLM 에서  Llama 2, Mistral 및 기타 대규모 언어 모델로 쉽게 시작할 수 있는 프로젝트입니다. macOS, Windows(WSL2를 통해), Linux 및 WSL2에서 대규모 언어 모델을 로컬 환경에서 실행하는 데 필요한 모든 것을 제공합니다. 또한, Docker Hub에서 사용 가능한 공식 Ollama Docker 이미지를 통해 더욱 다양한 환경에서 이용할 수 있습니다. ollama-python 및 ollama-js와 같은 다양한 라이브러리 지원은 개발자에게 더 많은 선택권을 제공합니다.

Llama 2 모델을 실행하는 것은 ollama run llama2와 같은 간단한 명령으로 가능합니다. Ollama는 ollama.com/library에서 제공하는 오픈 소스 모델 목록을 지원하며, 사용자는 이를 통해 다양한 모델을 쉽게 다운로드하고 실행할 수 있습니다. Llama 2, Mistral, Dolphin Phi 등 다양한 모델이 제공되며, 각각의 모델은 파라미터 수, 크기 및 다운로드 옵션을 포함합니다.

GGUF 모델을 Ollama로 가져오는 것부터 PyTorch 또는 Safetensors에서 모델을 가져오는 것까지, 사용자는 다양한 방법으로 모델을 사용자 정의할 수 있습니다. Ollama 라이브러리의 모델을 프롬프트로 사용자 정의하는 기능은 특정 사용 사례에 맞게 모델의 동작을 조정할 수 있는 유연성을 제공합니다.

Ollama는 모델을 생성, 실행 및 관리하기 위한 간단하면서도 강력한 API를 제공합니다. 사전 구축된 모델 라이브러리는 다양한 애플리케이션에서 쉽게 사용될 수 있도록 설계되었습니다. REST API를 통한 모델 실행 및 관리 기능은 개발자가 더 효율적으로 작업할 수 있게 돕습니다. 커뮤니티 통합을 통해 웹 및 데스크톱, 터미널, 데이터베이스, 패키지 관리자, 모바일, 확장 및 플러그인 등 다양한 환경에서 Ollama를 활용할 수 있습니다.

 

 

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

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

github.com

 

Ollama

Get up and running with large language models, locally.

 

 

맥북에서 LLaMA2, Code LLaMA 실행하기

 

1. 맥북에서 enchanted App down

 

제가 맥북을 산지가 어느덧 2년이 넘었는데 M1 Chip 으로 바뀌고서 기존의 아이폰, 아이패드에서 지원이 된 어플들을 다운로드 받을 수 있다는게 M1의 장점이었는데 그걸 드디어 써보네요! 똑같이 Appstore 에 검색하시면 나옵니다.

 

Enchanted

 

UI 도 ChatGPT 와 흡사한데 인터넷 창을 키고 로그인을 하지 않아도 Local 로 실행이 가능하다는 점입니다. 여기서 비추어 보았을떄 해볼 수 있는 메리트가 정말 많아질 듯 합니다.

 

2. 맥북(MAC)에서 Ollama 설정 다운로드 하기

공식 홈페이지 또는 Github 에서 Mac 전용 File 을 다운로드 합니다.

Ollama

ollama run codellama

 

현재 코드라마는 파라미터가 70B까지 큰 모델도 있으나 Ollama 에서는 현재 7B모델로 3.8GB 만 지원을 하고 있습니다. 70B가 되게 성능이 좋고, 긴 코드도 디버깅을 해주고 생성을 해준다고 알고 있는데 만약 지원을 하는 날이 온다면 진짜.. Copilot 구독을 해지 해야할 것 같습니다.

 

아니면 코드 추론이나 다양한 Task 의 도메인 학습 모델을 넣어서 실행해봐도 좋을 듯 합니다.

Customize a Model

 

3. Ngrok 설정하기

 

ngrok | Unified Application Delivery Platform for Developers

ngrok is a secure unified ingress platform that combines your global server load balancing, reverse proxy, firewall, API gateway and Kubernetes Ingress Controller to deliver applications and APIs.

ngrok.com

 

Ngrok 이란 ? ngrok은 로컬 컴퓨터에서 실행 중인 서버를 인터넷에 임시로 공개하는 도구입니다. 개발자가 로컬에서 개발 중인 웹 애플리케이션, API, 서버 등을 외부 네트워크나 인터넷에 있는 다른 사람들과 쉽게 공유하고 테스트할 수 있도록 해줍니다. ngrok을 사용하면 복잡한 네트워크 설정이나 공개 IP 주소 없이도 로컬 서버를 안전하게 외부에 노출시킬 수 있습니다.

 

Ngrok 을 활용하면 ChatGPT API 를 활용한 다양한 Application 에 붙히기가 유용하다고 합니다. 

 

터미널창에 Ngrok 다운로드 명령어를 실행합니다.

brew install ngrok/ngrok/ngrok

 

엑세스 토큰 할당을 해주어야 합니다.

 

ngrok config add-authtoken 'Your token key'

 

Ollama 서버를 공개적으로 액세스할 수 있도록 ngrok 포워드를 설정한 후 

ngrok http 11434

상태창

 

Forwarding 부분에서 https://b377-82-132-216-51.ngrok-free.app 이런식의 링크를 복사해줍니다.

4. 맥북에서 Enchanted 앱 설정하기

앱을 들어가서 셋팅을 누르고  Ollama Server URL 부분에 위에서 복사한 링크를 넣어줍니다.

Setting

5. Code LLaMA로 실행하기

Code LLaMA2

 

728x90