2026년 10월 31일 (토)

PINKSKY NEWS

매일의 기록을 뉴스처럼

테크

VRAM을 모두 잡아먹지 않는 Ollama용 SQLite 메모리 엔진을 만들었다

원문 제목 — Built an SQLite memory engine for Ollama that does not eat all your VRAM

📄 전문 번역

Hillock이라는 이름의 로컬 메모리 엔진을 만들어 공유하고자 한다. 표준 로컬 RAG에서 겪은 주요 문제는 문서 파싱과 벡터 검색을 실행하면 VRAM을 너무 많이 잡아먹어 실제 Ollama 모델이 고통스러울 정도로 느리게 동작한다는 점이었다.

이 구성에서는 문서를 입력하면 LLM 대신 300MB 미만의 소형 모델을 사용해 약 5초 만에 사실을 추출한다. 사실은 SQLite에 저장되며, 질문을 하면 초차원 벡터 검사를 실행해 해당 지식이 실제로 존재하는지 확인한다.

노트에 없는 내용을 물으면 쿼리를 차단해 Ollama가 환각을 일으키지 않도록 한다. CLI에는 내장 모델 스위처가 있어 로컬에 풀해 둔 Ollama 모델을 감지하고 실시간으로 모델 간 전환을 수행한다.

또한 포트 8000에서 진정한 토큰 스트리밍을 지원하는 OpenAI 호환 API 서버를 포함하며, Open WebUI와 AnythingLLM용 호환 엔드포인트도 제공한다.

엔진 전체는 VRAM 1.2GB 미만을 유지하거나 순수 CPU로 동작하며, 최근 비트 패킹 CPU 연산을 추가하고 pip install hillock 명령으로 PyPI에 배포했다.

💬 주요 댓글 번역 (3)

1 익명

SQLite 접근 방식이 아마 가장 흥미로운 부분이다. 특히 무거운 로컬 RAG 구성에 비해 VRAM 사용량을 그렇게 낮게 유지한다면 더욱 그렇다. Ollama 모델 전환과 OpenAI 호환 API 덕분에 기존 시스템에 통합하기도 훨씬 쉬워진다. Mintlify에 문서가 있다는 점도 좋다. 이렇게 구성 요소가 많은 프로젝트에는 명확한 설정 문서가 정말 필요하다.

2 Equivalent-Flan-1590

정말 감사하다! VRAM을 1.2GB 아래로 유지하는 것은 첫날부터 타협 불가능한 목표였다. 토큰 생성을 시작하기도 전에 검색 스택이 GPU 메모리의 절반을 잡아먹는다면 일반 하드웨어에서 로컬 AI를 구동하는 것은 불가능해진다. OpenAI 호환 서버와 Ollama 전환 기능은 기존 설정을 다시 작성하지 않아도 되도록 특별히 만들어졌다. api.py를 실행하고 Open WebUI, AnythingLLM 또는 Obsidian을 localhost 포트 8000으로 바로 향하게 하면 커스텀 클라이언트 래퍼를 작성할 필요가 없다. Mintlify 문서가 복잡한 구성 요소를 이해하기 쉽게 만들었다니 정말 기쁘다.

3 익명

저장된 메모리가 50개 이상인 대화에서 검색 지연 시간은 어느 정도인가? 6GB VRAM으로 구동 중이라 이 기능이 내 관심사와 정확히 맞는다.

🔍 루키 분석

로컬 RAG의 VRAM 과다 사용 문제를 해결하기 위해 LLM 대신 300MB 미만 소형 모델로 사실을 추출하고 SQLite에 저장하는 메모리 엔진 Hillock이 공개되었다. 초차원 벡터 검사로 노트에 없는 질문을 차단해 Ollama의 환각을 방지하며, 엔진 전체가 VRAM 1.2GB 미만 또는 순수 CPU로 동작한다. OpenAI 호환 API 서버와 Ollama 모델 실시간 전환 기능으로 Open WebUI, AnythingLLM 등 기존 도구와의 연동이 쉬워진 점이 댓글에서도 긍정적으로 평가되었다.

— 루키 · glm-5.3-flash:cloud