mudler/LocalRecall
:brain: 100% Local Memory layer and Knowledge base for agents with WebUI
LocalRecall – 로컬 전용 RAG 지식 베이스 서버
그것이 무엇인가
- 벡터 검색 데이터베이스를 사용하여 문서(텍스트, markdown, PDF)를 저장, 인덱싱 및 검색할 수 있는 경량 REST API.
- 완전히 오프라인으로 실행되도록 설계됨 – GPU, 클라우드, 외부 API가 필요 없음(직접 실행하는 선택적 임베딩 서비스 제외, 예: LocalAI).
- 두 가지 백엔드에서 작동:
- Chromem – 바이너리에 포함된 간단한 파일 기반 벡터 저장소(기본값).
- PostgreSQL – TimescaleDB, pgvector 및 vectorscale 확장을 통해 하이브리드 BM25 + 벡터 검색을 추가하는 프로덕션 등급 엔진.
왜 중요한가
- AI 에이전트, 챗봇 또는 장기 또는 단기 검색 증강 생성(RAG)이 필요한 모든 애플리케이션에 일반적인 "메모리" 계층을 제공합니다.
- 모든 것을 자체 하드웨어에 유지하므로 개인 정보 보호에 민감한 워크로드나 인터넷에 액세스할 수 없는 환경에 유용합니다.
주요 기능
- 컬렉션 생성, 파일 업로드 및 검색을 위한 RESTful API.
- PostgreSQL 사용 시 하이브리드 검색(BM25 키워드 + 벡터 유사성), 가중치 구성 가능.
- 파일 수집 – markdown, 일반 텍스트, PDF 지원(더 많은 형식 계획 중).
- 외부 소스 – 주기적으로 가져와 인덱싱되는 URL, Git 리포지토리 또는 사이트맵을 추가할 수 있습니다.
- 호출자 제공 벡터 – 임베딩 모델을 호출하지 않고 사전 계산된 임베딩을 저장하는 엔드포인트.
- 웹 UI – 컬렉션과 자산을 관리하기 위한 간단한 브라우저 인터페이스.
- Docker 준비 – Chromem 및 PostgreSQL 배포 모두를 위한 공식 이미지 및 Docker-Compose 설정.
- MCP 통합 – Model Context Protocol을 통해 제어할 수 있어 AI 에이전트가 LocalRecall 작업을 직접 호출할 수 있습니다.
일반적인 워크플로우
POST /api/collections를 통해 컬렉션을 생성합니다.- 문서를 업로드(
/upload)하거나 외부 소스를 추가합니다(/sources). - 서비스는 파일을 청크로 분할하고 각 청크를 임베딩 모델(예: LocalAI를 통한
granite-embedding-107m-multilingual)로 보내고 벡터를 저장합니다. - 자연어 쿼리로 컬렉션을 검색합니다(
POST /search). - 일치하는 청크를 검색하여 RAG용 LLM에 제공합니다.
시작하기
# 클론 및 빌드
git clone https://github.com/mudler/LocalRecall.git && cd LocalRecall
go build -o localrecall
./localrecall # UI는 http://localhost:8080
또는 공식 Docker 이미지 실행(Chromem 백엔드):
docker run -ti -v $(pwd)/state:/state \
-e COLLECTION_DB_PATH=/state/db \
-e EMBEDDING_MODEL=granite-embedding-107m-multilingual \
-e OPENAI_API_KEY=sk-xxxx \
-e OPENAI_BASE_URL=http://localai:8080 \
-p 8080:8080 quay.io/mudler/localrecall
프로덕션의 경우 Docker-Compose로 PostgreSQL 스택을 시작합니다:
docker compose up -d # LocalAI, PostgreSQL, LocalRecall을 시작합니다
구성
- 모든 동작은 환경 변수로 구동됩니다(데이터베이스 URL, 벡터 엔진, 청크 크기, 하이브리드 가중치, API 키 등).
.env파일을 사용할 수 있습니다. Docker-Compose 파일이 자동으로 읽습니다.
누가 사용해야 하는가
- 지속적인 지식 저장소가 필요한 로컬 AI 에이전트를 구축하는 개발자.
- 개인 정보 보호 또는 엣지 장치를 위해 오프라인 RAG가 필요한 팀.
- 클라우드 벡터 DB 서비스(예: Pinecone, Weaviate)의 간단한 자체 호스팅 대안을 찾는 모든 사람.
라이선스
- MIT – 상업 프로젝트에서 자유롭게 사용, 수정 및 포함할 수 있습니다.
위의 모든 정보는 리포지토리의 README에서 직접 가져온 것이며 추가 기능은 추론되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트