Token导航 LogoToken导航TokenDH.com
Veloci Rag logo
搜索检索stdio官方级别未说明来源级核验

Veloci Rag

MCP Server

VelociRAG是一个基于ONNX Runtime的四层级检索增强生成引擎,结合向量相似性、BM25关键词匹配、知识图谱遍历和元数据过滤,适用于AI代理和本地化搜索场景。

工具数

5

提示词数

0

GitHub Stars

6

资源数

0
检索增强生成本地搜索PythonClaude知识图谱ClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

HaseebKhalid1507

提供方

HaseebKhalid1507

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install "velocirag[mcp]"

详细介绍

🦖 VelociRAG

用于AI代理的闪电般快速的RAG。

_由ONNX Runtime提供支持的四层检索融合。没有PyTorch。Sub-200ms热搜索。增量图形更新。MCP准备就绪。_

______________________________________________________________________

大多数RAG解决方案要么拖动2GB以上的PyTorch,要么限制您进行单层矢量搜索。VelociRAG为您提供了四种检索方法——向量相似性、BM25关键字匹配、知识图遍历和元数据过滤——通过相互排名融合和交叉编码器重新排名进行融合。所有运行在ONNX运行时,没有GPU,没有API键。附带一个用于代理集成的MCP服务器、一个用于热查询的Unix套接字守护进程和一个正常工作的CLI。

🚀 快速开始

MCP服务器(Claude、Cursor、Windsurf)

pip install "velocirag[mcp]"
velocirag index ./my-docs
velocirag mcp

克劳德代码 --添加到 .mcp.json 在项目根目录中:

{
  "mcpServers": {
    "velocirag": {
      "command": "velocirag",
      "args": ["mcp"],
      "env": { "VELOCIRAG_DB": "/path/to/data" }
    }
  }
}

然后打开 /mcp 在克劳德代码中启用 velocirag 服务器。如果使用virtualenv,请使用二进制文件的完整路径(例如。 .venv/bin/velocirag).

克劳德桌面 --添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "velocirag": {
      "command": "velocirag",
      "args": ["mcp", "--db", "/path/to/data"]
    }
  }
}

光标 --添加到 .cursor/mcp.json:

{
  "mcpServers": {
    "velocirag": {
      "command": "velocirag",
      "args": ["mcp", "--db", "/path/to/data"]
    }
  }
}

Python API

from velocirag import Embedder, VectorStore, Searcher

embedder = Embedder()
store = VectorStore('./my-db', embedder)
store.add_directory('./my-docs')
searcher = Searcher(store, embedder)
results = searcher.search('query', limit=5)

命令行界面

pip install velocirag
velocirag index ./my-docs
velocirag search "your query here"

搜索守护进程(CLI用户的热引擎)

velocirag serve --db ./my-data        # start daemon (background)
velocirag search "query"              # auto-routes through daemon
velocirag status                      # check daemon health
velocirag stop                        # stop daemon

守护程序通过Unix套接字保持ONNX模型+FAISS索引的温暖。第一个查询加载引擎(~1s),后续查询在~180ms内返回,并进行完整的4层融合。

🎯 为什么选择VelociRAG?

  • 4层搜索 --向量+BM25关键字+知识图+元数据,与RRF融合
  • 无需法学硕士 --搜索完全在本地模型上运行(MiniLM+TinyBERT,总计约80MB)
  • 无需GPU --纯ONNX推理,在任何机器上运行
  • ~3ms热搜索 --守护进程通过Unix套接字保持模型+索引的温暖
  • 增量索引 --添加文件而不重建整个索引
  • MCP服务器 --插入Claude、Cursor、Windsurf、任何MCP客户端

相关项目

  • 梅科什 --代理存储系统。使用VelociRAG作为其搜索引擎。
  • 碑林 --会话智能。从对话日志中提取记忆。
  • 字形 --MCP安全扫描程序和运行时保护。

🏗️ 运作原理

4层管道:

Query → expand (acronyms, variants)
      → [Vector]   FAISS cosine similarity (384d, MiniLM-L6-v2 via ONNX)
      → [Keyword]  BM25 via SQLite FTS5
      → [Graph]    Knowledge graph traversal
      → [Metadata] Structured SQL filters (tags, status, project)
      → RRF Fusion → Cross-encoder rerank → Results

每一层捕获的内容:

