LLM(Large Language Model)은 이제 없으면 아쉬운 존재입니다. 개발자 입장에서는 벌써 2년째 Github Copilot을 코딩도우미로 잘 쓰고 있었지만 ChatGPT, Claude가 좀 더 좋은 코드를 만들어 주는 상황이 되었고, 최근 검색증강생성(RAG – Retrieval-Augmented Generation)이 개발자 입장에서 중요한 키워드가 되어서 MML의 구조와 Api에 대한 공부를 하지 않을수 없게 되어서 공부를 시작했습니다.
공부에 가장 빠른 방법은 가르치거나 만들어 보는것이라고 늘 생각해서 뭔가 공부 하면 새 프로젝트를 하나 시작해서 적용해 보는 편인데, 이번에 LLM을 공부하며 만든 프로젝트가 MirrorOn 입니다.
다중 LLM 질의 도구 MirrorOn
MirrorOn은 한번 질문을 던져서 여러개의 LLM으로 부터 답을 얻는 질의도구 입니다. 이름은 ‘거울아~ 거울아~’ 에서 착안한겁니다. ^^ 거울을 켜(On!)면 누가 세상에서 가장 아름다운지 알려줄겁니다.
![](http://practical.kr/wp-content/uploads/2024/07/sample1.gif)
현재(V 0.1.0)에서는 ChatGPT, Claude, Ollama를 사용할 수 있습니다. ChatGPT, Claude는 API key 가 필요합니다. 사용자가 직접 API key를 발급받고 설정에서 키를 입력하고 질문을 입력하면 API 질의결과를 조회할 수 있습니다. 대화의 맥락을 이어갈수 있도록 구성되어 있고, 메뉴를 통하여 복사,삭제, 공유등을 실행할 수 있습니다.
로컬 LLM
Ollama(https://ollama.com)는 사용자의 컴퓨터에서 LLM을 실행할수 있도록 도와주는 프로그램입니다. 링크에서 Ollama를 설치하고 원하는 Model을 설치해서 질문을 무료(!)로 할 수 있습니다. 컴퓨터의 용량이 허락하는대로 다양한 Model을 실행할 수 있습니다.
MirrorOn을 Ollama 클라이언트로 쓰면 매월 LLM에 지불하는 비용을 아낄수 있습니다.
RAG – Retrieval-Augmented Generation
검색증강생성(RAG)는 애플리케이션 개발자의 입장에서는 향후 필수적으로 갖추어야 하는 기능이 될것같습니다. MML이 모든것을 다 알수없지만 사용자의 요구사항은 다양하고 거기에 맞추는 방법이 RAG입니다.
MirrorOn V0.1.0에서는 기본적인 기능을 만들어 봤습니다. 현재는 PDF 문서를 업로드 하고 요약, 검색하는 정도입니다만 추후 벡터화등의 기능을 추가할 예정입니다.
그리고 이미지를 업로드 해서 내용에 대한 질문을 하거나, LLM에게 인스트력션을 제공하는 등의 LLM을 사용하기 위한 특별한 기능들이 있습니다. 상세한 기능은 링크를 참고 하세요. 영어와 일본어도 지원합니다.
기능 설명
https://github.com/bipark/MirrorOn
다운로드
현재는 Mac 버전만 존재 합니다. 맥앱스토어에 업로드 하기위해 몇주를 시도했지만, API key를 입력하는 기능 문제로 애플에서 승인을 보류하고 있어서 Git Release에서 다운 받도록 업로드 했습니다. 추후 애플의 승인이 있으면 앱스토어 에서도 볼수 있기를 바랍니다. 원도우즈용 버전도 만들고 있습니다.
맥용 다운로드 링크
https://github.com/bipark/MirrorOn/releases/tag/MirrorOn
2024,7,13 Billy