mcpField
H
Holographic Memory

Holographic Memory

ローカル
holographic-memory.comメモリ・ナレッジ22今日更新

Holographic Memory について

Holographic Memoryは、エージェントやアプリの開発者向けに、文書・ベクトル・事実をローカルに保存する組み込み型Rustエンジンです。ネットワーク通信なしで検索とメモリ操作を行え、言語バインディング、HTTPサーバー、MCPサーバーを備えています。

主な機能

  1. 01全文・ベクトル・ハイブリッド検索
  2. 02記憶・想起・忘却・説明のAPI
  3. 03有効期間と会話の出典を持つ事実
  4. 04オプションのAES-256-GCM暗号化
  5. 05複数言語バインディング対応のRustエンジン

活用シーン

  1. 01エージェントへの永続的なローカルメモリの追加
  2. 02オフラインアプリでの文書とベクトルの検索
  3. 03HTTPサービスでのベクトル保存と検索
  4. 04ベクトル記号メモリと事実クエリの研究

MCP 対応

hms-mcpサーバーはstdioまたはHTTP経由で、Model Context Protocolクライアントにローカルストアを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"writerslogic-holographic-memory": {
"command": "npx",
"args": [
"-y",
"holographic-memory-mcp"
]
}
}
}
起動コマンドnpx -y holographic-memory-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmholographic-memory-mcp0.1.2
pypiholographic-memory-mcp0.1.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Holographic Memory のロゴ

Holographic Memory

エージェントやアプリ向けのローカルメモリです。全文検索とベクトル検索、メモリ API、ベクトル記号型のファクトストアを、ネットワーク通信を行わない、組み込み可能な 1 つの Rust エンジンにまとめています。

CI crates.io docs.rs PyPI npm MCP on npm MSRV 1.89 OpenSSF Scorecard OpenSSF Best Practices License: Apache-2.0

Bemula forgetting score, DeepSeek backbone LongMemEval dev, gpt-4o reader and judge VIBE llama-128-ip max recall@100, one thread SIFT-1M QPS at recall@10 0.95, one query thread, unpinned

ウェブサイト · ドキュメント · はじめに · 結果 · 「ホログラフィック」と呼ばれる理由 · 機能 · 制限事項 · 貢献


## 概要

Holographic Memory(略して HMS)は、テキスト、ベクトル、事実をマシン上のディレクトリに保存し、再び検索するための Rust ライブラリです。Node.js バインディング、C、WASM、UniFFI バインディング、Python クライアントを備えた HTTP サーバー、MCP サーバーが付属しています。機能を有効にして要求しない限り、サービスへの呼び出し、テレメトリー、モデルのダウンロードは発生しません。

機能提供内容
ドキュメント検索チャンク分割、ブロック化された転置リストを用いた語幹処理付き BM25、ブール検索とフレーズ検索、提供された埋め込みによるハイブリッド統合、メタデータフィルター、バイトオフセット
ベクトルインデックスメモリマップされた頂点ファイルを備えたグラフインデックス、挿入と削除に対応する更新可能な差分、サンプルクエリで学習したオプションのクエリ対応ルーティング
メモリー API時間的な有効性と置き換えを扱う remember、recall、forget、explain。出典の来歴を保持する会話メモリー
ストレージアトミックな置き換えと削除、クラッシュセーフなジャーナルとチェックポイント、検証付き圧縮、ストアごとに 1 つの書き込み元
セキュリティオプションの AES-256-GCM 保存時暗号化、署名付き監査ログ、COSE/SCITT 来歴
ベクトル記号レイヤーバインド、バンドル、並べ替えに対応するスパースなハイパーベクトル、マルチホップクエリに対応するトリプル、Hopfield クリーンアップ

対象ユーザー

構築するもの提供内容
メモリーが必要なエージェントまたはアシスタントストアから事実を削除する忘却機能を備えたメモリー API、エディターとエージェントホスト向けの MCP サーバー
ローカル優先またはオフラインアプリサーバープロセス不要で、オプションの暗号化に対応した、1 つのディレクトリ内の組み込み検索とストレージ
ベクトル検索またはテキスト検索が必要なサービステナントとスコープ付きキーに対応する HTTP 経由の hms-server、またはプロセス内でのライブラリ利用
ベクトル記号メモリーの研究バインド/バンドル代数、意味記憶と容量の実験、およびその結果ファイル

主な結果

各行から、その結果の元となったコミット済みファイルに移動できます。ここに示すのは単一マシンで、記載のプロトコルに基づく結果であり、ご自身のデータでのテストに代わるものではありません。

結果条件ソースファイル
Bemula の忘却スコアは 0.322、公開済みの最高値は 0.310(LangMem)全分割:50 件の対話、135 件の忘却リクエスト。エージェントと判定役はいずれも、OpenRouter 経由で DeepSeek に固定した deepseek-v4-flash-0731、温度 0。判定役のスナップショットは、著者の実行メタデータから推定しています。text-embedding-3-small を使用した k=5 のハイブリッド検索。論文で公開された DeepSeek の結果と比較。同日にスイートのナイーブ RAG ベースラインを再実行した結果は 0.075。1 回の実行。bemula_v1.json
LongMemEval dev:100 問中 89.75 問正解(4 回の実行の平均、範囲は 87~93)公式の生成プロンプトと判定プロンプトを使用。リーダーと判定役には gpt-4o-2024-08-06、コンテキストには上位 10 件を使用。検索には、キャッシュ済みの Qwen3 スコアに基づく参照ターンランキングを使用しており、ネイティブな会話メモリ検索ではありません。k は dev で選定しており、ホールドアウト結果はありません。longmemeval_official_dev_summary.json
VIBE llama-128-ip:strict recall@100 は最大 0.99687、1,457 QPS公式テストクエリ、1 スレッド、クエリ対応グラフ(ef=512)。固定された RoarGraph の設定はいずれも 0.99 に達しませんでした。0.95 および 0.99 QPS では劣ります(下記参照)。query_aware_graph_v1/README.md
VIBE yi-128-ip:再現率 0.95 で 3,214 QPS、MLANN RF80 の 1,953 QPS に対して同じプロトコル。同所で測定した固定 RoarGraph および MLANN の設定のみと比較。再現率 0.99 には達しませんでした。query_aware_graph_v1/README.md
SIFT-1M:再現率@10 が 0.95 のとき 17,481 QPS、hnswlib は 7,630 QPS(2.29 倍、区間は 1.95~2.39)Core Ultra 9 185H。1 つのクライアントスレッドからクエリを 1 件ずつ送信し、プロセスは特定のコアに固定せず、インデックスは 8 スレッドで構築。Rust API 経由で計測し、hnswlib は Python バインディング経由で計測。heavy-ann-sift-...-185h-22c-27g.json
SciFact:ハイブリッド nDCG@10 は 0.729。独自の BM25(0.688)および高密度検索(0.645)を上回る5,183 件の文書、300 件のクエリ。MiniLM の埋め込みはハーネスから提供。NFCorpus:0.355、比較対象は 0.323 および 0.317。public_scifact.json、public_nfcorpus.json
劣っている点
結果条件ソースファイル
ann-benchmarks、再現率 0.95:sift は 2,819 QPS、faiss-ivfpqfs は 3,788 QPS(0.74 倍);glove は 1,019 QPS、ScaNN は 1,535 QPS(0.66 倍)公式の ann-benchmarks ランナー。各実行は CPU 1 基に固定、AVX2 ホストann_benchmarks_harness_wl02_v1.json
VIBE llama-128-ip の QPS:再現率 0.95 では RoarGraph より 24.6%低く、0.99 では MLANN RF80 より 54.8%低い1 スレッド、公式テストクエリquery_aware_graph_v1/README.md
SIFT-1M の構築時間は hnswlib の 0.58 倍、稼働時 RSS は 0.46 倍上記の QPS 行と同じ実行docs/benchmarks/GAPS.md
テキスト検索の取り込み時間、稼働時 RSS、コールドスタートは、ほとんどのコーパスで SQLite FTS5 および tantivy より劣るBEIR およびメモリのコーパス、2 台のホストdocs/benchmarks/GAPS.md
glove-100-angular のスパースベクトル経路:再現率@10 は 0.252、33.7 QPS。FAISS HNSW は 0.832、4,111 QPS1 スレッド、Apple M4。スパース経路は実験段階です。public_glove-100-angular.json