查询类型向量关键字图形元数据
概念(“改进错误处理”)
完全匹配(“ERR_CONNECION_REFUSED”)--
相互关联的概念----
已筛选(“#python状态:活动”)------
组合(“React状态管理”)

✨ 特性

  • ONNX 运行时 --184ms冷启动,3ms缓存。没有PyTorch,没有GPU
  • 四层融合 --FAISS向量相似度+SQLite FTS5(BM25)+知识图+元数据过滤,通过倒排融合合并
  • 交叉编码器重新排序 --TinyBERT通过ONNX运行时重新登录——包含在基本安装中,不需要PyTorch。首次使用时下载约17MB型号
  • 增量图形更新 --以文件为中心的来源跟踪可以检测更改的内容,并且只重建受影响的节点/边缘。级联删除可保持所有存储(向量、图形、元数据)的一致性。多源支持,每个来源都有独立的来源
  • MCP服务器 --Claude、Cursor、Windsurf的五个工具(搜索、索引、add_document、健康、list_source)
  • 搜索守护进程 --Unix套接字服务器在查询之间保持ONNX模型+FAISS索引温暖
  • 知识图谱 --分析器从markdown构建实体、时态、主题和显式链接边。可选GLiNER NER。418张图片,耗时2.1秒
  • 智能分块 --标题感知拆分保留了文档结构和父上下文
  • 查询扩展 --首字母缩略词注册表、大小写/间距变体、下划线感知标记化
  • 随时随地奔跑 -仅CPU,8GB RAM,无API密钥,无外部服务

🤖 MCP服务器

VelociRAG公开了一个模型上下文协议服务器,用于无缝代理集成:

可用工具:

  • search --四层融合搜索与重排序
  • index --将文档添加到知识库
  • add_document --插入单个文档
  • health --系统诊断
  • list_sources --显示索引文档源

MCP服务器进程在查询之间保持活动状态,因此模型加载一次,每次后续搜索都是热的。适用于任何兼容MCP的客户端。

🐍 Python API

全4层统一搜索:

from velocirag import (
    Embedder, VectorStore, Searcher,
    GraphStore, MetadataStore, UnifiedSearch,
    GraphPipeline
)

# Build the full stack
embedder = Embedder()
store = VectorStore('./search-db', embedder)
graph_store = GraphStore('./search-db/graph.db')
metadata_store = MetadataStore('./search-db/metadata.db')

# Index with graph + metadata
store.add_directory('./docs')
pipeline = GraphPipeline(graph_store, embedder, metadata_store)
pipeline.build('./docs', source_name='my-docs')

# Unified search across all layers
searcher = Searcher(store, embedder)
unified = UnifiedSearch(searcher, graph_store, metadata_store)
results = unified.search(
    'machine learning algorithms',
    limit=5,
    enrich_graph=True,
    filters={'tags': ['python'], 'status': 'active'}
)

快速语义搜索:

from velocirag import Embedder, VectorStore, Searcher

embedder = Embedder()
store = VectorStore('./db', embedder)
store.add_directory('./docs')
searcher = Searcher(store, embedder)
results = searcher.search('neural networks', limit=10)

增量图形更新:

from velocirag import Embedder, GraphStore, GraphPipeline

# First run — full build, populates provenance
gs = GraphStore('./db/graph.db')
pipeline = GraphPipeline(gs, embedder=Embedder())
pipeline.build('./docs', source_name='my-docs')  # full build

# Subsequent runs — only changed files get reprocessed
pipeline.build('./docs', source_name='my-docs')  # incremental (automatic)

# Force full rebuild
pipeline.build('./docs', source_name='my-docs', force_rebuild=True)

# Multi-source graphs
pipeline.build('./project-a', source_name='project-a')
pipeline.build('./project-b', source_name='project-b')  # isolated provenance

# Deleted files automatically cascade across all stores
# (vector, FTS5, graph, metadata) on next build

💻 CLI 参考

# Index documents (graph + metadata built by default)
velocirag index 
 [--no-graph] [--no-metadata] [--gliner] [--full-graph] [--force]
                       [--source NAME] [--db PATH]

# Search across all layers (auto-routes through daemon if running)
velocirag search  [--limit N] [--threshold F] [--format text|json]

# Search daemon
velocirag serve [--db PATH] [-f]         # start daemon (-f for foreground)
velocirag stop                            # stop daemon
velocirag status                          # check daemon health

# Metadata queries
velocirag query [--tags TAG] [--status S] [--project P] [--recent N]

# System health and status
velocirag health [--format text|json]

# Start MCP server
velocirag mcp [--db PATH] [--transport stdio|sse]

选项:

  • --no-graph --跳过知识图构建
  • --no-metadata --跳过元数据提取
  • --full-graph --构建具有语义相似性边的图(~2GB额外RAM)
  • --source NAME --多源物源隔离标签
  • --force --清理并从头开始重建
  • --gliner --使用GLiNER进行实体提取(需要 pip install "velocirag[ner]")

📊 演出

真正的基准 ByteByteGo/系统设计-101 (418个文件,1001个块):

度量
索引(418个文件)13.6秒
搜索(温暖,5结果)35-90毫秒
图形构建(轻量级)2.1秒 → 2,397个节点,8717条边
增量更新(1个文件)1.3秒
重排序器通过ONNX交叉编码器TinyBERT
安装尺寸约80MB(无PyTorch)
内存占用加载所有型号后小于1GB

生产部署(6300多个块,3个源,950个文件):

度量
全面搜索(温暖)平均16ms,最小2ms
完整搜索(首次运行)平均22ms,最小4ms
搜索P50/P9517毫秒/55毫秒
点击率(100查询基准)99/100
3125个节点,132320条边
重排序器通过ONNX交叉编码器TinyBERT
随机存取存储器加载所有型号后小于1GB

⚙️ 配置

环境变量默认值描述
VELOCIRAG_DB./.velocirag数据库目录
VELOCIRAG_SOCKET/tmp/velocirag-daemon.sock守护进程套接字路径
NO_COLOR--禁用彩色输出

依赖关系(全部包含在基本安装中):

  • onnxruntime --ONNX推断(嵌入器+重新链接器)
  • tokenizers + huggingface-hub --模型加载
  • faiss-cpu --向量相似性搜索
  • networkx + scikit-learn --知识图谱+主题聚类
  • numpy, click, pyyaml, python-frontmatter

可选附加功能:

  • pip install "velocirag[mcp]" --MCP服务器(添加 fastmcp)
  • pip install "velocirag[ner]" --GLiNER实体提取(添加 gliner,需要PyTorch)

📚 参考文献

VelociRAG建立在以下基础工作之上:

核心融合与检索

Reciprocal Rank Fusion:RRF(相互排名融合) --Cormack,G.V.、Clarke,C.L.A.和Büttcher,S.(2009)。“互惠排名融合优于孔多塞和个体排名学习方法。” _签名'09_.\ 用于跨检索层合并结果的核心融合算法。
BM25 --Robertson,S.E.,Walker,S.,Jones,S.,Hancock Beaulieu,M.和Gatford,M.(1994)。“霍加皮在TREC-3。” _TREC-3_.\ 通过SQLite FTS5建立关键字搜索基础。

嵌入和神经红外

BERT句子 --Reimers,N.和Gurevych,I.(2019)。“句子BERT:使用暹罗BERT网络的句子嵌入。” _EMNLP 2019_. \ 使用密集嵌入架构 all-MiniLM-L6-v2.
MiniLM --王伟,魏,董,包,杨,周(2020)。“MiniLM:深度自我注意力蒸馏,用于预训练变压器的任务无关压缩。” _NeurIPS 2020_. \ 用于生产嵌入模型的高效变压器蒸馏。

重新排序和神经模型

交叉编码器重新排序 --Nogueira,R.和Cho,K.(2019)。“通过BERT重新排名。” _arXiv:1901.04085_. \ 在MS MARCO上与TinyBERT进行交叉注意力重新排序。
TinyBERT --焦等(2020)。TinyBERT:提取BERT用于自然语言理解 _EMNLP 2020的研究结果_. \ 压缩BERT用于快速重新排序推理。

矢量搜索与系统

FAISS --Johnson,J.、Douze,M.和Jégou,H.(2019)。“使用GPU进行十亿级相似性搜索。” _IEEE大数据汇刊_. \ 高性能向量相似度搜索引擎。
GLiNER --Zaratiana,U.,Nzeyimana,A.和Holat,P.(2023)。“GLiNER:使用双向变换器进行命名实体识别的泛化模型。” _arXiv:2311.08526_. \ 用于知识图实体提取的泛化NER(可选依赖关系)。

📄 许可证

麻省理工学院 --在任何地方使用它,建造任何东西。

需要代理集成帮助吗? 检查 代理商.md 用于机器可读的项目上下文。

______________________________________________________________________

_专为思维敏捷、记忆更快的特工打造。_

目录标签

目录标签

检索增强生成本地搜索PythonClaude知识图谱本地部署AI代理ONNXRuntime

支持客户端

ClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP