RagIndex는 임베딩을 만들지 않고도 브라우저에서 문서를 찾아 AI에 전달하는 검색 증강 생성(RAG) 앱이다. 문서 색인과 문맥 구성은 사용자 컴퓨터에서 처리한다.
RagIndex 0.2.3은 서버 설치 없이 브라우저에서 문서를 색인하고, 연결한 AI 서비스에 질문할 수 있게 한다. 파일이 외부로 전송되지 않는 구조를 원하는 사람이나 백엔드를 운영하지 않고 문서 기반 질의응답을 써 보려는 사람에게 맞는다.
RAG는 어떤 방식인가?
RAG는 질문과 관련된 문서 내용을 찾아 AI가 답변을 만들 때 함께 제공하는 방식이다. 책에서 필요한 쪽을 찾아 메모해 두는 일을 떠올리면 쉽다. RagIndex는 문서에서 관련 내용을 찾고, 그 내용을 AI에 전달한다.
문서를 어떻게 찾고 대화하나?
RagIndex는 문서를 한 문장씩 나눈 작은 조각(Child Chunks)으로 색인하고, 검색 결과로는 문단 전체(Parent Chunks)를 AI에 보낸다. 검색에는 BM25라는 어휘 기반 방식을 사용하며, Lunr.js로 브라우저에서 색인을 만든다. 임베딩은 사용하지 않는다.
BM25 검색 뒤에는 모델이 후보의 관련성을 0~5점으로 평가해 순서를 다시 매긴다. 제작자 설명에 따르면 이 재정렬은 동의어나 바꿔 쓴 표현이 포함된 후보를 올리고, 단어만 겹치는 오탐 후보를 내린다. 색인은 바꾸지 않는다.
사용 흐름은 세 단계다.
- PDF, TXT, DOCX 문서를 불러온 뒤 (1) 버튼으로 지식 기반을 만든다.
- 질문을 입력하고 (2) 버튼을 누르면 관련 조각을 찾아 AI에 질의한다.
- (3) 버튼으로 대화를 이어가면 AI가 이전 대화 기록을 고려해 답한다.
모델 관리 메뉴에서는 기본 모델 설정을 되돌리거나, API 키를 이용해 제공업체의 모델을 찾고 시험할 수 있다. 모델 갱신은 점수 6점 이상인 모델을 시험한 뒤 선택 화면을 연다. 선택 화면에는 내려받아 시험한 모델만 표시된다. 저장은 기존 선택을 바꾸고, 추가는 기존 선택에 합친다. 모델 시험은 선택한 제공업체의 모델에 프롬프트를 보내고 결과를 요약한다. 처리나 검색 중에는 STOP 아이콘으로 작업을 중단할 수 있다.
실행하려면 무엇이 필요한가?
앱은 정적 웹 파일로 제공되므로 Webpack이나 Vite 같은 복잡한 빌드 도구와 백엔드가 필요하지 않다. 프로젝트 루트에서 정적 웹 서버를 실행해야 한다. 예시는 다음과 같다.
python3 -m http.server
npx http-server .
코드는 GitHub 저장소에서 내려받거나 ZIP으로 받을 수 있다.
git clone https://github.com/uaorg/ragindex.git
프로젝트 루트의 index.html을 열면 static/ragindex.html로 이동한다. 이 소개 페이지에는 앱인 static/index.html로 가는 링크가 있다.
API 키는 사이드 메뉴의 “API Keys Default”에서 로컬 파일에 있는 시험용 키를 불러오거나, “Gestisci API Key”에서 직접 입력한다. 지원 제공업체는 Gemini, Mistral, Groq, OpenRouter, HuggingFace다. 키는 브라우저의 IndexedDB에 저장되며, AI 요청은 중간 서버 없이 사용자 컴퓨터에서 제공업체로 직접 전송된다. 따라서 문서가 로컬에 남더라도 AI 요청에는 외부 제공업체와의 통신이 필요하다.
코드는 화면과 이벤트를 다루는 static/js/app_ui.js, RAG 흐름을 조정하는 static/js/rag_engine.js, 백그라운드 처리를 맡는 static/js/rag_worker.js 등으로 나뉜다. AI 제공업체 연결 코드는 static/js/llmclient/에 있으며, 로컬 데이터베이스 저장에는 Dexie.js를 사용한다.
제공업체 시험 페이지는 브라우저에서 static/test_providers.html을 열거나 메뉴의 “Test Provider”를 선택해 실행한다. Node.js 시험은 test/test_providers.js가 수행하며 test/providers_report.html에 HTML 보고서를 만든다. 두 방식 모두 static/data/api_x.json에 키가 설정된 제공업체와 모델을 시험한다.
써 보려면 정적 서버로 프로젝트 루트를 제공하고, 사용할 제공업체의 API 키와 모델 선택을 확인해야 한다. 원문은 시험용 기본 키의 유효 범위나 비용, 브라우저·파일 크기별 지원 한계를 밝히지 않는다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요