项目简介
Vectorizer 是一个用 Rust 编写的高性能向量数据库和搜索引擎,专为语义搜索、文档索引和 AI 应用设计。它通过实现 Model Context Protocol (MCP),可以作为大型语言模型 (LLM) 的后端,提供标准化的上下文信息和功能。Vectorizer 不仅提供核心向量数据库功能,还支持文档自动转换、图关系发现、Qdrant API 兼容性,并提供桌面 GUI 和 Web 控制台。
主要功能点
- MCP 集成: 作为 MCP 服务器,提供 20 个工具供 LLM 调用,例如 'list_collections'(列出数据集合)、'insert_text'(插入文本并自动生成向量)、'search'(执行向量搜索)、'get_file_content'(获取文件内容)等。
- 高性能向量搜索: 支持余弦、欧几里得、点积等多种距离度量,通过 AVX2 SIMD 和 Metal GPU 加速实现极速搜索。
- 文档处理: 自动转换和索引 PDF、DOCX、XLSX、PPTX、HTML、XML 和图像等多种文档格式。
- 图关系: 自动发现数据之间的图关系,并支持图遍历、路径查找,可通过可视化界面进行管理。
- Qdrant 兼容: 完全兼容 Qdrant 1.14.x API,并提供数据迁移工具。
- 存储优化: 采用内存映射存储(MMap)和产品量化(PQ)技术,实现高效存储和内存利用。
- 易于部署: 支持 Linux/macOS 安装脚本、Windows PowerShell 安装脚本和 Docker 部署。
- 用户界面: 提供现代化的 React + TypeScript Web 控制台和 Electron 桌面应用,用于可视化管理和操作。
安装步骤
Vectorizer 可以通过安装脚本或 Docker 快速部署。
方式一:使用安装脚本 (Linux/macOS) 运行以下命令来安装 Vectorizer CLI 并将其配置为系统服务:
curl -fsSL https://raw.githubusercontent.com/hivellm/vectorizer/main/scripts/install.sh | bash
安装后,可以通过 'vectorizer --help' 访问 CLI,并使用 'sudo systemctl status vectorizer' 查看服务状态。
方式二:使用 Docker (推荐) 通过 Docker Hub 运行 Vectorizer:
docker run -d \ --name vectorizer \ -p 15002:15002 \ -v $(pwd)/vectorizer-data:/vectorizer/data \ --restart unless-stopped \ hivehub/vectorizer:latest
这将在端口 '15002' 启动 Vectorizer 服务器,并将数据持久化到本地目录 'vectorizer-data'。
MCP 服务器配置
Vectorizer 作为 MCP 服务器运行在 'http://localhost:15002/mcp' 地址。MCP 客户端(例如 Cursor IDE)可以通过以下 JSON 配置连接到 Vectorizer:
{ "mcpServers": { "vectorizer": { "url": "http://localhost:15002/mcp", "type": "streamablehttp" } } }
- 'vectorizer': 这是您为该 MCP 服务器指定的名称。
- 'url': MCP 服务器的访问地址。默认情况下,Vectorizer 会在 '15002' 端口启动,MCP 接口路径为 '/mcp'。
- 'type': 传输协议类型,'streamablehttp' 表示通过 HTTP 流式传输进行通信。
基本使用方法
一旦 Vectorizer 服务器启动并运行,您可以通过其 REST API、MCP 接口或 Web 控制台进行操作。
- 访问 Web 控制台: 在浏览器中打开 'http://localhost:15002/dashboard/' 来访问 Vectorizer 的可视化管理界面。
- 通过 MCP 客户端: 配置您的 LLM 客户端(如 Cursor IDE)以上述 MCP 服务器配置连接 Vectorizer。之后,LLM 即可调用 Vectorizer 提供的 20 个工具,例如:
- 创建集合: 'create_collection("my_docs", dimension=384, metric="cosine")'
- 插入文本: 'insert_text("my_docs", "人工智能是未来的关键技术。")'
- 搜索: 'search("my_docs", query="AI 的未来发展", limit=5)'
- 获取文件内容: 'get_file_content("path/to/my/document.pdf")'
- 发现图关系: 'discover_edges("my_docs", similarity_threshold=0.8)'
- REST API 访问: 您也可以直接通过 'http://localhost:15002' 访问其 RESTful API,例如获取集合列表:
curl http://localhost:15002/collections
信息
分类
数据库与文件