SQLite를 사용한 자체 호스팅 메모리 엔진 구축
요약
본 글은 로컬 환경에서 RAG 시스템 구축 시 발생하는 메모리 및 성능 문제를 해결하기 위해 'Hillock'이라는 오픈 소스 메모리 엔진을 소개합니다. Hillock은 벡터 데이터베이스를 SQLite 지식 그래프와 고차원 벡터 수학으로 대체하여, LLM 없이도 빠르고 효율적인 자체 호스팅 로컬 AI 구동 환경을 제공합니다.
핵심 포인트
- SQLite 기반의 저전력/로컬 AI 메모리 엔진 'Hillock' 소개
- 벡터 DB 대신 관계형 트리플과 고차원 벡터를 사용해 메모리 절감
- 수집 과정은 LLM 없이 5초 내외, 질의 응답 속도는 CPU에서 0.01ms 이내 구현
- VRAM 1.2GB 미만 또는 순수 CPU 환경에서도 구동 가능하여 접근성 높음
공개 고지: 저는 이 오픈 소스 프로젝트의 제작자입니다. 만약 가정용 서버, 미니 PC 또는 저전력 노드에서 로컬 AI를 실행한다면, 표준 RAG(Retrieval-Augmented Generation) 설정은 보통 시작조차 어렵습니다. 8B 모델과 함께 Milvus, Qdrant 또는 Chroma를 구동하여 텍스트 청킹 및 파싱만 하는 과정에서 실제 추론 모델이 로드되기 전에 수 기가바이트의 메모리를 소모합니다. 게다가 클라우드 전화 홈 API는 데이터를 사적으로 자체 호스팅하려는 목적 자체를 무력화시킵니다. 저는 이러한 문제를 해결하기 위해 Hillock을 만들었습니다. 이것은 AGPL-3.0 하에 있는 100% 로컬 오픈 소스 메모리 엔진으로, 벡터 데이터베이스를 SQLite 지식 그래프와 고차원 벡터 수학으로 대체합니다. 수집(Ingestion) 과정은 LLM 없이 약 5초 만에 진행되며, 300MB 미만의 작은 전문 모델을 사용하여 사실들을 쓰기 전 로그(write ahead logging)가 적용된 관계형 트리플로 저장합니다. 질의할 때, 10,000 차원의 고차원 벡터 게이트는 비트 패킹 SIMD 수학을 사용하여 CPU에서 0.01밀리초 이내에 실행됩니다. 만약 저장된 데이터에 답변이 포함되어 있지 않다면, 모델이 환각(hallucinate)을 일으키기 전에 프롬프트를 차단합니다. 전체 메모리 사용량은 VRAM 1.2 GB 미만이거나 순수 CPU에서 작동합니다. Open WebUI나 AnythingLLM 같은 자체 호스팅 프런트엔드들이 포트 8000의 OpenAI와 호환되는 API 서버를 직접 가리킬 수 있도록 포함되어 있습니다. 코드는 GitHub의 https://github.com/roandejager/Hillock에 있으며, 인터랙티브 문서는 https://hillock.mintlify.site/에 있고, Discord는 https://discord.com/invite/BGUPNBcVdp입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/SelfHosted (AI filter)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기