项目简介
FlockParse是一个强大的分布式系统,旨在通过聚合异构的GPU/CPU资源,为文档检索增强生成(RAG)提供高性能支持。它能够自动发现Ollama节点,智能路由工作负载,并通过Model Context Protocol (MCP) 协议与AI助手(如Claude Desktop)集成,提供文档处理、语义搜索和智能问答功能。其设计注重隐私保护,支持100%本地运行,确保数据安全。
主要功能点
- MCP集成: 作为MCP服务器,FlockParse提供标准接口供AI助手调用,实现文档上传、查询和聊天等功能。
- 分布式处理: 具备智能负载均衡能力,可自动发现本地网络中的Ollama节点,并根据GPU、VRAM和CPU性能动态路由任务,实现高效协同。
- GPU加速: 优先利用集群中的GPU资源进行嵌入生成和LLM推理,显著提升处理速度。
- 文档处理: 支持PDF文件提取、OCR(光学字符识别)扫描版PDF、文本分块、向量嵌入生成,并可将文档内容转换为TXT、Markdown、DOCX和JSON等多种格式。
- 语义搜索: 基于先进的向量嵌入技术,实现对文档内容的语义理解和高效检索。
- AI问答: 结合RAG技术,让AI助手能够基于您已处理的文档库进行智能问答,并提供清晰的来源引用。
- 隐私优先: 支持100%本地运行模式,所有敏感数据处理都在您的本地环境中完成,无需外部API调用,确保数据安全和隐私。
安装步骤
-
克隆仓库: 打开您的终端或命令行工具,执行以下命令克隆FlockParse的代码仓库:
git clone https://github.com/BenevolentJoker-JohnL/FlockParser.git cd FlockParser -
安装系统依赖: 为了确保PDF文本提取和OCR功能正常工作,请先安装以下系统工具。
- Linux (Ubuntu/Debian):
sudo apt-get update sudo apt-get install poppler-utils tesseract-ocr tesseract-ocr-eng - macOS:
brew install poppler tesseract - Windows: 请从以下链接下载并安装 Poppler for Windows 和 Tesseract OCR,并务必将其安装路径添加到系统环境变量PATH中。
- Linux (Ubuntu/Debian):
-
安装Python依赖: 继续在FlockParser项目目录下执行以下命令安装所有Python库:
pip install -r requirements.txt -
安装和配置Ollama:
- 从 ollama.ai 下载并安装Ollama。
- 启动Ollama服务: 在一个新的终端或命令行窗口中运行 'ollama serve',确保Ollama服务正在后台运行。
- 拉取所需模型: 在Ollama服务运行的情况下,拉取FlockParse所需的嵌入模型和聊天模型:
ollama pull mxbai-embed-large # 嵌入模型,用于生成文档向量 ollama pull llama3.1:latest # 聊天模型,用于AI问答
MCP服务器配置 (Claude Desktop示例)
FlockParse的MCP服务器是为AI助手提供扩展能力的,您无需手动启动 'flock_mcp_server.py'。相反,您需要配置您的MCP客户端(例如Claude Desktop),使其在需要时自动启动和管理FlockParse服务器。
以下是与Claude Desktop集成的配置示例。请将其添加到您的Claude Desktop配置文件中(macOS通常在 '~/Library/Application Support/Claude/claude_desktop_config.json',Windows通常在 '%APPDATA%\Claude\claude_desktop_config.json')。
重要提示: 请务必将 'args' 数组中的路径 '/absolute/path/to/FlockParser/flock_mcp_server.py' 替换为您的FlockParser项目根目录下 'flock_mcp_server.py' 脚本的实际绝对路径。
{ "mcpServers": { "flockparse": { "command": "python", "args": ["/absolute/path/to/FlockParser/flock_mcp_server.py"], "name": "FlockParse 文档智能", "description": "连接到FlockParse分布式RAG系统,处理、查询和聊天文档。提供GPU加速和负载均衡。", "icon": "📚" } } }
配置参数说明:
- '"mcpServers"': 这是Claude Desktop配置文件中用于定义所有MCP服务器的顶层键。
- '"flockparse"': 您为这个FlockParse MCP服务器实例指定的唯一标识符。
- '"command"': 启动FlockParse MCP服务器所使用的可执行命令,通常是 'python'。
- '"args"': 传递给 'command' 的参数列表。其中第一个参数必须是 'flock_mcp_server.py' 脚本的完整绝对路径。
- '"name"': 在Claude Desktop界面中向用户显示的服务器名称,建议简洁明了。
- '"description"': 服务器功能的简要说明,帮助用户理解其提供的服务。
- '"icon"': 在Claude Desktop界面中显示的服务器图标(可选,您可以使用表情符号)。
完成以上配置后,请重启您的Claude Desktop应用。FlockParse提供的工具(例如“处理PDF”、“查询文档”等)将自动在Claude Desktop中可用。
基本使用方法 (通过Claude Desktop)
在Claude Desktop中,您可以直接与FlockParse MCP服务器进行交互,通过自然语言来调用其提供的工具:
- 处理PDF文件: 您可以通过提供文件的绝对路径来让FlockParse处理PDF文档,例如: “请处理位于 '/home/user/documents/my_report.pdf' 的PDF文件。”
- 列出已处理的文档: 询问您的知识库中包含哪些文档: “我的知识库里现在有哪些文档?”
- 查询文档内容: 利用语义搜索功能,向您的文档库提问: “搜索我的文档中关于全球变暖影响的最新研究。”
- 与文档进行智能聊天: 让AI助手根据文档内容回答您的问题: “我的研究论文中提到了哪些关于AI伦理的观点?”
- 查看负载均衡状态: 获取FlockParse分布式处理集群的性能统计信息: “获取当前FlockParse负载均衡器的统计数据。”
信息
分类
AI与计算