1P by GN⁺ | ★ favorite | 댓글 1개
  • RLAMA는 로컬 모델로 문서를 질의하는 RAG 시스템, 역할 기반 에이전트, 멀티 에이전트 크루를 만들고 운영하는 플랫폼임
  • 개발은 현재 정규직 업무와 대학 학업 때문에 일시 중단 상태이며, 일정이 허락되면 재개될 예정임
  • 문서 RAG는 .txt, .md, .pdf 등 여러 형식을 처리하고, 시맨틱 청킹과 로컬 저장·처리로 외부 전송 없이 동작함
  • 에이전트는 researcher, writer, coder, analyst 같은 역할을 맡고 RAG 검색, 코드 실행, 웹 검색 도구로 순차·병렬·계층형 워크플로를 구성함
  • CLI, 시각적 RAG 빌더, HTTP API 서버, macOS·Linux·Windows 지원, Ollama 외 OpenAI 모델 지원으로 로컬 문서 분석과 자동화에 연결하기 쉬움

로컬 문서 AI 플랫폼으로서의 RLAMA

  • RLAMA는 RAG 시스템과 지능형 에이전트를 결합해 문서 분석부터 멀티 에이전트 협업까지 자동화 워크플로를 만들기 위한 플랫폼임
  • 로컬 모델 기반 AI 솔루션을 만들고 배포·관리하는 흐름을 목표로 함
  • 현재 버전 예시는 RLAMA v0.1.29
  • 프로젝트는 현재 일시 중단 상태임
    • 정규직 업무와 대학 학업 때문에 활발한 개발에 시간을 쓰기 어려움
    • 일정이 허락되면 개발을 재개할 계획임
  • macOS, Linux, Windows에서 사용할 수 있음

문서 기반 RAG 생성과 관리

  • RLAMA는 문서 기반 RAG(검색 증강 생성) 시스템을 생성·관리하고 대화형으로 사용할 수 있음
  • 지원 기능은 다음과 같음
    • .txt, .md, .pdf 등 여러 문서 형식 처리
    • 고급 시맨틱 청킹 전략
    • 외부 전송 없는 로컬 저장과 로컬 처리
  • CLI에서는 문서 폴더를 인덱싱해 RAG 시스템을 만드는 흐름을 제공함
    • rlama rag llama3 documentation ./docs
    • 문서 처리 후 임베딩을 생성하고 documentation RAG 시스템을 만듦
  • 문서 예시에는 installation.md, commands.md, troubleshooting.pdf, API 문서, 사용 예제가 포함됨

역할 기반 에이전트와 크루 오케스트레이션

  • RLAMA는 특정 역할을 가진 AI 에이전트를 만들고, 여러 에이전트가 크루로 협업하게 할 수 있음
  • 에이전트 역할 예시는 다음과 같음
    • researcher
    • writer
    • coder
    • analyst
  • 에이전트 도구에는 RAG 검색, 코드 실행, 웹 검색이 포함됨
  • 멀티 에이전트 오케스트레이션은 복잡한 자동화 작업을 여러 에이전트가 나눠 처리하게 함
    • 순차 워크플로로 단계별 처리 가능
    • 병렬 실행으로 동시 작업 처리 가능
    • 관리자 에이전트를 통한 계층형 위임 가능
  • 예시 명령은 rlama agent create researcher --role="Data Analyst"rlama crew create research-team researcher writer

시각적 RAG 빌더와 통합 방식

  • 시각적 RAG 빌더는 명령어 없이 RAG 시스템을 만들 수 있는 인터페이스임
  • 제공되는 설정 항목은 다음과 같음
    • 드래그 앤 드롭 문서 업로드
    • 고급 설정을 단순 컨트롤로 구성
    • 설정 저장과 공유
  • 예시 설정에는 RAG 이름, 모델, 소스 유형, 로컬 폴더 경로, 제외 디렉터리, 제외 확장자, 처리 확장자, 청킹 전략, 청크 크기, 청크 오버랩이 포함됨
  • 모델 선택에는 Ollama, OpenAI, Hugging Face 모델이 제시됨
  • 통합 기능은 HTTP API 서버와 크로스 플랫폼 지원을 포함함

활용하기 좋은 작업

  • 기술 문서 질의: 프로젝트 문서, 매뉴얼, 명세를 RAG 시스템으로 검색하고 질문함
  • 프라이빗 지식 베이스: 민감한 문서를 로컬 처리 기반 RAG 시스템으로 구성함
  • 연구 보조: AI 에이전트가 연구 논문을 질의하고 데이터를 분석하며 인사이트를 생성함
  • AI 에이전트 워크플로: 코딩, 글쓰기, 분석 등 작업에 특화된 에이전트를 생성함
  • 콘텐츠 제작 크루: 콘텐츠 생성, 리뷰, 퍼블리싱 흐름에 여러 에이전트를 오케스트레이션함
  • 자동화 워크플로: 에이전트가 순차 또는 병렬로 동작하는 복잡한 다단계 흐름을 만듦

