RAG Anything MCP服务器
MCP(模型上下文协议)服务器,提供全面的RAG(检索增强生成)功能,用于使用 raganything 图书馆提供全面的多模式支持。
特性
- 端到端文档处理:使用多模式内容提取完成文档解析
- 多模态RAG:支持图像、表格、方程式和文本处理
- 批处理:处理具有多种文件类型的整个目录
- 高级查询:纯文本和多模式增强查询
- 多种查询模式:混合、本地、全球、天真、混合和绕过模式
- 视觉处理:使用GPT-4V进行高级图像分析
- 永久存储:每个目录维护RAG实例,以实现高效查询
可用工具
process_directory
处理目录中的所有文件,以便在多模式支持下进行全面的RAG索引。
所需参数:
directory_path:包含要处理的文件的目录的路径api_key:用于LLM和嵌入函数的OpenAI API密钥
可选参数:
working_dir:RAG存储的自定义工作目录base_url:OpenAI API基本URL(用于自定义终结点)file_extensions:要处理的文件扩展名列表(默认值:\[“.pdf”、“.docx”、“.pptx”、“.txt”、“.md”\])recursive:进程子目录(默认值:True)enable_image_processing:启用图像分析(默认值:True)enable_table_processing:启用表提取(默认值:True)enable_equation_processing:启用方程式处理(默认值:True)max_workers:并发处理工人(默认值:4)
process_single_document
使用完整的多模态分析处理单个文档。
所需参数:
file_path:要处理的文档的路径api_key:OpenAI API密钥
可选参数:
working_dir:RAG存储的自定义工作目录base_url:OpenAI API基础URLoutput_dir:已解析内容的输出目录parse_method:文档解析方法(默认:“auto”)enable_image_processing:启用图像分析(默认值:True)enable_table_processing:启用表提取(默认值:True)enable_equation_processing:启用方程式处理(默认值:True)
query_directory
使用LightRAG对处理过的文档进行纯文本查询。
参数:
directory_path:已处理目录的路径query:关于文件的问题mode:查询模式-“混合”、“本地”、“全局”、“天真”、“混合”或“绕过”(默认:“混合”)
query_with_multimodal_content
具有额外多模态内容(表、方程等)的增强查询。
参数:
directory_path:已处理目录的路径query:要问的问题multimodal_content:多模式内容词典列表mode:查询模式(默认:“混合”)
示例multimodal_content:
[
{
"type": "table",
"table_data": "Method,Accuracy\\nRAGAnything,95.2%\\nBaseline,87.3%",
"table_caption": "Performance comparison"
},
{
"type": "equation",
"latex": "P(d|q) = \\frac{P(q|d) \\cdot P(d)}{P(q)}",
"equation_caption": "Document relevance probability"
}
]list_processed_directories
列出所有已处理且可供查询的目录。
get_rag_info
获取有关目录的RAG配置和状态的详细信息。
使用示例
1.基本目录处理
process_directory(
directory_path="/path/to/documents",
api_key="your-openai-api-key"
)2.高级目录处理
process_directory(
directory_path="/path/to/research_papers",
api_key="your-openai-api-key",
file_extensions=[".pdf", ".docx"],
enable_image_processing=true,
enable_table_processing=true,
max_workers=6
)3.纯文本查询
query_directory(
directory_path="/path/to/documents",
query="What are the main findings in these research papers?",
mode="hybrid"
)4.使用表格数据的多模式查询
query_with_multimodal_content(
directory_path="/path/to/documents",
query="Compare these results with the document findings",
multimodal_content=[{
"type": "table",
"table_data": "Method,Accuracy,Speed\\nRAGAnything,95.2%,120ms\\nBaseline,87.3%,180ms",
"table_caption": "Performance comparison"
}],
mode="hybrid"
)5.单文档处理
process_single_document(
file_path="/path/to/important_paper.pdf",
api_key="your-openai-api-key",
enable_image_processing=true
)设置要求
1.环境变量
export OPENAI_API_KEY="your-openai-api-key-here"2.安装依赖项
uv sync3.运行MCP服务器
python main.py查询模式说明
- 混合:结合本地和全局搜索(建议用于大多数用例)
- 本地:关注当地环境和实体关系
- 全球的:提供更广泛的文档级见解和摘要
- 天真:基于关键字的简单搜索,无需图推理
- 混合:结合多种方法以取得全面成果
- 绕过:无需RAG处理即可直接访问
多模态内容类型
服务器支持以下处理和查询:
- 图像:自动字幕生成和视觉分析
- 表格:结构提取和内容分析
- 方程:LaTeX解析和数学推理
- 图表/图形:可视化数据解释
- 混合内容:多种内容类型的组合分析
API配置
服务器默认使用OpenAI的API:
- LLM:GPT-4o-mini用于文本处理
- 视觉:GPT-4o用于图像分析
- 嵌入:text-embedding-3-large(3072尺寸)
您可以自定义 base_url 要使用的参数:
- Azure OpenAI
- OpenAI兼容API
- 自定义模型端点
文件支持
支持的文件格式包括:
- PDF文档
- 微软Word(.docx)
- PowerPoint演示文稿(.pptx)
- 文本文件(.txt)
- Markdown文件(.md)
- 更多信息请访问raganything库
业绩说明
- 并发处理:使用
max_workers控制并行文档处理 - 内存使用:包含许多图像的大型文档可能需要大量内存
- API成本:视觉处理(GPT-4o)比文本处理更昂贵
- 存储:处理后的数据存储在本地,以便高效地重新查询
