RLama - Ollama를 활용한 오픈 소스 DocumentAI
(rlama.dev)- 로컬 Ollama 모델과 연결하여 사용하는 문서를 위한 AI기반 질의응답 도구
- 문서화 요구 사항에 맞춰 RAG(Retrieval-Augmented Generation) 시스템을 만들고, 관리하고, 상호 작용할 수 있음
- macOS, Linux, Windows에서 사용 가능
- 문서 폴더 색인: 지능적인 검색 및 쿼리를 위해 문서 폴더를 색인화 가능하며, 텍스트, 코드, PDF, DOCX 등 다양한 문서 형식을 지원함
- 로컬 처리: Ollama 모델을 사용하여 모든 데이터를 로컬에서 처리하며, 데이터가 외부로 유출되지 않음
- 상호작용 RAG 세션: 문서 지식 기반을 쿼리하기 위한 상호작용 세션을 생성할 수 있음.
- 관리의 용이성 : RAG 시스템을 생성, 목록화, 삭제하는 간단한 명령어 제공
- 개발자 친화적: 개발자와 기술 사용자들을 위해 Go 언어로 설계됨
Hacker News 의견
-
이 시스템은 문서를 청크로 나누지 않고 전체 문서를 Ollama에 임베딩 요청으로 보냄. 따라서 문서가 작을 때만 유용함
- bge-m3 임베딩 모델은 8192 토큰의 시퀀스 길이를 가짐. rlama는 책 전체를 임베딩하려 하지만 Ollama는 처음 몇 페이지만 임베딩 요청에 넣을 수 있음
- 검색 시 관련 구절 대신 전체 문서를 검색하고, 이를 1000자까지 잘라냄. 결과적으로 "Buddha"라는 단어가 문서에 44,121번 등장하지만 모델은 "Buddha에 대한 직접적인 언급이 없다"고 응답함
- 더 나은 해결책은 문서를 임베딩 모델의 컨텍스트에 맞게 청크로 나누고, 메타데이터와 함께 해당 청크를 검색하는 것임
-
사용자에게 검색 결과를 보여주는 것을 추천함. 벡터 검색 엔진만으로도 매우 유용함
- 프롬프트를 변경하여 참조를 제공하도록 함 (예: 페이지 번호와 같은 청크 메타데이터 기반)
-
프로젝트에 대한 칭찬과 함께 몇 가지 빠른 노트
- 파일 시스템을 사용하는 앱에 대한 주요 우려 사항
- 누가 읽을 수 있는지, 앱이 데이터를 공유하는지
- 인터넷 접근을 차단하는 하드 블록이 필요함. rlama가 여전히 제대로 작동하는지
- 앱이 파일을 수정/삭제할 수 있는지
- 전체 파일 시스템 접근이 아닌 읽기 권한만 허용해야 함
- 파일 시스템을 사용하는 앱에 대한 주요 우려 사항
-
코드 노트: .ts (typescript)가 목록에 없는 것이 놀라움
-
웹사이트가 매우 깔끔함. 처음부터 코딩한 것인지 템플릿 기반인지 궁금함
-
자체 RAG를 만드는 것이 매우 쉬움. Ollama에 빠른 시작 튜토리얼이 있음. 필요에 맞게 프로세스를 조정할 수 있음
-
이러한 도구의 유용성에 대해 회의적임. 환각 문제로 인해 얼마나 신뢰할 수 있는지, 출처를 얼마나 잘 인용하는지 궁금함
- 데이터를 정확하게 얻는 것이 가장 중요함. AI 도구를 코딩에 가끔 사용하지만, 다른 용도로는 결과에 대해 확신할 수 없음
-
이 프로젝트의 아키텍처/기술 스택에 대한 정보가 없음. github readme나 웹사이트에도 없음
- Go로 작성되어 주말에 훑어볼 수 있을 만큼 작다는 점이 마음에 듦. 하지만 llm 생태계 도구에 시간을 낭비한 경험이 있어 기본적인 정보를 보지 않고 코드를 탐색하는 것을 주저함
- 프로젝트의 아키텍처에 대한 고수준 개요를 제공하면 더 많은 사람들이 도구를 채택할 것임
-
아마추어 역사가로서 아카이브에서 문서를 스캔하여 JPG 파일로 저장함. 이 지식 집합을 이해하는 가장 좋은 방법은 무엇인지 궁금함
- 현재 Gemini로 자체 제작 중이지만, RAG 시스템을 처음부터 구축하지 않고 해결할 수 있는 방법이 있는지 확신이 없음
-
Ollama의 엔진인 llama.cpp와 함께 작동할 수 있는지 궁금함
- 보통 llama.cpp를 소스에서 빌드하고 Huggingface에서 양자화된 모델을 다운로드함. Ollama는 사용한 적이 없음
-
API 인터페이스가 있어 다른 시스템에 통합할 수 있으면 좋겠음
-
멋진 프로젝트임. 어떤 라이선스로 출시되었는지 궁금함. 문서화되어 있지 않음
-
RAG의 성능이 궁금함. 벡터 데이터베이스만 던져서는 유용하지 않음