mudler/LocalRecall

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

LocalRecall – ローカルのみの RAG ナレッジベースサーバー

それは何か

  • ベクトル検索データベースを使用してドキュメント(テキスト、markdown、PDF)を保存、インデックス化、取得できる軽量 REST API。
  • 完全にオフラインで動作するように設計されています – GPU、クラウド、外部 API は不要です(自分で実行するオプションの埋め込みサービスを除く、例:LocalAI)。
  • 2 つのバックエンドで動作します:
    1. Chromem – バイナリに同梱されるシンプルなファイルベースのベクトルストア(デフォルト)。
    2. PostgreSQL – TimescaleDB、pgvector、vectorscale 拡張機能を介してハイブリッド BM25 + ベクトル検索を追加する本番グレードのエンジン。

なぜ重要なのか

  • AI エージェント、チャットボット、または長期的または短期的な検索拡張生成(RAG)を必要とするあらゆるアプリケーションに、汎用的な「メモリ」レイヤーを提供します。
  • すべてを自分のハードウェアに保持するため、プライバシーに敏感なワークロードやインターネットにアクセスできない環境に役立ちます。

主な機能

  • コレクションの作成、ファイルのアップロード、検索のための RESTful API。
  • PostgreSQL 使用時の ハイブリッド検索(BM25 キーワード + ベクトル類似性)、重み付けは設定可能。
  • ファイル取り込み – markdown、プレーンテキスト、PDF をサポート(さらに多くの形式を計画中)。
  • 外部ソース – 定期的に取得およびインデックス化される URL、Git リポジトリ、サイトマップを追加できます。
  • 呼び出し元提供ベクトル – 埋め込みモデルを呼び出さずに事前計算された埋め込みを保存するエンドポイント。
  • Web 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 から直接取得したものであり、追加の機能は推測されていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト