项目简介
DocSynthAI是一个模块化、可扩展的智能文档理解平台。它利用Model Context Protocol (MCP) 机制,结合Gemini Vision AI模型,为LLM应用提供标准化的文档处理服务,实现文档的智能识别和归类。
主要功能点
- AI驱动的文档分类: 整合Gemini Vision模型,能够智能识别文档内容并进行分类,例如将图片识别为发票、合同或身份证件等。
- 规则管理: 提供灵活的工具,允许用户创建、更新、查询和删除自定义的分类规则,以满足特定的业务逻辑和需求。
- 多种分类模式: 支持基于预设规则的精确分类,也支持通过通用大语言模型进行更广泛和开放式的文档分类。
- 上下文服务: 通过MCP协议,以标准化、可扩展的方式向大型语言模型(LLM)客户端提供文档处理工具,使LLM能够调用外部功能进行文档理解。
- 传输协议支持: 当前支持STDIO(标准输入/输出)传输协议进行本地或开发环境集成,未来计划扩展支持HTTP和SSE传输协议,以实现更广泛的网络集成。
安装步骤
在开始使用前,请确保您的系统已安装Python 3.11或更高版本。
-
克隆仓库: 打开终端或命令提示符,执行以下命令将DocSynthAI仓库克隆到本地:
git clone https://github.com/raahulrawat/docsynthai.git cd docsynthai -
安装Python依赖: 建议使用Python虚拟环境来管理项目依赖。首先创建并激活虚拟环境,然后安装所需的Python包:
python -m venv .venv # 激活虚拟环境 (macOS/Linux): source .venv/bin/activate # 激活虚拟环境 (Windows): # .venv\Scripts\activate # 安装依赖 (fastmcp, google-generativeai, Pillow 是主要依赖) pip install fastmcp google-generativeai Pillow注意:仓库代码中未提供'requirements.txt'文件,请手动安装上述列出的核心依赖。
服务器配置
DocSynthAI服务器旨在与任何支持MCP协议的主机或客户端(例如某些AI开发环境或IDE工具)集成。以下是一个标准的JSON配置示例,用于告诉MCP主机如何启动DocSynthAI服务器并与之建立连接:
{ "mcpServers": { "docsynth": { "command": "python", "args": [ "server.py" ], "transport": { "type": "stdio" }, "env": {} } } }
配置说明:
- 'mcpServers': 这是一个根对象,用于定义一个或多个MCP服务器。
- 'docsynth': 这是您为DocSynthAI服务器实例指定的一个唯一名称。
- 'command': 指示MCP主机使用哪个程序来启动服务器。这里设置为 'python' 解释器。
- 'args': 一个字符串数组,包含了传递给 'command' 的参数。这里指定了服务器脚本文件 'server.py'。
- 'transport': 定义MCP客户端与服务器通信所使用的协议类型。这里设置为 'stdio',表示通过标准输入/输出流进行通信。
- 'env': 一个空对象,您可以选择在此处添加任何服务器运行时需要的环境变量(例如Google API密钥等,但通常这些会在工具调用时传递)。
您可以将此JSON配置保存为 '.mcp/docsynth-mcp.json' 文件,或将其直接整合到您的MCP主机程序的配置中。这样,MCP客户端就能自动发现、启动并连接到DocSynthAI服务器。
基本使用方法
-
启动DocSynthAI MCP服务器: 在项目的根目录下,执行以下命令来启动MCP服务器:
python server.py服务器将在STDIO(标准输入/输出)模式下运行,等待MCP客户端的连接。
-
运行客户端演示: 在另一个终端窗口中,您可以运行项目提供的客户端演示脚本,以了解如何与服务器交互:
python mcp_stdio_client.py该演示客户端将执行以下操作:
- (如果服务器未运行)自动作为子进程启动 'server.py'。
- 执行MCP初始化握手过程。
- 提示您输入Google API密钥(用于启用Gemini Vision)。
- 允许您选择本地图像文件进行分类,并打印分类结果。
-
核心MCP工具: DocSynthAI服务器暴露了一系列可供LLM客户端调用的MCP工具,以执行文档处理任务:
- 'setup_classifier': 用于初始化文档分类器,配置Google API密钥和使用的Gemini模型。
- 'create_rule': 允许您创建或更新自定义的文档分类规则。
- 'get_all_rules': 查询并获取所有当前已配置的分类规则。
- 'delete_rule': 删除指定的文档分类规则。
- 'classify_document': 核心分类工具,接收Base64编码的文档图像和媒体类型,返回分类结果。
信息
分类
AI与计算