mcpField
V
vector-search

vector-search

github.com/ruvnet数据与数据库80.0k751 次安装今天更新
代码仓库

关于 vector-search

介绍如何选择插件中的向量搜索路径:用于语料检索的 HNSW 嵌入,以及面向少量高优先级模式的 WASM 路由器。还涵盖量化搜索、层级嵌入、参数调优和 CLI 替代方式。

主要功能

  1. 01用于大型语料的 HNSW 搜索
  2. 02RaBitQ 量化搜索
  3. 03文本相似度比较
  4. 04面向层级数据的双曲嵌入
  5. 05最多 11 种模式的 WASM 路由
  6. 06搜索调优与 CLI 命令

适用场景

  1. 01搜索至少 500 篇文档的语料
  2. 02减少大型向量集合的内存占用
  3. 03将查询路由到少量模式
  4. 04检索代码树等层级数据

MCP 相关

介绍 Ruflo MCP 工具,用于生成和搜索嵌入、构建量化索引、跨命名空间搜索记忆,以及进行 WASM 模式路由。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ruvnet/ruflo --skill vector-search

安装后在 Claude Code 中输入/vector-search确认已加载。

详细介绍

向量搜索

此插件中有两种不同的向量搜索路径。请选择合适的路径——两者不可互换。

路径工具系列后端容量延迟
大规模语料库embeddings_*@claude-flow/memory HNSW(Rust/Native)最多数百万个向量N=20k 时约为暴力搜索的 1.9×,N=5k 时约为 3.2×–4.7×(实测;recall@10 ≈ 0.99)。超过交叉点后,ANN 更有优势
热路径路由器ruvllm_hnsw_*基于 WASM 的路由器(v2.0.1)最多约 11 个模式(ruvllm-tools.ts:58)亚毫秒级;专为高优先级路由设计,而非语料库搜索

“12,500×”这一宣传数据适用于大规模 embeddings_search 路径。WASM 路由器不是这条路径。

何时使用

需求路径
搜索包含 N ≥ 500 份文档的语料库embeddings_search
受内存限制的语料库(≥5,000 个向量)RaBitQ 量化——参见下方“量化搜索”
比较两个字符串embeddings_compare
分层/分类数据embeddings_hyperbolic(Poincare 球)
将查询路由到 ≤11 个热模式之一ruvllm_hnsw_route
跨命名空间搜索memory_search_unified

标准搜索

  1. 检查状态——运行 mcp__plugin_ruflo-core_ruflo__embeddings_status,验证嵌入引擎。
  2. 初始化——如果引擎未激活,运行 mcp__plugin_ruflo-core_ruflo__embeddings_init。
  3. 生成——对文本输入运行 mcp__plugin_ruflo-core_ruflo__embeddings_generate。
  4. 搜索——使用查询运行 mcp__plugin_ruflo-core_ruflo__embeddings_search。
  5. 比较——运行 mcp__plugin_ruflo-core_ruflo__embeddings_compare,衡量相似度。
  6. 统一搜索——跨命名空间搜索时运行 mcp__plugin_ruflo-core_ruflo__memory_search_unified。

量化搜索(内存减少 32×)

对于 ≥5,000 个向量的语料库和/或受内存限制的环境,请使用 RaBitQ 1-bit 量化工作流。向量少于 5,000 个时,重建成本高于节省的资源——请改用标准路径。

步骤工具用途
1embeddings_init预热引擎
2embeddings_rabitq_build加载语料库后,一次性构建 1-bit 索引
3embeddings_rabitq_search通过汉明距离预筛选,返回 top-N 候选 ID(开销低)
4embeddings_search可选:对候选集进行精确重排(全精度)
5embeddings_rabitq_status索引健康状态、内存占用、构建时间

注意:embeddings_rabitq_search 只返回候选 ID——第 4 步的重排由用户负责(与 embeddings-tools.ts:911 中的文档字符串一致)。不进行重排时,结果是近似的;进行重排后,可在内存减少 32× 的情况下获得全精度质量。

调优

HNSW 提供三个可在召回率与延迟之间权衡的参数。“12,500×”这一宣传数据以默认值为前提;请根据工作负载谨慎调优:

配置efSearchM适用场景
recall-first20032规划时召回模式;质量比毫秒数更重要
balanced(默认)6416通用语义召回
latency-first168关注 p99 延迟的热路径路由

efSearch 通过 ruvllm_hnsw_create 传入(ruvllm-tools.ts:64)。目前 M 是注册表级参数;如果应支持通过 MCP 调整,可在后续提高。lite 索引中的 efConstruction 默认为 200(hnsw-index.ts:537)。

HNSW 模式路由器(WASM,≤11 个模式)

用于路由少量高优先级模式:

  • mcp__plugin_ruflo-core_ruflo__ruvllm_hnsw_create — 创建 WASM 索引(容量约为 11)
  • mcp__plugin_ruflo-core_ruflo__ruvllm_hnsw_add — 添加模式
  • mcp__plugin_ruflo-core_ruflo__ruvllm_hnsw_route — 路由传入的查询

这不是语料库索引。请将其视为针对一组精选模式的快速分类器。

双曲嵌入

对于分层数据(代码树、组织架构图),使用 mcp__plugin_ruflo-core_ruflo__embeddings_hyperbolic,它会映射到庞加莱球空间。距离采用测地线距离,而非余弦距离。

CLI 替代方案

npx @claude-flow/cli@latest embeddings search --query "authentication patterns"
npx @claude-flow/cli@latest embeddings init
npx @claude-flow/cli@latest memory search --query "your query"

性能

实测数据(来源:scripts/benchmark-intelligence.mjs,ruvector NAPI 后端;recall@10 ≈ 0.99)。旧版“150×–12,500×”数据是暴力回退产生的假象,现已弃用——请参阅项目 CLAUDE.md 中的“V3 Performance Targets”。

方法相较于暴力搜索的实测加速比
暴力扫描基准
HNSW(N=5,000)快约 3.2×–4.7×
HNSW(N=20,000)快约 1.9×
HNSW(低于交叉点,小 N)与暴力搜索持平或更慢
RaBitQ 量化内存减少 32×;N≈14.7k 时每次查询耗时 0.60 ms
ruvllm_hnsw_route(n≤11)每次路由耗时不到 1 ms,固定开销

评论

支持 Markdown