CLI 명령과 지원 파일 형식

  • 주요 명령은 RAG, 에이전트, 크루, 실행, 목록 조회, 감시, API 서버, 업데이트, 버전 확인을 다룸
  • 대표 명령 예시는 다음과 같음
    • rlama rag [model] [rag-name] [folder-path]: 문서에서 새 RAG 시스템 생성
    • rlama agent [create|run|list] [agent-name] [options]: 특정 역할의 에이전트 생성·실행·목록 조회
    • rlama crew [create|run|list] [crew-name] [agents...]: 멀티 에이전트 크루 생성과 실행
    • rlama run [rag-name|agent-name|crew-name]: RAG 시스템, 에이전트, 크루와 대화형 세션 시작
    • rlama api [--port PORT]: API 서버 시작
  • 디렉터리 감시 기능은 RAG 시스템에 대해 새 파일을 확인하거나 감시를 끌 수 있음
    • rlama watch
    • rlama watch-off
    • rlama check-watched
  • 지원 파일 형식은 텍스트, 코드, 문서 형식을 포함함
    • 텍스트: .txt, .md, .html, .json, .csv, .yaml, .yml, .xml, .org
    • 코드: .go, .py, .js, .java, .c, .cpp, .h, .rb, .php, .rs, .swift, .kt, .ts, .svelte
    • 문서: .pdf, .docx, .doc, .rtf, .odt, .pptx, .ppt, .xlsx, .xls, .epub

댓글과 토론

