안녕하세요! 오늘 Reor라는 로컬 LLM 기반 개인 노트 관리 앱을 소개해드리겠습니다. 이 앱은 사용자가 작성한 노트에 대해 Ollama를 통한 RAG(Retrieval-Augmented Generation)과 의미적 검색(Semantic Search) 기능을 제공하며, 모든 노트와 언어모델은 PC에 오프라인으로 저장되어 보안 걱정 없이 안심하고 사용할 수 있습니다. 이 블로그에서는 Reor의 주요 기능과 설치방법을 알아보고 한국어 언어모델, EEVE 모델을 적용해서 아래 화면과 같이 실행해 보겠습니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Reor 개요
Reor는 Reorganize(재조직, 재편성)의 뜻을 가진, AI 기술을 활용한 데스크톱 노트 애플리케이션입니다. 사용자가 노트를 작성하고 저장하면, Reor는 자동으로 관련된 노트를 벡터 유사성 기반으로 연결하고 언어 모델을 통해 질문에 답변하며, 의미적 검색을 제공하여 사용자의 생각을 조직화하고 확장하는 데 도움을 줍니다.
Reor의 주요 기능은 다음과 같습니다:
- 자동 연결: 사용자가 작성한 각각의 노트를 분석하여 내용을 이해하고, 그 내용을 기반으로 관련된 노트들을 자동으로 연결합니다. 이를 통해 사용자는 작성 중인 노트와 관련된 내용을 쉽게 찾을 수 있습니다.
- 질문에 대한 답변: 사용자가 노트에 기록한 내용에 관해 Ollama의 로컬 언어 모델을 사용하여 질문할 수 있습니다. 이를 통해 사용자는 자신의 노트에 관한 질문에 대한 답변을 빠르게 얻을 수 있습니다.
- 의미적 검색: 단순한 키워드 매칭이 아니라 사용자의 질의 의도나 문맥을 이해하여 관련성 있는 검색 결과를 제공합니다. 이를 통해 사용자는 자신의 노트에 포함된 정보를 더 쉽게 찾을 수 있습니다.
- AI 플래시카드 생성: 사용자가 작성한 노트를 기반으로 AI 플래시카드를 생성할 수 있습니다. 이를 통해 사용자는 학습한 내용을 복습하고 기억력을 강화할 수 있습니다.
- 로컬 모델 실행: 로컬에서 AI 모델을 실행할 수 있습니다. 이를 통해 사용자는 노트를 작성하거나 검색할 때 개인정보 보호 및 보안에 더 많은 신뢰를 가질 수 있습니다.
Reor는 사용자가 생각을 조직화하고 관련 정보를 효과적으로 관리할 수 있는 유용한 도구입니다.
설치방법
Reor를 설치하는 방법은 일반 버전과 개발자 버전이 있으며 개발자 버전은 언어 모델의 시스템 프롬프트 변경 등을 통해 애플리케이션의 기능을 사용자가 원하는 대로 변경할 수 있습니다.
일반/개발자 버전 설치
다음은 일반적인 설치방법입니다.
- 다운로드: reorproject.org나 GitHub 릴리스 페이지를 방문해서 Reor를 다운로드합니다.
- 운영 체제 선택: 사용하고 있는 운영 체제에 맞는 설치 파일을 다운로드합니다. Reor는 Mac, Linux 및 Windows 운영 체제를 모두 지원합니다.
- 설치: 다운로드가 완료되면 설치 파일을 실행하여 Reor를 설치합니다. 일반적으로 설치 프로세스는 사용자가 몇 가지 단계를 따르고 동의하는 것으로 이루어집니다.
- 시작: 설치가 완료되면 Reor를 실행하여 시작할 수 있습니다. Reor를 실행하면 사용자가 원하는 대로 노트를 작성하고 관리할 수 있습니다.
Reor의 개발자 버전을 설치하는 방법은 다음과 같습니다:
- Git 클론: Reor의 소스 코드를 Git을 사용하여 클론 합니다. 터미널 또는 명령 프롬프트에서 다음 명령을 실행합니다:
git clone https://github.com/reorproject/reor.git
- 의존성 설치: 클론한 Reor 프로젝트 디렉토리로 이동한 후, 프로젝트에 필요한 의존성을 설치합니다. 이 명령은 프로젝트에 필요한 Node.js 패키지를 설치합니다.
cd reor
npm install
- 개발 서버 실행: Reor를 개발용으로 실행하기 위해 다음 명령을 실행합니다. 이 명령은 개발 서버를 시작하고 Reor의 소스코드를 수정해서 테스트 할수 있습니다.
npm run dev
언어 모델 및 임베딩모델 설정
Reor는 Ollama와 직접 상호 작용하므로 Reor 내에서 직접 로컬 모델을 다운로드하고 실행할 수 있습니다. 설정으로 이동하여 아래 화면과 같이 "Add New Local LLM"을 클릭한 다음, Reor에 다운로드할 모델의 이름을 입력합니다. 사용 가능한 모델 라이브러리는 https://ollama.com/library에서 확인할 수 있습니다. 또한 OpenAI 호환 API인 Oobabooga, Ollama 또는 OpenAI에 연결할 수도 있습니다.
한국어 모델인 야놀자의 EEVE 언어 모델을 사용하기위해서는 허깅페이스에서 GGUF 파일을 다운로드하고 Ollama에서 Modelfile을 통해 로컬 언어 모델을 생성하는 과정이 필요하지만, 아래 화면과 같이 제가 Ollama에 올려놓은 파일을 이용하시면 이 과정을 생략하셔도 됩니다. "Add New Local LLM"을 클릭한 다음, "jmpark333/eeve"라고 입력하고 Download를 클릭하면 아래 화면과 같이 한국어 모델 EEVE가 다운로드됩니다.
다운로드가 완료되면 아래 화면과 같이 LLM 메뉴에서 jmpark333/eeve 모델을 선택하면 됩니다.
한국어 LLM EEVE에 대한 자세한 내용은 아래 포스트를 참고하시면 됩니다.
2024.04.13 - [AI 언어 모델] - [AI 논문] 올해의 한국어 LLM에 선정된 야놀자 언어 모델, EEVE
다음은 임베딩 모델을 설정하는 단계인데요. 로컬 임베딩 모델을 연결하려면 Git Large File Storage (LFS)를 사용하여 해당 모델을 다운로드해야 하며, 방법은 다음과 같습니다.
- Git LFS 설치: Git LFS를 설치해야 합니다. 이를 위해 https://git-lfs.github.com/를 따라 Git LFS를 설치하세요.
- 모델 다운로드: 모델을 다운로드하려면 해당 모델을 git clone 해야 합니다. "Xenova" ONNX 임베딩 모델만 지원되며, 모든 모델은 이 링크에서 확인할 수 있습니다. 저는 다국어 지원 모델 중 가장 다운로드수가 많은 "Xenova/paraphrase-multilingual-mpnet-base-v2" 모델을 선택하였습니다.
- Reor 연결: 임베딩 모델을 Reor에 연결하려면 설정(Settings)/Embedding Models(임베딩 모델)/Attach Remote Model(리모트 모델 연결)을 선택하고 Repo 이름 "Xenova/paraphrase-multilingual-mpnet-base-v2"입력한 후, "Load"를 클릭합니다.
임베딩 모델은 텍스트를 벡터로 표현하여 유사성을 기반으로 의미적 검색을 가능하게 합니다. 의미적 검색은 정보의 의미, 즉 내용과 맥락을 기반으로 콘텐츠를 찾는 것을 말하며, 이는 이름이나 키워드를 바탕으로 내용을 찾는 텍스트 기반 검색 방법과 대조됩니다. Reor는 의미적 검색을 사용함으로써 관련 정보를 더 효과적으로 검색하고 분석할 수 있어, 생각 과정을 강화하고 새로운 아이디어를 생성하는데 도움을 받을 수 있습니다.
의미적 검색 및 노트 대화
Reor는 오프라인에서 사용자가 작성하는 노트의 내용에 대해 로컬 언어 모델을 통해 유사성을 기반으로 의미적 검색을 할 수 있습니다. 아래화면과 같이 노트를 작성하면서 원하는 부분을 블록설정 후 관련 노트 아이콘을 클릭하면 우측에 의미적 검색 결과가 유사도와 함께 표시됩니다.
노트 기반 대화방법은 노트를 작성한 다음, 폴더나 목록에서 오른쪽 마우스 클릭 후, "Add file to chat context"를 선택하고 질문이나 대화를 진행하면 됩니다.
언어 모델을 Llama3로 설정했다면, 명령 프롬프트를 변경하여 영어대신 한국어로 응답하도록 변경할 수 있습니다. 위에서 개발자 버전으로 설치한 다음, VSCode에서 reor 작업디렉터리 내 소스 파일 중 reor\src\components\Chat\Chat.tsx 파일의 153번 라인에 있는 프롬프트를 아래 명령어와 화면을 참조하여 변경하면 됩니다.
Answer the questions only in Korean based on the following context.
다음은 Llama3 모델을 선택하고 소스 코드를 수정 후, 한국어로 답변하는 화면입니다.
맺음말
오늘 포스팅에서는 인공 지능 기반 노트 앱 Reor를 소개했습니다. Reor는 사용자가 작성한 노트에 대해 로컬 LLM을 통한 RAG(Retrieval-Augmented Generation)과 의미적 검색 기능을 제공하며, 모든 노트와 언어 모델은 PC에 오프라인으로 저장되어 보안 걱정 없이 안심하고 사용할 수 있습니다.
Reor의 주요 기능으로는 벡터 유사성 기반 자동 연결, 질문에 대한 답변, 의미적 검색, 로컬 모델 실행 등이 있으며, 특히, 한국어 언어 모델인 EEVE를 적용하면 한국어로 질문에 답변하고 노트 검색을 수행할 수 있어 더욱 효과적으로 사용할 수 있습니다. Reor는 생각을 조직화하고 관련 정보를 효과적으로 관리하는데 도움이 되는 유용한 도구입니다.
오늘 내용은 여기까지입니다. 인공 지능 기술을 활용하여 노트 관리 방식을 개선하고 싶으시다면 Reor를 사용해 보시는 것을 추천드리면서 저는 다음에 더욱 유익한 정보를 가지고 다시 찾아뵙겠습니다. 감사합니다.
2024.04.17 - [AI 언어 모델] - 야놀자 한국어 언어 모델 EEVE와 Ollama로 구현하는 로컬 RAG
'AI 도구' 카테고리의 다른 글
엑셀과 대화: PandasAI와 Ollama활용 6줄 코드로 Llama3 챗봇 만들기 (0) | 2024.05.12 |
---|---|
LM Studio의 CLI를 활용한 EEVE 챗봇 만들기 (1) | 2024.05.10 |
Msty와 Open WebUI: 직관적인 UI와 로컬 RAG까지 지원하는 언어 모델 활용 도구 (0) | 2024.05.07 |
누구나 할 수 있는 AI 코딩! Llama3와 Claude3로 벽돌깨기 게임 1분 컷! (0) | 2024.05.04 |
[LLAMA3 활용] ComfyUI 프롬프트 자동 작성 및 유튜브 동영상 요약 10초 완료! (6) | 2024.05.01 |