Rust로 LLM을 위한 로컬 우선 AI 메모리 레이어를 구축했습니다 (클라우드 없음, API 키 없음)
요약
데이터 보안을 위해 클라우드 없이 로컬에서 작동하는 AI 메모리 레이어인 mnemo를 소개합니다. Rust로 구축된 이 도구는 Ollama를 활용해 지식 그래프를 생성하고 컨텍스트를 자동으로 관리합니다.
핵심 포인트
- Rust 기반의 고성능 로컬 사이드카 프로세스
- Ollama를 활용한 완전한 로컬 LLM 및 데이터 프라이버시 보장
- SQLite와 petgraph를 이용한 지속 가능한 지식 그래프 구축
- 밀리초 미만의 빠른 개체 조회 및 검색 성능
모든 LLM 앱은 동일한 문제를 가지고 있습니다. 모델이 대화 사이에 모든 것을 잊어버린다는 점입니다. Mem0와 같은 클라우드 솔루션이 존재하지만, 이들은 데이터를 서버로 전송합니다. 저는 이를 로컬에서 해결하기 위해 mnemo를 구축했습니다.
기능
mnemo는 앱 옆에서 사이드카 (sidecar) 프로세스로 실행됩니다. 텍스트를 POST로 전송하면, 로컬 LLM (Ollama)을 사용하여 개체명 (named entities)과 관계 (relationships)를 추출하고, 지속 가능한 지식 그래프 (knowledge graph)를 구축하며, 관련 컨텍스트 (context)를 프롬프트에 자동으로 다시 주입합니다.
기술 스택
- Rust — 핵심 엔진, 4개의 크레이트 (mnemo-core, mnemo-api, mnemo-cli, mnemo-bench)
- SQLite + WAL 모드 — 재시작 후에도 유지되는 지속 가능한 저장소
- petgraph — BFS 탐색 기능이 있는 인메모리 지식 그래프 (in-memory knowledge graph)
- Axum — 어떤 앱에서도 호출할 수 있는 REST API 사이드카
- Ollama — 완전한 로컬 LLM, API 비용 제로
기본적으로 완전 무료
docker compose up -d
docker exec mnemo-ollama ollama pull llama3
curl http://localhost:8080/health
본인의 키를 직접 가져온다면 OpenAI 또는 Anthropic과도 함께 작동합니다.
Python SDK
from mnemo import MnemoClient
client = MnemoClient()
...
수치
- 122개의 Rust 테스트, 21개의 Python SDK 테스트
- 밀리초 미만의 개체 조회 (entity lookup)
- ~4ms 전체 검색 파이프라인 (retrieval pipeline) (디버그 빌드 기준)
링크
GitHub: https://github.com/zaydmulani09/mnemo
특히 검색 점수 산정 (retrieval scoring) 및 그래프 탐색 (graph traversal) 방식에 대한 피드백을 환영합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기