Hacker News 의견들
  • 이 도구는 청킹을 하지 않는 것처럼 보임. 제 경우에는 문서 전체, 즉 책 한 권 전체를 Ollama 임베딩 요청에 그대로 넣어서, 문서가 모두 작은 경우에만 유용함
    여기서 쓰인 bge-m3 임베딩 모델의 시퀀스 길이는 8192 토큰이라 rlama가 책 전체를 임베딩하려 해도 Ollama는 앞의 몇 페이지만 요청에 넣을 수 있음
    검색할 때도 관련 구절이 아니라 문서 전체를 가져오고, 그걸 다시 앞 1000자로 잘라서 목차의 첫 반 페이지 정도만 남김
    그 결과 “제공된 문서에는 Buddha에 대한 직접 언급이 없습니다”라고 답함. 인덱싱한 문서에는 Buddha라는 단어가 44,121번 등장함
    더 나은 방식은 다른 RAG들이 하는 것처럼 문서를 임베딩 모델 문맥에 실제로 들어갈 수 있는 조각으로 나누고, 그 조각을 가져오는 것임. 가능하면 문서의 어느 부분인지 나타내는 메타데이터도 붙어야 함
    검색 결과를 사용자에게 보여주는 것도 추천함. AI 요약이나 질의응답이 없어도 벡터 검색 엔진만으로도 매우 유용한 기능이고, 프롬프트도 페이지 번호 같은 청크 메타데이터 기반의 참고 출처를 제공하도록 바꾸면 좋겠음

    • 큰 문서를 작은 조각으로 나누고 RAG에서 전체 문서에 접근할 수 있도록 겹침 있는 청킹을 막 구현했음. 지금은 테스트 단계이고, 과정을 최적화하려고 여러 모델로 실험해보고 싶음
      모든 것이 제대로 동작한다고 확인되면 PR을 main 브랜치에 병합할 수 있고, 사용자는 rlama update만 하면 됨
    • Ollama 같은 도구로 로컬 모델을 돌릴 때 가장 어려운 부분은 긴 문맥 프롬프트인 것 같음
      짧은 문장 프롬프트에는 아주 빠르게 답하는 모델도 입력이 크게 길어지면 RAM과 CPU/GPU 시간이 훨씬 더 많이 필요함. 이 때문에 개인적으로 활용도가 크게 떨어지고 있음
    • 책에는 저자가 제공한 논리적 청킹인 장 단위 구조가 있음. 더 작은 절을 추가로 나누거나 요약한 뒤 계층적 검색을 할 수 있음
      경험상 단순 청킹은 꽤 별로였음
    • 이걸 제대로 해주는 유료 서비스의 표준 선택지는 무엇임?
    • 괜찮은 RAG 구현에서는 청킹이 핵심인 듯함. 검색 전략이 최종 답변 품질에 얼마나 큰 영향을 주는지 흥미로움
      청킹이 있더라도 청크 겹침이나 똑똑한 메타데이터가 결과를 크게 개선할 수 있다는 얘기를 본 적 있음. AI 요약과 함께 검색 결과를 사용자에게 보여주자는 점도 아주 좋음
  • 정말 좋은 프로젝트고 멋진 작업임. 최종 사용자 입장에서 파일 시스템을 쓰는 앱에서 우선 걱정되는 부분이 있음
    누가 파일을 읽을 수 있는지, 앱이 데이터를 공유하는지 궁금함. 개인정보 처리방침이 아니라 바이너리/앱의 인터넷 접근을 하드 차단해도 rlama가 제대로 동작하는지가 중요함
    앱이 파일을 수정하거나 삭제할 수 있는지도 궁금함. 전체 파일 시스템 접근이 아니라 읽기 권한만 갖도록 보장돼야 함
    코드 측면에서는 .ts TypeScript가 목록에 없는 게 의외임
    웹사이트가 아주 깔끔한데, 직접 처음부터 만들었는지 템플릿 기반인지 궁금함

    • Ollama를 Docker 컨테이너에 넣고 처음에는 인터넷 접근 없이 실행했으며, 이후에는 opensnitch로 감시했음. rlama도 다른 컨테이너에 넣고 같은 방식으로 할 수 있을 것 같음
      다만 이 정도로는 충분히 안전하지 않은 위협 모델도 있음
  • 이걸 만들 때 쓴 아키텍처와 기술 스택이 무엇인지 궁금함. GitHub README나 웹사이트에서 찾지 못했음
    Go로 작성됐고 주말에 훑어볼 만큼 작다는 점은 마음에 들지만, LLM 생태계 도구 수십 개에 시간을 날린 뒤로는 이런 기본 정보가 미리 공개되지 않으면 직접 코드를 살펴보는 것도 조심스러움
    프로젝트 아키텍처의 상위 수준 개요를, 가능하면 시각적으로 제공하면 더 많은 사람이 도구를 채택할 것 같음

    • 맞음. 코드, 아키텍처, 전체 스택에 대한 완전한 문서화를 계획하고 있었음. 이제 동작하는 버전을 배포했으니 곧 웹사이트에 아키텍처와 전체 코드 시각화가 포함된 문서를 올릴 예정임
      현재 사용한 스택은 다음과 같음. 핵심 언어는 성능, 크로스플랫폼 호환성, 단일 바이너리 배포 때문에 Go를 선택함. CLI 프레임워크는 Cobra, LLM 통합은 임베딩과 완성을 위한 Ollama API, 저장소는 단순성과 이식성을 위한 로컬 파일 시스템 기반 JSON 파일, 벡터 검색은 임베딩 검색을 위한 코사인 유사도 자체 구현임
  • 이런 도구들은 환각 때문에 유용성에 회의적임. 이 도구는 비슷한 다른 도구와 비교해 얼마나 신뢰할 수 있음? 출처 인용은 얼마나 잘함?
    내 노트에서 데이터를 정확히 가져오는 게 가장 중요함. 코딩에는 가끔 AI 도구를 쓰지만 직접 쉽게 검증할 수 있어서이고, 그 외에는 출력에 확신을 갖기 어려움

    • OP 도구는 모르겠지만 open webui에는 LLM과 통합할 수 있는 자체 문서 데이터베이스가 있고, 질문에 답할 때 항상 검증할 수 있도록 링크가 달린 출처를 인용함
  • 훌륭함. 다른 시스템에 통합할 수 있도록 API 인터페이스가 있으면 좋겠음

    • API 인터페이스 추가를 생각해본 적 있음. 추가하면 좋을 것들 목록에 있음. 지금은 사람들이 무엇을 좋아하고 싫어하는지 피드백을 모으는 중임
  • Ollama 뒤에서 쓰이는 엔진이니까 llama.cpp와도 동작할 수 있음?
    보통 llama.cpp를 소스에서 빌드하고 Huggingface에서 양자화된 GGUF 모델을 받아 쓰는데, 아직 Ollama는 써보지 않았음

    • 지금은 Ollama에서만 동작하게 만들었지만, 직접 llama.cpp에서 돌아가게 하는 것도 이상적일 수 있음. 참고하겠음
  • 멋진 프로젝트임. 어떤 라이선스로 배포되는지 궁금함. 문서에서 보이지 않음

    • 방금 Apache License를 추가했음
  • 그냥 직접 RAG를 만들면 됨. 아주 쉽고 Ollama 페이지에도 빠른 시작 튜토리얼이 있음. 그러면 필요에 맞게 과정도 세밀하게 조정할 수 있음

  • 이건 꽤 멋지고 내가 궁금해하던 것과 거의 같음. 가능하다는 건 당연했지만 구현된 걸 보니 좋고, 직접 써보는 게 기대됨
    지금 AI만으로 도구를 만들고 있고 명세와 설계를 작업해왔음. Claude와 Grok은 사람이 여기저기 맥락을 뛰어넘어 다루는 방식을 제대로 따라오지 못한다는 게 분명함
    이런 로컬 문서 저장소를 만들고 질의응답할 수 있으면 꽤 유용할 것 같음

  • 내가 아마추어 역사가라고 해보자. 아카이브에 가서 편지, 도표, 지도 같은 문서를 많이 스캔했고, 전부 JPG 파일로 저장돼 있음
    이런 지식 말뭉치를 이해하는 가장 좋은 방법은 무엇임? Rlama가 맞는지, 아니면 다른 게 나은지 궁금함
    지금은 Gemini로 직접 만들어보는 중이지만, RAG 시스템을 처음부터 만들지 않아도 되게 해주는 무언가가 있는지 잘 모르겠음