Vector Hyperbolic 是一个用于在庞加莱球模型中嵌入层级数据的技能,底层依赖 ruvector。
用途 当数据具有内在层级结构时使用本技能,例如依赖树、模块结构、分类法、组织架构图、本体。双曲空间相比欧几里得嵌入,能用更少的维度捕捉层级距离。
主要能力
- 生成基础 ONNX 嵌入。
- 将嵌入投影到庞加莱球(单位球)中。
- 使用测地距离衡量层级关系:d(u, v) = arcosh(1 + 2 * ||u-v||^2 / ((1-||u||^2)(1-||v||^2)))。距离随树深度呈对数增长,从而保留层级结构。
- 将结果存储到记忆命名空间,例如:mcp__plugin_ruflo-core_ruflo__memory_store({ key: "hyperbolic-CONCEPT", value: "COORDINATES_AND_NEIGHBORS", namespace: "hyperbolic-embeddings" })。
使用方式
-
确保 ruvector@0.2.25 可用: npm ls ruvector 2>/dev/null | grep '0.2.25' || npm install ruvector@0.2.25
-
生成基础 ONNX 嵌入(ruvector@0.2.25 在 embed text 上不暴露 --model poincare 标志): npx -y ruvector@0.2.25 embed text "hierarchical concept" -o concept.vec.json
-
在你自己的代码中投影到庞加莱球(或通过实验性的神经基底): npx -y ruvector@0.2.25 embed neural --help
对于临时投影,可将 384 维向量归一化到单位球内(x_i / (||x|| * (1 + epsilon))),并将投影坐标与原始嵌入一起持久化。
- 存储结果: mcp__plugin_ruflo-core_ruflo__memory_store({ key: "hyperbolic-CONCEPT", value: "COORDINATES_AND_NEIGHBORS", namespace: "hyperbolic-embeddings" })
庞加莱球性质
- 范数接近 0:通用、根级概念。
- 范数接近 1:具体、叶级概念。
- 测地距离小:层级上密切相关。
- 测地距离大:距离远或属于不同子树。
适用场景
- 依赖分析:嵌入模块导入关系,找出紧耦合的子树。
- 代码架构:映射类层级,发现结构模式。
- 知识组织:嵌入概念,揭示分类关系。
- 代码库导航:相对于查询找出最具体或最通用的模块。
限制
- ruvector@0.2.25 没有一等公民的庞加莱球 CLI 标志。应将双曲投影视为标准 ONNX 嵌入之上的后处理步骤。
- 如果需要双曲搜索索引,可将投影坐标存入 AgentDB,并在自己的检索代码中计算测地距离。