手法、区間、すべての劣後結果については、docs/benchmarks および ベンチマークページをご覧ください。 hms-bench table により benchmarks/results/competitive/ から生成。手法と注意事項については docs/benchmarks/COMPARISON.md を参照してください。W = HMS が優位(95%区間が同等を含まない)、T = 同等、L = 比較対象が優位。

データセット指標HMS最良の他製品優位性
sift-128-euclideanrecall@10 >= 0.95 での QPS(QPS)17,481hnswlib 7,6302.29xW
sift-128-euclidean0.95 での p99 レイテンシ(us)105hnswlib 2202.10xW
sift-128-euclideanビルド時間(s)312.60hnswlib 182.490.58xL
sift-128-euclideanRSS、サービング時(MiB)2,204hnswlib 1,0190.46xL
sift-128-euclideanインデックスサイズ(MiB)446.3hnswlib 873.81.96x-
beir:fiqanDCG@100.2654SQLite FTS5 0.26780.99xT
beir:fiqaQPS(シングルスレッド)(QPS)3,576tantivy 1,6172.21xW
beir:fiqap99 レイテンシ(us)501tantivy 1,2692.53xW
beir:fiqa取り込み/ビルド時間(s)2.16SQLite FTS5 1.180.55xL
beir:fiqaピーク RSS、サービング時(MiB)2,480SQLite FTS5 2,4801.00xT
beir:fiqaディスク上のサイズ(MiB)20.6Apache Lucene 9.12.3 (JVM) 12.20.59xL
memorynDCG@100.4561Apache Lucene 9.12.3 (JVM) 0.46270.99xT
memoryQPS(シングルスレッド)(QPS)2,225tantivy 2,3990.93xT
memoryp99 レイテンシ(us)786tantivy 7330.93xT
memory取り込み/ビルド時間(s)2.52SQLite FTS5 2.060.82xL
memoryピーク RSS、サービング時(MiB)66SQLite FTS5 260.39xL
memoryディスク上のサイズ(MiB)9.8Apache Lucene 9.12.3 (JVM) 10.31.05xW
memorynDCG@100.4561Apache Lucene 9.12.3 (JVM) 0.46270.99xT
memoryQPS(シングルスレッド)(QPS)11,857tantivy 4,5912.58xW
memoryp99 レイテンシ(us)145tantivy 4122.85xW
memory取り込み/ビルド時間(s)1.21SQLite FTS5 0.880.73xL
memoryピーク RSS、サービング時(MiB)2,480SQLite FTS5 2,4801.00xT
memoryディスク上のサイズ(MiB)9.8Apache Lucene 9.12.3 (JVM) 10.31.05xW
beir:nfcorpusnDCG@100.2916SQLite FTS5 0.29141.00xT
beir:nfcorpusQPS(シングルスレッド)(QPS)38,963tantivy 14,7052.65xW
beir:nfcorpusp99 レイテンシ(us)57tantivy 1502.62xW
beir:nfcorpus取り込み/ビルド時間(s)0.23SQLite FTS5 0.140.59xL
beir:nfcorpusピーク RSS、サービング時(MiB)748SQLite FTS5 7481.00xT
beir:nfcorpusディスク上のサイズ(MiB)2.1Apache Lucene 9.12.3 (JVM) 1.50.72xL
beir:nfcorpusnDCG@100.2916SQLite FTS5 0.29141.00xT
beir:nfcorpusQPS(シングルスレッド)(QPS)9,532tantivy 7,1051.34xT
beir:nfcorpusp99 レイテンシ(us)298tantivy 3001.01xT
beir:nfcorpus取り込み/ビルド時間(s)0.59SQLite FTS5 0.290.48xL
beir:nfcorpusピーク RSS、サービング時(MiB)57SQLite FTS5 300.53xL
beir:nfcorpusディスク上のサイズ(MiB)2.1Apache Lucene 9.12.3 (JVM) 1.50.72xL
beir:scifactnDCG@100.7027Apache Lucene 9.12.3 (JVM) 0.70221.00xT
beir:scifactQPS(シングルスレッド)(QPS)17,782tantivy 6,4502.76xW
beir:scifactp99 レイテンシ(us)95tantivy 2923.09xW
beir:scifact取り込み/ビルド時間(s)0.31SQLite FTS5 0.200.63xL
beir:scifactピーク RSS、サービング時(MiB)196tantivy 1740.89xT
beir:scifactディスク上のサイズ(MiB)2.9Apache Lucene 9.12.3 (JVM) 2.00.68xL
beir:scifactnDCG@100.7027Apache Lucene 9.12.3 (JVM) 0.70221.00xT
beir:scifactQPS(シングルスレッド)(QPS)2,711tantivy 2,8790.94xL
beir:scifactp99 レイテンシ(us)526tantivy 5200.99xT
beir:scifact取り込み/ビルド時間(s)1.42SQLite FTS5 0.430.30xL
beir:scifactピーク RSS、サービング時(MiB)160SQLite FTS5 540.34xL
beir:scifactディスク上のサイズ(MiB)2.9Apache Lucene 9.12.3 (JVM) 2.00.68xL

