Token导航 LogoToken导航TokenDH.com
mcbot01 (Kliewerdaniel) logo
数据服务stdio官方级别未说明来源级核验

mcbot01 (Kliewerdaniel)

MCP Server

一个结合图数据库技术和检索增强生成(GraphRAG)的AI研究助手,提供智能文档处理、高级实体提取和知识图谱构建功能。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
知识图谱检索增强生成Python文档处理

安装说明

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

作者 / 组织

kliewerdaniel

提供方

kliewerdaniel

最后核验

2026/5/17 20:23

运行时

Python

快速接入

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

命令预览

python -m pytest

详细介绍

🧠 研究助理GraphRAG系统

一个全面的、人工智能驱动的研究助手,将图形数据库技术与检索增强生成(GraphRAG)相结合,提供智能文档处理、高级实体提取和知识图构建。具有MCP(模型上下文协议)集成功能,可增强文档上传和处理能力。

✨ 特性

核心能力

  • 📤 多格式文档上传:支持CSV、PDF、TXT、JSON和Markdown文件
  • 🎯 高级实体提取:基于规则+LLM的实体检测,具有置信度评分
  • 🕸️ 自动化知识图谱:Neo4j支持关系推理的图构造
  • 🧠 MCP集成:模型上下文协议支持增强的AI交互
  • 💬 智能聊天系统:带有实体参考和引用的情境感知回复
  • 📊 实时处理:文档处理任务的实时进度跟踪
  • 🔍 基于图形的搜索:高效检索相互关联的信息
  • ⚡ 高性能:针对批处理和大型文档收集进行了优化

支持的实体类型

  • :研究人员、作者、高管
  • 组织:公司、大学、研究机构
  • 技术:工具、框架、算法、软件系统
  • 概念:理论、方法、科学范式
  • 位置地理实体、研究设施

🏗️ 建筑

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   File Upload   │───▶│  Entity Extract │───▶│ Graph Construct │
│   & Validation  │    │  & Processing   │    │  & Storage      │
│                 │    │                 │    │                 │
└─────────────────┘    └─────────────────┘    └─────────────────┘
        │                        │                        │
        ▼                        ▼                        ▼
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│  MCP Server     │───▶│  Reasoning      │───▶│   Query         │
│  Integration    │    │  Engine         │    │   Response      │
│                 │    │                 │    │                 │
└─────────────────┘    └─────────────────┘    └─────────────────┘

技术栈

  • 后端:Python 3.9+、FastAPI、Uvicorn
  • 前端:Next.js 16、React 19、TypeScript、顺风CSS
  • 数据库:Neo4j(图形数据库),Redis(缓存)
  • AI/ML:Olama(LLM),Granite4模型,自定义实体提取
  • 基础设施:Docker,Docker Compose
  • 协议:MCP(模型上下文协议)

🚀 快速开始

先决条件

在运行系统之前,请确保已安装以下内容:

  • Python 3.9+ 使用pip
  • Node.js 16+ 使用npm
  • Docker&Docker编写 (适用于Neo4j和Redis)
  • 奥拉玛 (用于本地LLM支持)

安装

  1. 克隆存储库
   git clone https://github.com/yourusername/research-assistant-graphrag.git
   cd research-assistant-graphrag
  1. 运行自动安装脚本
   ./setup.sh

此脚本将:

- 创建Python虚拟环境 - 安装所有Python和Node.js依赖项 - 启动Docker服务(Neo4j、Redis) - 下载所需的Olama型号 - 创建必要的目录和索引

  1. 启动应用程序
   ./start.sh

这将开始:

- Neo4j数据库(图形数据库) - Redis(缓存) - Ollama服务(LLM) - FastAPI后端服务器(端口8000) - Next.js前端(端口3000)

  1. 访问应用程序

- 前端: http://localhost:3000 - API 文档: http://localhost:8000/docs - Neo4j浏览器: http://localhost:7474(作者:neo4j/研究2025) - 健康检查: http://localhost:8000/api/health

📤 文档上传与处理

文件上载API

上传文件 (职位 /api/upload/files):

curl -X POST "http://localhost:8000/api/upload/files" \
     -F "files=@document.pdf" \
     -F "files=@research_paper.txt"

处理上传的文件 (职位 /api/upload/process):

curl -X POST "http://localhost:8000/api/upload/process" \
     -H "Content-Type: application/json" \
     -d '{
       "session_id": "your-session-id",
       "entity_types": ["Person", "Organization", "Technology", "Concept"],
       "confidence_threshold": 0.6,
       "max_chunk_size": 1000,
       "overlap_size": 200
     }'

检查处理进度 (得到 /api/upload/progress/{task_id}):

curl http://localhost:8000/api/upload/progress/your-task-id

支持的文件格式

  • PDF:研究论文、技术文件
  • 文本:纯文本文件
  • JSON:结构化数据
  • CSV:表格数据
  • 标记语言:文档文件

限制:

  • 每次上传最多20个文件
  • 单个文件大小限制:50MB
  • 总上传大小限制:200MB

💬 聊天与查询系统

基本聊天

curl -X POST "http://localhost:8000/api/chat" \
     -H "Content-Type: application/json" \
     -d '{
       "message": "What are the key findings about transformers in the uploaded papers?",
       "context": "research_papers"
     }'

高级查询功能

  • 实体感知响应:返回具有置信度得分的相关实体
  • 引文追踪:参考源文件和章节
  • 主题层次结构:按相关概念组织回应
  • 共现分析:显示相互关联的想法

🔧 配置

环境变量

创建一个 .env 根目录中的文件:

# Neo4j Configuration
NEO4J_URI=bolt://localhost:7687
NEO4J_USERNAME=neo4j
NEO4J_PASSWORD=research2025

# Ollama Configuration
OLLAMA_HOST=http://localhost:11434
OLLAMA_MODEL=granite4:micro-h

# Redis Configuration
REDIS_URL=redis://localhost:6379

# Application Settings
UPLOAD_BATCH_SIZE=10
MAX_FILE_SIZE=50000000
CONTEXT_WINDOW_SIZE=8000
CONFIDENCE_THRESHOLD=0.6

# MCP Settings
MCP_SERVER_PORT=3001
MCP_MAX_CONTEXT_TOKENS=16000

Neo4j设置

该系统使用Neo4j进行图形存储。默认凭据:

  • 用户名:neo4j
  • 密码:研究2025
  • 螺栓端口: 7687
  • 浏览器端口: 7474

Olama模型

所需Olama型号:

  • granite4:micro-h (主要推理模型)
  • mxbai-embed-large:latest (嵌入相似性模型)

🧪 开发与测试

运行测试

# Backend tests
python -m pytest

# Frontend tests
cd frontend && npm test

发展模式

# Start backend in development mode
python main.py --reload

# Start frontend in development mode
cd frontend && npm run dev

数据库管理

# Create indexes
python create_indexes.py

# Create thread relationships
python create_thread_relationships.py

# Debug database
python debug_db.py

📊 监测和健康检查

API终点

  • 健康检查: GET /api/health
{
  "status": "healthy",
  "timestamp": "2025-11-18T12:00:00.000Z",
  "services": {
    "neo4j": "connected",
    "ollama": "ready",
    "redis": "connected"
  }
}
  • 系统状态: GET /api/status
{
  "total_documents": 1250,
  "total_entities": 3420,
  "total_topics": 450,
  "uptime_seconds": 3600
}

日志

  • Neo4j日志: neo4j-logs/
  • 应用程序日志:检查正在运行的服务的控制台输出
  • Docker日志: docker-compose logs

🚢 部署

开发部署

为当地发展提供所有服务:

# Use the simple setup and start scripts
./setup.sh  # One-time setup
./start.sh  # Start all services

Docker开发部署

# Start services using Docker Compose
docker-compose up --build

# Start in background
docker-compose up -d

生产Docker部署

对于具有适当编排的生产部署:

  1. 生产设置
   # Copy production environment variables
   cp .env.example .env
   # Edit .env with your production values

   # Start production services
   docker-compose -f docker-compose.prod.yml up --build -d

   # To include Ollama and Nginx
   docker-compose -f docker-compose.prod.yml --profile with-ollama --profile with-nginx up -d
  1. 生产配置
   # Required environment variables for production
   NEO4J_URI=bolt://your-neo4j-host:7687
   NEO4J_USERNAME=production_user
   NEO4J_PASSWORD=secure_password_123
   REDIS_URL=redis://your-redis-cluster:6379
   DEBUG=false
   SECRET_KEY=your-production-secret-key-min-32-chars
   LOG_LEVEL=INFO
   HOST=0.0.0.0
   FRONTEND_URL=https://yourdomain.com
   ALLOWED_ORIGINS=https://yourdomain.com

生产服务配置

Neo4j企业设置

# docker-compose.prod.yml (relevant section)
neo4j:
  image: neo4j:5.20-enterprise
  environment:
    - NEO4J_AUTH=${NEO4J_USERNAME}/${NEO4J_PASSWORD}
    - NEO4J_PLUGINS=["apoc", "graph-data-science"]
    - NEO4J_dbms_memory_heap_initial__size=512m
    - NEO4J_dbms_memory_heap_max__size=4G
    - NEO4J_dbms_memory_pagecache_size=2G

缩放注意事项

  • Neo4j:使用带集群的Neo4j Enterprise实现高可用性
  • 瑞迪斯:使用Redis集群进行横向扩展和持久化
  • 应用:使用负载均衡器和多个实例进行部署
  • 奥拉玛:使用专用GPU实例以获得更好的LLM性能

使用Nginx的反向代理

生产设置包括可选的Nginx反向代理,具有:

  • 速率限制:防止API滥用
  • 负载平衡:跨实例分发请求
  • SSL终止:处理HTTPS证书
  • 安全标头:添加与安全相关的HTTP标头
  • 静态文件服务:优化资产交付

监测和健康检查

# Check service health
curl http://localhost/api/health

# View service logs
docker-compose -f docker-compose.prod.yml logs -f

# Monitor resource usage
docker stats

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

开发设置

# Install development dependencies
pip install -r requirements-dev.txt
cd frontend && npm install

# Run linting
python -m flake8
cd frontend && npm run lint

# Run tests
python -m pytest
cd frontend && npm test

📚 API 参考

上传端点

  • POST /api/upload/files -上传多个文件
  • POST /api/upload/process -开始文档处理
  • GET /api/upload/progress/{task_id} -获取处理状态
  • DELETE /api/upload/progress/{task_id} -取消处理

聊天端点

  • POST /api/chat -发送聊天信息
  • GET /api/search -搜索文档和实体
  • POST /api/graph-rag/query -高级基于图的查询

系统端点

  • GET /api/health -健康检查
  • GET /api/status -系统统计
  • GET /api/evaluation-results -性能指标

MCP端点

  • GET /mcp/documents/{id} -通过MCP访问文档
  • GET /mcp/entities/{id} -访问实体信息
  • POST /mcp/tools/search -用于图形搜索的MCP工具

🐛 故障排除

常见问题

  1. Neo4j连接失败

- 确保Docker服务正在运行: docker-compose ps - 查看Neo4j日志: docker-compose logs neo4j - 验证中的凭据 .env 文件

  1. Ollama无法进入

- 启动Ollama: ollama serve - 拉动所需型号: ollama pull granite4:micro-h - 检查Ollama状态: ollama list

  1. 端口冲突

- 前端默认为端口3000,后端默认为8000 - 检查使用端口的内容: lsof -i :3000 - 必要时修改配置中的端口

  1. 内存问题

- 增加Docker内存限制 - 优化配置中的块大小 - 考虑Ollama的GPU加速

数据库重置

# Stop all services
docker-compose down

# Remove database volumes
docker volume rm research-assistant-graphrag_neo4j-data research-assistant-graphrag_redis-data

# Rebuild and restart
docker-compose up --build

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

📞 支持

如需支持,请:

  1. 检查 故障排除部分
  2. 审查 现有问题
  3. 打开一个新问题,提供有关您问题的详细信息

🗺️ 路线图

  • \[\]多语言文档支持
  • \[\]高级图形可视化
  • \[\]与外部API(ArXiv、PubMed)集成
  • \[\]提取实体的机器学习模型训练
  • \[\]实时协作功能
  • \[\]移动应用伴侣

目录标签

目录标签

知识图谱检索增强生成Python文档处理本地部署实体提取AI研究助手

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP