Skip to main content

High-performance spreading activation engine for Pero

Project description

Pero-Memory-Core (KDN Engine)

"Stop Vector Search, Start Knowledge Diffusion."

🚀 Pero-Memory-Core 是一个基于认知神经科学原理构建的、理论上可支撑万亿级的语义记忆引擎。其核心 KDN (Knowledge Diffusion Network) 是一个纯粹的拓扑计算算子

该算子在理论上源自认知科学中经典的扩散激活 (Spreading Activation) 模型。它摒弃了传统向量数据库(Vector DB)死板的 Top-K 检索模式,通过高性能的 Rust 工程实现,完成了类脑化的关联联想与逻辑回溯。

License: GPL v3 Language: Rust


🧠 为什么是 KDN 而不是 RAG?

传统的 RAG (Retrieval-Augmented Generation) 依赖向量相似度,存在三大致命缺陷:

  1. 孤岛效应:只能找到“长得像”的片段,无法理解知识点之间的深层逻辑链条。
  2. 多跳性能崩塌:执行 3 步以上的逻辑推理(Multi-hop)时,向量检索的延迟会呈指数级增长。
  3. 超级节点困境:无法有效处理高权重核心知识点带来的能量塌缩。

PeroCore 采用 PEDSA (Parallel Energy-Decay Spreading Activation) 算法,通过模拟神经元电信号扩散,在 1ms 内穿透理论上的万亿级逻辑迷宫(实机已验证千万级至亿级规模)。


📊 性能核爆 (Benchmark)

在 1,000,000 条干扰噪音(Noise Edges)的严苛测试下,PeroCore 与传统 RAG 方案的性能对比:

指标 传统 RAG (Top-K + Rerank) PeroCore (KDN Engine) 提升幅度
单步检索延迟 ~1,545.00 ms 2.95 ms 523x 🚀
11步逻辑链穿透 无法完成 (超时) 2.95 ms
内存占用 (100M 边) ~42 GB 12 GB 3.5x
高并发吞吐量 低 (I/O 密集型) 极高 (CPU 密集型/并行优化) --

测试环境: Ryzen 9 5950X, 32GB RAM, Windows 11 (WSL2)


🛠 技术壁垒

1. 极致的类 CSR (Simulated CSR) 变体结构

不同于传统的邻接表,PeroCore 在 Rust 底层实现了高性能的 类 CSR (Simulated CSR) 内存布局,将图结构的存储开销压缩至极限,同时保证了 O(1) 的邻居节点访问速度。这种设计允许系统实时写入新的逻辑关联而无需重新构建整个索引,仅在未来处理万亿级静态数据时切换至标准 CSR。

2. 并行能量扩散 (PEDSA) 与 Top-K 优化

利用 Rust 的 rayon 实现无锁并行化,每一轮扩散都会进行 动态能量剪枝 (Dynamic Pruning)

核心加速逻辑:为了适配 AI 桌面助手(Agent)的实时长记忆需求,引擎在每一步扩散中仅处理能量值最高的前 10,000 个活跃节点。实测证明,10,000 个节点已足以捕捉绝大多数复杂的语义上下文,这种“Top-K 活跃过滤”策略将检索复杂度锁定在常数级,确保了在亿级甚至万亿级规模下的极速响应。

3. 稳定性防御

内置 ReDoS 防御清洗器逻辑坍塌抑制器,确保在大规模对抗性注入场景下,引擎依然能保持 1ms 级的稳定响应。


💻 快速上手

from pero_memory_core import CognitiveGraphEngine

# 1. 初始化引擎
engine = CognitiveGraphEngine()

# 2. 注入记忆 (源ID, 目标ID, 关联强度)
# 这种关联是有向且带权的,模拟突触连接
engine.batch_add_connections([
    (101, 102, 0.9),  # "苹果" -> "乔布斯"
    (102, 103, 0.85), # "乔布斯" -> "皮克斯"
    (103, 104, 0.7)   # "皮克斯" -> "玩具总动员"
])

# 3. 执行激活扩散 (PEDSA)
# initial_scores: 初始激活点 {节点ID: 能量值}
# steps: 扩散步数 (逻辑链深度)
results = engine.propagate_activation(
    initial_scores={101: 1.0}, 
    steps=10, 
    decay=0.7
)

# 4. 获取排名靠前的关联记忆
for node_id, score in sorted(results.items(), key=lambda x: x[1], reverse=True)[:5]:
    print(f"节点: {node_id}, 关联能量: {score:.4f}")

📜 许可证 (License)

本项目采用 GPL-3.0 开源许可证

对于大厂/商业机构的特别说明:

  • 您可以自由使用本引擎。
  • 如果您对本引擎的源代码进行了修改或封装,根据 GPL-3.0 协议,您必须公开您的源代码。
  • 我们尊重原创,也请尊重每一行用 Rust 堆出来的性能。

🤝 贡献与反馈

如果您对认知科学、图算法或极致性能优化感兴趣,欢迎提交 Issue 或 PR。

Designed with ❤️ by YoKONCy & AI Team.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pero_memory_core-0.2.4.tar.gz (36.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pero_memory_core-0.2.4-cp310-cp310-win_amd64.whl (743.0 kB view details)

Uploaded CPython 3.10Windows x86-64

pero_memory_core-0.2.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (877.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file pero_memory_core-0.2.4.tar.gz.

File metadata

  • Download URL: pero_memory_core-0.2.4.tar.gz
  • Upload date:
  • Size: 36.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pero_memory_core-0.2.4.tar.gz
Algorithm Hash digest
SHA256 b13dfe25b33b888db84f565a5c2d374eefd8b7c10655ee861df5efcd8bcddfe4
MD5 ee3ba26a84c5b91a94f875093973fd82
BLAKE2b-256 29eeb8d16a1811ebd7043f47852e50b3b9804c4f395b70d5f175c3ce16ecd9e6

See more details on using hashes here.

File details

Details for the file pero_memory_core-0.2.4-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pero_memory_core-0.2.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 14e02ad393ff564e872b60c5521b29726f32afd2105ae9e59fd15d1c239b3ee0
MD5 d8303c8b2bcda3eb883ee7b8661e8c05
BLAKE2b-256 6323b749acb8f26306b9fe921417a14cc75f19ba9242b9152a723aea104af054

See more details on using hashes here.

File details

Details for the file pero_memory_core-0.2.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pero_memory_core-0.2.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 010dbc5149f6097a6198c5e00e8509c3a290392caa47449b108b62e743a406f5
MD5 1bb54dc28b80739d39aace80cbb62874
BLAKE2b-256 718736ed8d56f342db846de1cdbcdf38b7d8c4fb57e212c505feaf3ba8eaf825

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page