Vector Embed 是一个用于生成和存储向量嵌入的技能,基于 ruvector npm 包实现。
用途 该技能用于将文本、代码或文档嵌入为 384 维向量,以支持语义搜索、相似度比较或聚类。ruvector 使用 ONNX all-MiniLM-L6-v2 模型,并采用 HNSW 索引,宣称具备每秒 52,000+ 次插入和约 0.045 毫秒的搜索性能。
主要能力
- 生成 384 维向量嵌入,并进行归一化。
- 将嵌入存储到 HNSW 索引中。
- 支持单条文本嵌入,并可将结果输出到文件。
- 提供自适应(LoRA)变体,可通过 --adaptive --domain code 参数使用。
- 可通过 MCP 方式注册服务器,并调用 hooks_rag_context(语义上下文)、brain_search(集体大脑)、hooks_ast_analyze、hooks_route 等工具。
- 可将元数据存储到 AgentDB,使用 mcp__plugin_ruflo-core_ruflo__memory_store 方法。
使用方式
- 确保 ruvector@0.2.25 可用: npm ls ruvector 2>/dev/null | grep '0.2.25' || npm install ruvector@0.2.25
- 如果后续 embed text 报告 ONNX WASM 文件未打包,还需运行: npm install ruvector-onnx-embeddings-wasm
- 嵌入输入(使用 text 子命令,文本作为位置参数):
- 单条字符串:npx -y ruvector@0.2.25 embed text "your text here"
- 带输出文件:npx -y ruvector@0.2.25 embed text "your text here" -o vec.json
- 对于文件:通过 Read 工具读取其内容,然后作为位置参数传入。
- 批量:在 shell 中循环遍历文件——ruvector@0.2.25 没有内置的 --batch/--glob 标志。
- 自适应(LoRA)变体:npx -y ruvector@0.2.25 embed text "..." --adaptive --domain code
- 确认——报告向量维度(384)、范数以及写入的任何输出路径。
- 如需要,将元数据存储到 AgentDB: mcp__plugin_ruflo-core_ruflo__memory_store({ key: "embed-SOURCE", value: "VECTOR_METADATA", namespace: "vector-patterns" })
MCP 替代方式 使用固定版本注册一次 MCP 服务器: claude mcp add ruvector -- npx -y ruvector@0.2.25 mcp start 然后直接调用 MCP 工具:hooks_rag_context(语义上下文)、brain_search(集体大脑)、hooks_ast_analyze、hooks_route。
适用场景 适用于需要对文本、代码或文档进行语义搜索、相似度比较或聚类的场景。
限制与注意事项
- ruvector@0.2.25 中不存在 embed --batch --glob 和 embed --file 标志;仅支持 embed text <text>。需要自行读取文件,并对每个文件调用 embed text。
- ONNX 运行时默认未打包。如果嵌入失败,请安装 ruvector-onnx-embeddings-wasm,或运行 npx -y ruvector@0.2.25 doctor 进行诊断。