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

meshmind (Maybeprascoder)

MCP Server

MeshMind是一个企业级检索增强生成(RAG)系统,集成了知识图谱和多阶段架构,适用于文档分析、知识管理和企业集成场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
知识图谱Python数据分析

安装说明

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

作者 / 组织

maybeprascoder

提供方

maybeprascoder

最后核验

2026/5/17 20:19

快速接入

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

命令预览

pip install -r simple_requirements.txt

详细介绍

MeshMind RAG系统

具有知识图和多阶段架构的企业级检索增强生成(RAG)系统

![Python](https://python.org) ![FastAPI](https://fastapi.tiangolo.com) ![License](LICENSE)

🎯 概述

MeshMind是一个全面的RAG系统,展示了具有先进人工智能集成、知识图构建和现代软件工程实践的企业级架构。该系统展示了从简化原型到生产就绪微服务的演变。

🏗️ 架构阶段

第一阶段:核心系统

  • 整体的:具有全面功能的单一FastAPI应用程序
  • 处理:同步文档处理并立即响应
  • 知识图谱:实体提取和混合检索
  • 依赖项:优化了最小依赖关系
  • 用例:快速部署和示范

第二阶段:企业架构

  • 微服务:与后台工作程序分离的摄取/查询API
  • 数据库:MongoDB(块)、Neo4j(知识图)、Redis(缓存)
  • 处理:使用BullMQ/Celery的异步作业队列
  • 可扩展性:生产就绪,具有全面的错误处理功能
  • 用例:大规模生产部署

第三阶段:高级集成

  • MCP协议:模型上下文协议实现
  • 外部API:Notion和Jira集成
  • 内容处理:通过统一管道传输外部内容
  • 用例:企业集成和外部数据源

🚀 快速开始

第一阶段(核心系统)

  1. 克隆存储库
   git clone https://github.com/maybeprascoder/meshmind.git
   cd MeshMind-RAG-System
  1. 安装依赖项
   pip install -r simple_requirements.txt
  1. 启动API服务器
   python simple_app.py
  1. 访问API文档

- API文件:http://localhost:8000/docs - 健康检查:http://localhost:8000/health

第2阶段(企业架构)

  1. 设置数据库
   # MongoDB, Neo4j, Redis required
   pip install -r requirements.txt
  1. 配置环境
   cp env.example .env
   # Edit .env with your database credentials
  1. 启动微服务
   python main.py ingest    # Port 8081
   python main.py query      # Port 8082
   python main.py worker     # Background processing

🎨 特性

核心RAG能力

  • PDF处理:用于文档提取的PyPDF2集成
  • 文本组块:智能文档分割
  • 矢量嵌入:OpenAI文本嵌入3-small
  • 混合搜索:矢量相似度+关键字匹配
  • 知识图谱:实体提取和关系映射
  • 来源引用:透明的答案归因

第一阶段特征

  • 统一API:所有操作的单一端点
  • 立即处理:同步文档处理
  • 模拟集成:独立系统
  • 轻松部署:所需配置最少

第二阶段特征

  • 微服务:分离的摄取/查询API
  • 后台作业:异步处理管道
  • 数据库集成:MongoDB、Neo4j、Redis
  • 作业跟踪:详细的进度监控
  • 错误处理:全面的错误管理
  • 可扩展性:生产就绪架构

📊 系统比较

功能第一阶段(核心)第二阶段(企业)第三阶段(高级)
建筑单片微服务MCP集成
处理同步异步(作业)异步(外部)
存储集成分布式外部API
设置时间2分钟30+分钟1+小时
依赖项最小全面MCP协议
可扩展性中等

🛠️ 技术栈

后端

  • 快速API:现代Python web框架
  • 派丹蒂克:数据验证和序列化
  • PyPDF2:PDF文本提取
  • 开放人工智能:GPT-4和嵌入件
  • Neo4j:知识图谱数据库

数据库 (第二阶段)

  • MongoDB:文档存储和分块
  • Neo4j:知识图关系
  • 瑞迪斯:缓存和作业排队

AI/ML

  • OpenAI GPT-4:语言模型集成
  • 文本嵌入:矢量相似性搜索
  • 知识图谱:实体提取和关系
  • 混合检索:结合多种搜索策略

🔧 API终点

核心终点

  • POST /upload -上传文件
  • GET /file/{file_id}/status -检查处理状态
  • POST /query -使用混合检索查询文档
  • GET /graph/{file_id} -查看知识图
  • GET /files -列出用户文件
  • GET /health -健康检查

企业端点 (第二阶段)

  • POST /api/ingest/register -用于处理的注册文件
  • GET /api/ingest/status -作业状态跟踪
  • POST /api/search -矢量和关键字搜索
  • POST /api/chat -对话界面

📈 演出

  • 处理速度:每份文件2-5秒(第一阶段),10-30秒(第二阶段)
  • 组块大小:1000个字符(可配置)
  • 嵌入模型:text-embedding-3-small(1536尺寸)
  • 知识图谱:每份文件20-50个实体
  • 并发用户:支持多个同时上传

🎯 用例

文件分析

  • 研究论文综述
  • 法律文件审查
  • 技术文档问答
  • 简历分析和见解

知识管理

  • 企业知识库
  • 教育内容处理
  • 客户支持自动化
  • 内容发现和搜索

集成场景

  • 概念工作空间集成
  • Jira问题分析
  • 汇流页处理
  • GitHub文档

🚀 部署

第一阶段(核心系统)

python simple_app.py

第二阶段(企业)

python main.py ingest
python main.py query
python main.py worker

🎨 前端集成指南

面向UI开发人员

本节为使用MeshMind RAG系统的前端开发人员提供了全面的集成细节。

身份验证和会话管理

  • 文员整合:所有用户会话均由职员管理
  • 用户ID格式: user_34ahV0zive4ngGq60o7NeSQw2eu (职员用户ID)
  • 会话处理:办事员处理身份验证、授权和用户管理
  • API标题:包括 user-id 所有API请求中具有Clerk用户ID的标头

文件上传流程

  1. 用户上传文件 通过UI
  2. 文件已上传 到Amazon S3存储桶(minidriveai-bucket.s3.us-east-2.amazonaws.com)
  3. S3 URL已生成 并存储在MongoDB元数据中
  4. 文件处理 自动开始
  5. 状态更新 通过API端点提供

MongoDB文件元数据架构

{
  "_id": {"$oid": "68fe2196cabd021f0e7cbe0c"},
  "owner": "user_34ahV0zive4ngGq60o7NeSQw2eu",
  "filename": "Vivek_Resume.pdf",
  "mimetype": "application/pdf",
  "s3Url": "https://minidriveai-bucket.s3.us-east-2.amazonaws.com/3f36750c-8a7f-4998-98d9-30e424d14524-Vivek_Resume.pdf",
  "s3Key": "3f36750c-8a7f-4998-98d9-30e424d14524-Vivek_Resume.pdf",
  "uploadedAt": {"$date": {"$numberLong": "1761485206180"}},
  "geminiFileName": "files/zy4suxgct2h6",
  "geminiFileUri": "https://generativelanguage.googleapis.com/v1beta/files/zy4suxgct2h6"
}

所需的API集成

1.文件上传端点

// POST /upload
const uploadFile = async (file, userId) => {
  const formData = new FormData();
  formData.append('file', file);
  
  const response = await fetch('/upload', {
    method: 'POST',
    headers: {
      'user-id': userId  // Clerk user ID
    },
    body: formData
  });
  
  return response.json();
};

2.文件状态检查

// GET /file/{file_id}/status
const checkFileStatus = async (fileId, userId) => {
  const response = await fetch(`/file/${fileId}/status`, {
    headers: {
      'user-id': userId
    }
  });
  
  return response.json();
};

3.单据查询

// POST /query
const queryDocument = async (query, fileId, userId) => {
  const response = await fetch('/query', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'user-id': userId
    },
    body: JSON.stringify({
      query: query,
      file_id: fileId,
      use_kg: true
    })
  });
  
  return response.json();
};

4.用户文件列表

// GET /files
const getUserFiles = async (userId) => {
  const response = await fetch('/files', {
    headers: {
      'user-id': userId
    }
  });
  
  return response.json();
};

所需UI组件

1.文件上传组件

  • 文件上传
  • 上传过程中的进度指示器
  • 上传失败的错误处理

2.文件管理仪表板

  • 用户上传文件列表
  • 文件状态指示器(正在处理、就绪、错误)
  • 删除/移除文件功能

3.聊天界面

  • 聊天输入字段
  • 消息历史记录显示

集成检查表

  • \[ \] 职员身份验证:实施Clerk SDK进行用户管理
  • \[ \] S3上传:配置AWS S3进行文件存储
  • \[ \] API标题:包括 user-id 所有请求中的标头
  • \[ \] 文件验证:验证文件类型和大小
  • \[ \] 错误处理:实施全面的错误处理
  • \[ \] 加载状态:为所有异步操作添加加载指示器
  • \[ \] 实时更新:实施状态更新轮询
  • \[ \] 响应式设计:确保移动兼容性
  • \[ \] 无障碍:遵循WCAG指南
  • \[ \] 测试:实施单元和集成测试

前端环境变量

# Clerk Configuration
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
CLERK_SECRET_KEY=sk_test_...

# API Configuration
NEXT_PUBLIC_API_BASE_URL=http://localhost:8000
NEXT_PUBLIC_S3_BUCKET=minidriveai-bucket
NEXT_PUBLIC_AWS_REGION=us-east-2

# For direct S3 uploads
NEXT_PUBLIC_AWS_ACCESS_KEY_ID=...
NEXT_PUBLIC_AWS_SECRET_ACCESS_KEY=...

React组件示例

import { useUser } from '@clerk/nextjs';
import { useState } from 'react';

const DocumentUpload = () => {
  const { user } = useUser();
  const [uploading, setUploading] = useState(false);
  const [files, setFiles] = useState([]);

  const handleFileUpload = async (file) => {
    setUploading(true);
    try {
      const result = await uploadFile(file, user.id);
      setFiles(prev => [...prev, result]);
    } catch (error) {
      console.error('Upload failed:', error);
    } finally {
      setUploading(false);
    }
  };

  return (
    

       handleFileUpload(e.target.files[0])}
        disabled={uploading}
      />
      {uploading && 
Uploading...
}
      {/* File list and chat interface */}
    

  );
};

🤝 贡献

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

👨‍💻 作者

Prasoon Kumar和Vivek Hegde

  • GitHub:\[@maybeprasgoder\]\[@HEGDEVIVEK\]
  • 领英:(https://www.linkedin.com/in/prasoon-singh-ty/) (https://www.linkedin.com/in/vivek-s-hegde-2001)

🙏 致谢

  • 用于嵌入模型的OpenAI
  • GeminiAI for Gemini 2.5 Flash版本
  • FastAPI团队打造卓越的web框架
  • Neo4j用于图形数据库功能

______________________________________________________________________

⭐ 如果您觉得此存储库有用,请将其标记为星号!

目录标签

目录标签

知识图谱Python数据分析本地部署企业级RAG文档分析AI集成微服务架构

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP