PS

plateerlab/synaptic-memory

数据库管理

本页由 AI 翻译,技术细节请以原文为准。 查看原文

33 stars 1 forks 质量 54 趋势 15NOASSERTION

知识图谱 + MCP 工具服务器,适用于大型语言模型代理,支持混合检索、实时数据库同步、韩语 FTS 和内存反馈。

概览

一个知识图谱+MCP工具服务器,面向LLM代理,支持混合检索、基于CDC的实时数据库同步和内置的韩国FTS。 该命令构建一个微小的SQLite支持图,并在索引时执行三次搜索。省略内存内零依赖烟雾测试中的--db。扩展示例的完整来源:examples/quickstart.py。 纯RAG通常从独立的块中回答。Synaptic先构建图,这样代理可以搜索、跟踪关系、检查结构化行,并记住哪些证据对你有帮助。 它不是矢量数据库的替代品。它是围绕现有文档、SQL数据、嵌入端点和代理运行时的图形和工具层。 仅此而已。自动检测文件格式或数据库模式,生成本体配置文件,导入、索引、构建FK边缘。 — mode=“cdc” 支持增量更新:带有updated_at风格列的表格使用水印过滤器读取,其他表格则回退为每行内容哈希。

概述(AI 翻译)

默认路径:索引时零API调用。零基础设施。零锁定。 一个面向LLM代理的知识图谱+MCP工具服务器,支持混合检索, 基于CDC的实时数据库同步,以及内置的韩国FTS。

韩国어 README


5分钟开始

该命令构建一个微小的SQLite支持图,并运行三次搜索——全部 在索引时不调用任何LLM。省略内存中的--db, 零依赖烟雾测试。扩展示例的完整来源: examples/quickstart.py。


为什么不直接叫RAG?

纯RAG通常从独立的块中回答。Synaptic先构建一个图, 因此,代理可以搜索、跟踪关系、检查结构化行并记忆 这些证据起了作用。

纯RAG 突触记忆
块 + 向量搜索 文档、块、行和边
通常在数据变更时重建 CDC同步用于实时数据库
默认单次回收 多回合探索的MCP工具
反馈存在于索引之外 可选的记忆事件、反馈和健康信号

它不是向量数据库的替代品。它是图形和工具图层

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

Synaptic Memory

Default path: zero API calls at index time. Zero infra. Zero lock-in. A knowledge graph + MCP tool server for LLM agents, with hybrid retrieval, CDC-based live database sync, and Korean FTS built in.

한국어 README


5-minute start

pip install "synaptic-memory[sqlite,korean,vector]"
synaptic-quickstart --db quickstart.db

That command builds a tiny SQLite-backed graph and runs three searches — all without calling any LLM at indexing time. Omit --db for an in-memory, zero-dependency smoke test. Full source for the expanded example: examples/quickstart.py.


Why not just RAG?

Plain RAG usually answers from independent chunks. Synaptic builds a graph first, so an agent can search, follow relations, inspect structured rows, and remember which evidence helped.

Plain RAG Synaptic Memory
chunks + vector search documents, chunks, rows, and edges
usually rebuilds on data change CDC sync for live databases
single-shot retrieval by default MCP tools for multi-turn exploration
feedback lives outside the index optional memory events, feedback, and health signals

It is not a vector database replacement. It is the graph and tool layer around your existing documents, SQL data, embedding endpoint, and agent runtime.


import asyncio
from synaptic import SynapticGraph

async def main():
    # Any data → knowledge graph (CSV, JSONL, directory)
    graph = await SynapticGraph.from_data("./my_data/", preset="rag")
    try:
        result = await graph.search("my question")
        print(result.nodes[0].node.title if result.nodes else "no result")
    finally:
        await graph.close()

asyncio.run(main())

That’s it. Auto-detects file format or DB schema, generates an ontology profile, ingests, indexes, builds FK edges.

Presets keep the common knobs compact:

# local: deterministic, no external services (default)
graph = await SynapticGraph.from_chunks(chunks, preset="local")

# rag: reads SYNAPTIC_EMBED_URL / SYNAPTIC_RERANK_URL if set
graph = await SynapticGraph.from_data("./docs/", preset="rag")

# agent: rag + deterministic component bridging for multi-turn exploration
graph = await SynapticGraph.from_data("./docs/", preset="agent")

Live database sync (CDC) — mode="cdc" enables incremental updates: tables with an updated_at-style column are read with a watermark filter, others fall back to per-row content hashing. Deletes are detected via a TEMP TABLE LEFT JOIN; FK rewires re-link the corresponding RELATED edges. Search results are

在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →