llama 3.1b를 쉽게 설치하고 RAG(snowflake, mixedbread)를 이용해보자(feat. msty)

배경 및 목적

RAG 프레임워크인 llamaindex는 파이썬 코딩이 필요하고, open ai의 api연동, ollama 설치가 수반되어야 하기 때문에 비개발자는 접근이 쉽지 않습니다.

따라서 보다 쉽게 llama 3.1b를 설치하고 RAG(snowflake, mixedbread embed large)를 테스트 하도록 도와주는 솔루션인 msty를 알아보고 RAG를 맛보는 시간을 가져보고자 합니다.

본 글에선 msty를 통해 llama3.1을 설치하고 오프라인 환경에서 LLM을 사용하는 방법과 RAG(msty에선 이를 Knowledge Stacks라 함)를 간단하게 사용해봅니다.

활용 툴

msty(미스티) : msty.app

  • Msty는 AI 모델을 쉽게 사용할 수 있도록 도와주는 도구로, 별다른 기술 지식 없이도 다양한 AI 모델과 대화할 수 있음

  • 오프라인 사용(llama), 실시간 데이터 가져오기 등의 기능을 제공함

  • 모든 데이터를 로컬에 저장해 프라이버시를 보호 함

실행 과정

  1. msty를 통한 llama 설치

    가. msty.app 접속 후 'download msty'선택 후 자신의 사양에 맞는 옵션 선택

    로컬 및 온라인 AI 모델을 사용하는 가장 쉬운 방법

    • 윈도우 사용자이면서 NVIDIA GPU가 있을 경우 : 'windows x64(NVDIA GPU)'선택

    • 윈도우 사용자이면서 AMD GPU가 있을 경우 : 'windows x64(AMD GPU)'선택

    • 윈도우 사용자이면서 GPU가 없을 경우 : 'windows x64 CPU Only'선택

    나. 설치

    컴퓨터 화면에 5월 페이지를 오신 것을 환영합니다
    • 위와 같은 화면이 나오면 'SETUP LOCAL AI'선택

    다. llama 3.1b 설치

    lua 파일을 사용한 시작 설정 스크린샷
    • 화면의 LLaVa phi3라 표기된 영역(첫 설치시 Gemma 2B)를 선택 후

    • LOCAL AI 옆의 연필(?)아이콘 (붉은 사각형으로 표기된 아이콘) 선택

    여러 옵션이 강조 표시된 Azure Portal의 스크린샷
    • llama 3.1선택(8b 모델은 약 4.7gb용량 필요)

      ※ 일반 PC에선 70b는 매우매우 느립니다. 4090, ram 64gb정도로는 어림도 없어요

      시간낭비, 용량낭비 하지 마시고, 테스트는 8b로 한방에~!

    라. llama3.1 8b선택 후 채팅 시작

    • 화면하단의 '지구'모양을 선택하면 질의 내용에 대하여 웹을 검색 합니다.

    • 말풍선에 번개(?)표기가 된 아이콘을 선택하면 accountant, advertiser와 같이 다양한 프롬프트를 맛볼 수 있습니다.

    • 문서 모양의 아이콘을 선택하면 RAG로 학습된 자료를 참고로 대화가 가능 합니다.

    • 클립+ 아이콘을 선택하면 여러 문서(jpg, png, pdf, json, docx, txt 등)를 업로드 할 수 있습니다.

      ※ 이미지 분석 등을 원할 경우 별도의 모델(LLaVa Phi3)설치가 필요 합니다.

  2. RAG(Snowflake)개요 및 설치, 이용 방법

    가. RAG(Retrieval-Augmented Generation)란? 간단하게 기존 LLM에 특별한 지식(나의 업무지식, 특정 기업의 업무 프로세스, 규정 등)을 LLM에 더해 결과를 얻는 것을 말합니다.

    ※ RAG는 구라(할루시네이션)가 없고, 대답에 대한 출처를 표기합니다. 잘 활용하면 좋겠죠?

    나. msty에서 rag 사용 하기(knowledge stack)

    우분투 시작 화면의 스크린샷
    • 이미지 좌측의 문서(?)아이콘(붉은색 네모)를 선택합니다.

    다. USE LOCAL AI MODEL을 선택합니다.

    로그인 페이지를 보여주는 화면의 스크린샷

    라. '+Add Your First Knowledge Stack'을 선택합니다. (그러면 RAG프레임워크가 깔립니다. 예전엔 snowflake가 설치되었는데, 지금은 mixedbread가 자동 설치 되네요)

    마. 아래의 화면에서 '+Add New Knowledge Stack'을 선택하고 지식(?)을 올려봅니다.

    (전 기존에 만들어둔 가상의 판매 데이터 2,000건을 올려보겠습니다.)

    • '+Add New Knowledge Stack'선택

    • Title에 '24년 판매 데이터'라 쓰고, RAG모델(전 Snowflake, mixedbread등)을 선택 한다음 'Add'를 선택 합니다.

      화면에 한국어가 표시됩니다

      ※ File(txt, csv, md, json등)과 OBsidian Vaults, Folders, notes, youtube links를 제공

      한국어 화면의 스크린샷
    • 제가 가진 판매데이터는 CSV파일이니, 'Files'를 선택하고 browse files/drag&drop을 통해 업로드 하고 Compose를 눌러 줍니다.(그러면 잠시 후 composing이 완료됩니다.[색인 완료])

      ※ compose 옆의 톱니바퀴를 누르면 spiltter type, chunk size, overlapping 등을 설정 할 수 있습니다.

    바. 방금 등록된 정보를 활용하기 위해 채팅창으로 가서 내 지식을 선택합니다.

    웹 브라우저의 한국어 스크린샷
    • 채팅창으로 돌어와서 하단의 '문서'모양을 선택하고 내가 활용할 지식을 선택합니다.

      ※ 24년 판매 데이터를 llama 8b가 분석하기엔 무리인 것 같아서 도표/텍스트 위주로 구성된 '내가 조사한 AI 서비스'에 대해서 질문 해봅니다. 대략 아래와 같은 내용으로 자료가 들어가 있었습니다.

    • 대화형 서비스, 요약 서비스 등에 뭐가 있는지 물어봅니다.

      한��국어 텍스트가 있는 화면의 스크린샷
    • 사전에 조사한 릴리스AI에 대해서 물어봅니다.

    • 웹검색 기능을 활성화하고 URL에 접속해서 해당 서비스가 뭘 하는지 더 조사해보라고 시켜봅니다.

      한국어 텍스트가 있는 화면의 스크린샷
      구글 크롬 한국어 버전 스크린샷

      ※ 조사되지 않은 자료인데 웹사이트에 들어가서 내용을 그럭저럭 긁어와서 알려줍니다

결과 및 인사이트

  • 오프라인에서 구동되는 LLama는 검열과 보안에서 자유로운 점이 좋

  • 8B는 생각보다 능력이 많이 부족하다.(본문에서 많이 다루진 않았지만 한국어 능력이 떨어지고, 횡설수설 하는 경우가 많았습니다.)

  • llama 8b에서 돌려본 RAG는 재미삼아 돌려볼만 하지만 아직까지 실사용하기엔 많은 어려움이 필요할 것 같다. 특히 판매데이터에 대한 데이터 분석은 거의 불가능했다.

결론 : 빨리 라마인덱스를 배워서 써보고 싶다.

5
3개의 답글

👉 이 게시글도 읽어보세요