mudler/LocalRecall

:brain: 100% Local Memory layer and Knowledge base for agents with WebUI

LocalRecall – 로컬 전용 RAG 지식 베이스 서버

그것이 무엇인가

  • 벡터 검색 데이터베이스를 사용하여 문서(텍스트, markdown, PDF)를 저장, 인덱싱 및 검색할 수 있는 경량 REST API.
  • 완전히 오프라인으로 실행되도록 설계됨 – GPU, 클라우드, 외부 API가 필요 없음(직접 실행하는 선택적 임베딩 서비스 제외, 예: LocalAI).
  • 두 가지 백엔드에서 작동:
    1. Chromem – 바이너리에 포함된 간단한 파일 기반 벡터 저장소(기본값).
    2. 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 작업을 직접 호출할 수 있습니다.

일반적인 워크플로우

  1. POST /api/collections를 통해 컬렉션을 생성합니다.
  2. 문서를 업로드(/upload)하거나 외부 소스를 추가합니다(/sources).
  3. 서비스는 파일을 청크로 분할하고 각 청크를 임베딩 모델(예: LocalAI를 통한 granite-embedding-107m-multilingual)로 보내고 벡터를 저장합니다.
  4. 자연어 쿼리로 컬렉션을 검색합니다(POST /search).
  5. 일치하는 청크를 검색하여 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에서 직접 가져온 것이며 추가 기능은 추론되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트