はじめに

一度クローンします:git clone https://github.com/writerslogic/holographic-memory && cd holographic-memory。 オフラインのエージェントメモリのデモを実行します:cargo run --release --example demo-offline-agent。

Rust

ご自身の Rust プロジェクトに、現在の Apache-2.0 ソースを追加します:

cargo add holographic-memory --git https://github.com/writerslogic/holographic-memory

公開済みのクレート 0.6.1 は、引き続き AGPL-3.0-or-later です。

use holographic_memory::{DocumentInput, HmsCore, SearchOptions};

let dir = tempfile::tempdir()?;
let hms = HmsCore::new(4096, Some(dir.path().display().to_string()), None)?;
hms.memorize_document(DocumentInput {
    id: "backups".into(),
    text: "Restore deleted documents from verified backups.".into(),
    source_uri: Some("operations.md".into()),
    version: Some("1".into()),
    metadata: Some(serde_json::json!({ "project": "alpha" })),
    chunk_words: None, overlap_words: None, store_text: None, embeddings: None, title_weight: None,
})?;
let hits = hms.search_documents("restore backups", &SearchOptions::default())?;
println!("{} {:?}", hits[0].document_id, hits[0].source_uri);
Node.js

Node.js バインディングをインストールします(パッケージがプラットフォームに対応するネイティブバイナリを選択します):

npm install holographic-memory

代わりにソースからネイティブモジュールをビルドするには(Rust が必要です):

npm ci --omit=optional && npm run build
const { HolographicMemorySystem } = require('holographic-memory')
const { DocumentMemory } = require('holographic-memory/semantic')

async function main() {
  const dir = require('node:fs').mkdtempSync(require('node:path').join(require('node:os').tmpdir(), 'hms-readme-'))
  const memory = new DocumentMemory(new HolographicMemorySystem(4096, dir))
  await memory.memorize({
    id: 'backups', text: 'Restore deleted documents from verified backups.',
    sourceUri: 'operations.md', version: '1', metadata: { project: 'alpha' },
  })
  const [hit] = await memory.search('restore backups', { filter: { project: 'alpha' } })
  console.log(hit.documentId, hit.sourceUri, hit.text)
  await memory.flush()
}
main().catch(error => { console.error(error); process.exit(1) })
サーバーと Python

Python パッケージ holographic-memory-sdk は、提供したベクトルを保存する hms-server 用の HTTP クライアントです。(holographic-memory-py はネイティブなベクトル検索と位相ベクトルを提供しますが、ドキュメント検索には対応していません。)

cargo build --release --features server --bin hms-server
HMS_API_KEY=change-me target/release/hms-server --input-dim 384 &
uv pip install holographic-memory-sdk
from holographic_sdk import HolographicClient

client = HolographicClient(url="http://127.0.0.1:8080", api_key="change-me", tenant_id="demo")
client.add_documents([{"id": "a", "vector": [0.1] * 384, "text": "hello", "metadata": {}}])
print(client.query([0.1] * 384, top_k=1)["matches"][0]["id"])

エンドポイント、フラグ、テナント、制限については サーバーのドキュメントを参照してください。おもちゃの埋め込みモデルを使った、実行可能な Python のクイックスタートは examples/quickstart/pythonにあります。

MCP

hms-mcp は、stdio または HTTP 経由で、任意の Model Context Protocol クライアントにストアを提供します:

npx -y holographic-memory-mcp                                # stdio; downloads a verified binary on first run
npx -y holographic-memory-mcp --transport http               # http://127.0.0.1:8765/mcp

MCP パッケージは、別個のランチャーです。ソースからサーバーをビルドするには:

cargo build --release --features mcp,security --bin hms-mcp   # add local-models for semantic recall
./target/release/hms-mcp                                       # stdio
./target/release/hms-mcp --transport http                      # http://127.0.0.1:8765/mcp

クライアントの設定、データディレクトリ、単一ライターのルールについては、MCP 統合を参照してください。

5 分でできるクイックスタート では、Rust、Python、Node での取り込み、検索、SQLite FTS5 との比較、暗号化について説明しています。また、CI ではすべてのプルリクエストでそのコードを実行します。埋め込みもネットワークも使わずにエージェントメモリ全体を実行するには、cargo run --example demo-offline-agentを実行してください。

なぜ「ホログラフィック」と呼ばれるのですか?

ホログラムでは、プレートのどの断片にも、全体像をぼんやりと写したものが含まれています。半分に切っても、半分の画像ではなく、解像度が下がった全体像が得られます。ホログラフィック縮約表現とベクトル記号アーキテクチャ(VSA)は、メモリにこの性質をもたらします:

  • バインドでは、2 つのベクトル(ここでは疎なビット集合の XOR)を結び付け、役割と値を対応させます:capital ⊗ paris。 役割を使ってもう一度バインドすると、値のノイズを含むコピーを復元できます。
  • バンドルでは、複数のバインド済みペアを固定サイズの 1 つのベクトルにまとめます。結果は各要素と類似したままなので、1 つのベクトルにレコード全体を格納でき、1 つのビットが特定の事実を保持することはありません。
  • 共鳴による想起。 ノイズを含む手掛かりを与えると、保存されたパターンのうち最も近いものが選ばれます(類似性検索、Hopfield によるクリーンアップ)。ベクトルが損傷すると、いくつかの項目が削除されるのではなく、すべての項目が少しずつ劣化するため、ノイズが増えても想起は徐々に低下します。

数行のコードで動作を確認できます(100 個の項目を和集合バンドルにまとめ、段階的に損傷させます): cargo run --release --manifest-path examples/quickstart/rust/Cargo.toml --bin holographic。

**ここで文字どおりホログラフィックなのは、**疎なハイパーベクトル型と、そのバインド、バンドル、置換の各操作です。また、関係型の「意味メモリ」(トリプルをバインド済みの複合表現として保存し、複数ホップクエリと Hopfield によるクリーンアップを行います)、和集合バンドルのメンバーシップテスト、共鳴ネットワークも該当します(いずれも experimental 機能の背後にあります)。

**従来型のエンジニアリングにあたるのは、**ドキュメント検索(ステミング済み BM25 と厳密なコサイン類似度の組み合わせで、ハイパーベクトルは読み取りません)、グラフおよび転置ファイルのベクトルインデックス、メモリ API、ジャーナル型ストレージ、サーバーです。これらについては、ホログラフィックな動作をうたっていません。テスト済みの数値を含む詳しい説明は、 概念を参照してください。

現在提供されている機能

機能状態ドキュメントに記載された制限
ハイブリッド文書検索(BM25 + 正確なコサイン類似度、フィルター、バイトオフセット)提供中対象チャンクをすべて正確にスキャンします。容量を想定する前に、コーパスでベンチマークしてください(ガイド)
ブール式の語彙検索(+required、-excluded、引用符で囲まれたフレーズ)提供中フラットなクエリのみ対応し、ネストには対応していません。空のクエリ、または除外語のみのクエリには一致しません(設計)
アトミックな置換/削除、クラッシュセーフなジャーナル、検証済みの圧縮、プロセスロック提供中ストアごとにライターは1つです。圧縮は安全な消去ではありません
ベクトルインデックス(qgraph頂点グラフ、メモリーマップ方式)提供中SIFT-1Mでは、ビルド時間とサービス提供時のRSSがhnswlibを下回ります(不足点)
更新可能なベクトルインデックス(挿入と削除用の永続的な差分)提供中ライターは1つです。形式についてはVECTOR-UPDATES.mdを参照してください
クエリ対応グラフルーティング(サンプルクエリで学習)提供中(オプトイン)代表的な学習用クエリが必要です。VIBE llamaとyiでテスト済みです(レポート)
メモリーAPI:記憶、想起、忘却、説明提供中忘却ではストアから事実を削除しますが、モデルが推論した内容までは対象にしません(ドキュメント)
会話メモリー(conversation-memory)提供中正確な情報源の来歴を保持した、上限付きコンテキストです。LongMemEvalでのネイティブ想起は、まだエンドツーエンドでベンチマークされていません
意味メモリー:トリプル、マルチホップ、Hopfieldクリーンアップ提供中(ランタイムでオプトイン)合成データと2,120件の事実を含むセットでテスト済みです(research_bench_16384_256.json)
ユニオンバンドルのメンバーシップ(experimental)研究段階D = 16,384では、N = 500に対して正のギャップがあります(誤検出率4%)。2,500までテスト済みです(benchmark_scaling_results.json)
スパースベクトルインデックス(memorize_vector)実験的HNSWに及びません(結果)
暗号化ストア(security)提供中AES-256-GCM、Argon2idに対応します。ログ、インデックスキャッシュ、テキストセグメントを対象とします。メタデータ、ファイル名、サイズは暗号化されません
署名付き監査ログ、認証情報によるアクセス制御、COSE/SCITT/C2PA(provenance)提供中ホストによるDIDの認証が必要です。PoSME、RATS、did:webは未実装です
オンデバイスモデル(local-models:Qwen3の埋め込み/再ランキング/LLM)提供中ローカルの重みのみを使用し、ダウンロードは一切行いません
hms-server HTTP API、マルチテナント(server)提供中単一ノードです。TLSとテナントごとにスコープを限定したキーに対応します(ガイド)
MCP サーバー(mcp:hms-mcp、stdioおよびHTTP)提供中暗号化にはsecurityが必要です。意味に基づく想起にはlocal-modelsが必要です
Node.jsバインディングnpmおよびソースから提供中インストール時にプラットフォームに応じたネイティブバイナリが選択されます
C、Go、.NET、Java、Kotlin、Swift、WebAssemblyバインディングソースを提供ローカルでのビルドが必要です。言語パッケージとネイティブバンドルは、まだ公開されていません(ランタイムガイド)
Pythonクライアント + フェーズ基盤インプロセスの文書検索には対応していません
クエリ秘匿検索(private-search)実験的他者が保持するインデックスを検索するための機能です。スコアラーに対してクエリベクトルのみを隠します(補足)

上記の機能のうち、文書検索とベクトルインデックスを除くすべては、デフォルトで無効になっているCargo featureまたはランタイムオプションで利用します。Cargo featuresに一覧があります。

アーキテクチャ

flowchart TB
  subgraph bindings["Bindings and servers"]
    rust["Rust crate"]
    node["Node.js (napi)"]
    ffi["C, WASM, UniFFI"]
    python["Python: holographic-memory-sdk"]
    server["hms-server (HTTP)"]
    mcp["hms-mcp (stdio, HTTP)"]
  end
  subgraph engine["Engine API"]
    core["HmsCore: documents, vectors, facts, mutation gate"]
    prov["Security and provenance: signed audit log, COSE/SCITT"]
  end
  subgraph indexes["Indexes and memory"]
    text["Text index: blocked postings, BM25, Boolean and phrase"]
    vector["Vector index (qgraph): vertex file, updatable delta, query-aware projection"]
    memory["Memory API: remember, recall, forget, conversation memory"]
    vsa["Vector-symbolic layer: bind, bundle, Hopfield cleanup"]
  end
  subgraph storage["Storage"]
    journal["Journal and checkpoints"]
    segments["Append-only segments (CRC32, LZ4)"]
    mapped["Memory-mapped files"]
    crypto["AES-256-GCM encryption (optional)"]
  end
  python --> server
  rust --> core
  node --> core
  ffi --> core
  server --> core
  mcp --> core
  core --> text
  core --> vector
  core --> memory
  core --> vsa
  core --> prov
  memory --> text
  text --> journal
  vector --> journal
  memory --> journal
  journal --> segments
  segments --> mapped
  segments --> crypto

モジュールマップ:docs/ARCHITECTURE.md。

制限事項

  • 匿名ではありません。 ハイパーベクトルのスケッチと用語カウントは暗号化ではないため、ストアを持つ人なら誰でも候補テキストをエンコードして比較できます。storeText: false にしても用語カウント、ID、埋め込みは保持されるため、プライバシー保護にはなりません。
  • ドキュメント検索は従来型です。 ハイパーベクトルは使用せず、ホログラフィックな部分は代数と意味記憶です。
  • 1つのストアにつき書き込みプロセスは1つです。 2つ目の書き込みプロセスは、ロックエラーによりオープン時に失敗します。
  • 容量の数値は保証ではなく目安であり、テスト済みの範囲についてのみ示しています(容量)。
  • ベンチマーク結果は単一のマシンでのものです。 条件は各結果ファイルに記載されています。シングルコアの ann-benchmarks の実行結果と VIBE の高再現率の測定点は性能低下を示しています(不得意な点を参照)。
  • マスキングは難読化です。 クライアント側のベクトルマスキングでは、すべてのペア間の類似度が保持されます。
  • ストアはディレクトリであり、HmsCore::new(.., None, ..) は現在のディレクトリを使用します。

詳細な声明はdocs/PRIVACY.mdをご覧ください。脆弱性はSECURITY.mdを通じて非公開で報告してください。

貢献

CONTRIBUTING.mdには、セットアップ、CIで実行されるチェック、DCOのサインオフ(git commit -s、CLAは不要)について記載されています。初めての方向けの課題またはディスカッションから始めてください。行動規範をご覧ください。ベンチマークを変更した場合は、変更箇所に該当する結果ファイルを再生成してください。READMEでは、記憶に頼った数値ではなくファイルを参照しています。

ライセンス

Apache-2.0。LICENSEをご覧ください。コピーレフト義務なしで、ネットワークサービスを含むオープンソースまたはプロプライエタリソフトウェアで使用、変更、組み込みができます。crate 0.6.1までのリリースは AGPL-3.0-or-later のもとで公開されており、引き続きその条件で利用できます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。