# OntoMind **Repository Path**: devonqi/onto-mind ## Basic Information - **Project Name**: OntoMind - **Description**: OntoMind 是一个基于大模型(LLM)的智能本体构建平台,遵循 W3C OWL 2 标准,提供从数据接入、本体建模、知识存储、行为规则到应用交互的全链路能力。平台通过 CodeAgent(Auto-Harness 模式)自动执行本体构建的四阶段流程:初始化 → 规划 → 执行 → 验证。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 15 - **Created**: 2026-06-06 - **Last Updated**: 2026-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OntoMind - 智能本体构建平台 > AI-Native 企业本体建模平台,基于大模型的自动化本体构建与知识管理 ## 项目简介 OntoMind 是一个基于大模型(LLM)的智能本体构建平台,遵循 W3C OWL 2 标准,提供从数据接入、本体建模、知识存储到应用交互的全链路能力。平台通过 Agent 自动执行本体构建流程,支持实体抽取、关系发现、规则提取等智能任务。 ### 核心特性 - **多源数据连接** - 支持 JDBC 数据库、文件(CSV/Excel/PDF/Word)、REST API 数据源 - **智能本体建模** - 基于 LLM 的实体关系自动抽取,OWL 2 DL/RL 标准支持 - **语义推理引擎** - Apache Jena 推理,HermiT/Openllet 推理机,一致性检查与冲突检测 - **虚拟表查询引擎** - SQL 到 SPARQL 编译,多数据源联合查询 - **规则引擎** - 支持 SWRL 规则,业务规则管理与执行 - **实例化向导** - 三步式本体实例化流程,自动映射与推理 - **自然语言查询** - NL2SPARQL 转换,支持中文自然语言查询 - **MCP 协议支持** - Model Context Protocol 服务端,支持 AI 工具调用 - **模型配置管理** - 多 LLM 提供商配置,统一模型管理接口 - **文档解析** - 支持 PDF/Word/Excel 等文档解析,Markdown 转换 - **备份恢复** - 系统数据备份与恢复,支持定时备份 ## 技术架构 ``` ┌─────────────────────────────────────────────────────┐ │ 应用交互层 │ │ React 18 + Ant Design 5 + AntV G6 + TanStack Query │ ├─────────────────────────────────────────────────────┤ │ 服务网关层 │ │ Spring Security 6 + JWT认证 + REST API │ ├─────────────────────────────────────────────────────┤ │ Agent智能层 │ │ Python + FastAPI + LiteLLM + LangChain │ ├─────────────────────────────────────────────────────┤ │ 业务逻辑层 │ │ 本体管理 + 规则引擎 + 虚拟表 + 实例化 + MCP服务 │ ├─────────────────────────────────────────────────────┤ │ 语义推理层 │ │ Apache Jena + HermiT + Openllet + OWL API │ ├─────────────────────────────────────────────────────┤ │ 数据存储层 │ │ PostgreSQL + Redis + Apache Jena TDB2 │ └─────────────────────────────────────────────────────┘ ``` ## 技术栈 | 层次 | 技术选型 | 说明 | |------|---------|------| | **前端** | React 18 + TypeScript + Vite + Ant Design 5 + AntV G6 | 现代化的响应式界面,支持本体可视化 | | **后端** | Java 17 + Spring Boot 3.2.5 + Spring Security 6 + Spring Data JPA | RESTful API,JWT认证,数据持久化 | | **Agent** | Python 3.11 + FastAPI + LiteLLM + Redis + Celery | LLM集成,智能推理,异步任务处理 | | **语义推理** | Apache Jena 4.10 + OWL API 5.1 + HermiT + Openllet | OWL 2推理,SPARQL查询,一致性检查 | | **关系数据库** | PostgreSQL 16 + Flyway | 业务数据存储,数据库版本迁移 | | **缓存** | Redis 7 | 会话缓存,查询结果缓存,Celery消息队列 | | **文件存储** | MinIO | 对象存储,文件上传管理 | | **LLM集成** | DeepSeek/Qwen/GPT 等多模型支持(通过 LiteLLM) | 实体抽取,关系发现,NL2SPARQL | ## 项目结构 ``` ontomind-platform/ ├── ontomind-web/ # React 前端应用 │ ├── src/ │ │ ├── api/ # API接口封装 │ │ ├── components/ # 公共组件 │ │ ├── layouts/ # 页面布局 │ │ ├── pages/ # 页面组件 │ │ │ ├── Dashboard/ # 仪表盘 │ │ │ ├── DataSource/ # 数据源管理 │ │ │ ├── Ontology/ # 本体管理 │ │ │ ├── OntologyApp/ # 本体应用 │ │ │ ├── OntologyAgent/ # 本体Agent │ │ │ ├── Instantiation/ # 实例化向导 │ │ │ ├── StructuredData/ # 结构化数据 │ │ │ ├── UnstructuredData/ # 非结构化数据 │ │ │ ├── NLQuery/ # 自然语言查询 │ │ │ ├── DataBrowser/ # 数据浏览 │ │ │ ├── ModelManagement/ # 模型管理 │ │ │ ├── Skill/ # 技能管理 │ │ │ ├── BuildCenter/ # 构建中心 │ │ │ └── System/ # 系统管理 │ │ ├── types/ # TypeScript类型定义 │ │ └── utils/ # 工具函数 │ ├── Dockerfile # 前端Docker镜像 │ └── package.json # 前端依赖 ├── ontomind-server/ # Java 后端服务 │ ├── src/main/java/com/ontomind/ │ │ ├── api/ # API健康检查 │ │ ├── auth/ # 认证授权模块 │ │ ├── backup/ # 备份恢复模块 │ │ ├── buildtask/ # 构建任务模块 │ │ ├── common/ # 公共模块 │ │ ├── connector/ # 数据连接器模块 │ │ ├── document/ # 文档解析模块 │ │ ├── instantiation/ # 实例化模块 │ │ ├── knowledge/ # 知识抽取模块 │ │ ├── mcp/ # MCP协议服务 │ │ ├── modelconfig/ # 模型配置模块 │ │ ├── ontology/ # 本体管理模块 │ │ ├── query/ # 查询服务模块 │ │ ├── rule/ # 规则引擎模块 │ │ ├── skill/ # Agent技能模块 │ │ ├── versioncontrol/ # 版本控制模块(开发中) │ │ ├── virtualtable/ # 虚拟表引擎模块 │ │ └── workflow/ # 工作流模块(开发中) │ ├── src/main/resources/ │ │ ├── config/ # 配置文件 │ │ ├── db/migration/ # Flyway数据库迁移脚本 │ │ └── application*.yml # Spring配置文件 │ ├── Dockerfile # 后端Docker镜像 │ └── pom.xml # Maven依赖管理 ├── ontomind-agent/ # Python Agent服务 │ ├── src/ontomind_agent/ │ │ ├── agents/ # Agent实现 │ │ │ ├── base_agent.py # 基础Agent │ │ │ ├── init_agent.py # Init Agent │ │ │ ├── plan_agent.py # Plan Agent │ │ │ ├── execute_agent.py # Execute Agent │ │ │ └── verify_agent.py # Verify Agent │ │ ├── llm/ # LLM集成 │ │ ├── routes/ # FastAPI路由 │ │ └── services/ # 服务层 │ ├── tests/ # 测试文件 │ ├── Dockerfile # Agent Docker镜像 │ ├── requirements.txt # Python依赖 │ └── pyproject.toml # Python项目配置 ├── docker/ # Docker部署配置 │ ├── docker-compose.yml # 生产环境配置 │ ├── docker-compose.dev.yml # 开发环境配置 │ ├── nginx/nginx.conf # Nginx配置 │ └── .env # 环境变量 └── docs/ # 项目文档 ├── hermes-skill/ # Hermes技能文档 └── MCP-USAGE.md # MCP使用指南 ``` ## 快速开始 ### 前置条件 - **Node.js** >= 20 - **Java** >= 17 (OpenJDK 17+) - **Python** >= 3.11 - **Docker** & Docker Compose - **PostgreSQL** 16 - **Redis** 7 ### 1. 启动基础设施(开发环境) ```bash cd docker docker-compose -f docker-compose.dev.yml up -d ``` 这将启动以下服务: - PostgreSQL 16 (端口 5432) - Redis 7 (端口 6379) - Apache Jena Fuseki (端口 3030) ### 2. 启动后端服务 ```bash cd ontomind-server mvn clean install -DskipTests mvn spring-boot:run ``` 后端服务将在 http://localhost:8080 启动,包含: - REST API 端点 - Swagger UI (http://localhost:8080/swagger-ui.html) - 数据库自动迁移 ### 3. 启动前端应用 ```bash cd ontomind-web npm install npm run dev ``` 前端应用将在 http://localhost:3000 启动。 ### 4. 启动Agent服务 ```bash cd ontomind-agent pip install -r requirements.txt cp .env.example .env # 编辑配置 uvicorn src.ontomind_agent.main:app --reload --port 8000 ``` Agent服务将在 http://localhost:8000 启动。 ### 5. 生产环境部署 ```bash cd docker docker-compose up -d --build ``` 完整的生产环境将在 http://localhost:17386/ontomind 可用。 ## API 文档 ### Swagger UI 启动后端服务后,访问 http://localhost:8080/swagger-ui.html 查看完整的API文档。 ### 主要API端点 | 模块 | 端点前缀 | 说明 | |------|----------|------| | 认证 | `/api/v1/auth/*` | 用户登录、注册、Token刷新 | | 用户 | `/api/v1/users/*` | 用户管理 | | 数据源 | `/api/v1/datasources/*` | 数据源CRUD、连接测试、资源发现 | | 文件上传 | `/api/v1/file-uploads/*` | 文件上传、解析、预览 | | 本体 | `/api/v1/ontologies/*` | 本体CRUD、导入导出、推理 | | 虚拟表 | `/api/v1/virtual-tables/*` | 虚拟表查询、字段映射 | | 规则 | `/api/v1/rules/*` | 规则CRUD、激活、执行 | | 技能 | `/api/v1/skills/*` | 技能管理、执行 | | 查询 | `/api/v1/query/*` | SPARQL查询、自然语言查询 | | 构建任务 | `/api/v1/build-tasks/*` | 构建任务管理、执行监控 | | 实例化 | `/api/v1/instantiation/*` | 三步式实例化向导 | | 模型配置 | `/api/v1/model-providers/*` | LLM提供商配置 | | 模型配置 | `/api/v1/model-configs/*` | 模型参数配置 | | 文档解析 | `/api/v1/documents/*` | 文档上传与解析 | | 备份恢复 | `/api/v1/system/backup/*` | 系统备份与恢复 | | MCP协议 | `/mcp/*` | Model Context Protocol 服务端 | ### Agent API端点 | 端点前缀 | 说明 | |----------|------| | `/agent/build-tasks/*` | 构建任务管理 | | `/agent/infer-schema` | LLM Schema推断 | | `/agent/extract-*` | 实体/关系/规则抽取 | | `/agent/query/*` | 自然语言查询(支持流式) | | `/agent/hermes/*` | Hermes智能对话(可选) | ### 认证方式 所有API使用JWT Bearer Token认证: ```bash curl -H "Authorization: Bearer {jwt_token}" http://localhost:8080/api/v1/ontologies ``` ## 功能模块 ### 数据源管理 - **多源连接器**:JDBC数据库、CSV/Excel/PDF/Word文件 - **连接测试**:实时连接状态验证 - **资源发现**:自动发现数据库表结构、文件结构 ### 文档解析 - **多格式支持**:PDF、Word、Excel、Markdown - **结构化提取**:段落、表格自动识别 - **Markdown转换**:文档转换为Markdown格式 ### 本体管理 - **OWL 2支持**:完整的OWL 2 DL/RL标准实现 - **导入导出**:支持RDF/XML、Turtle、JSON-LD格式 - **可视化建模**:图形化本体编辑器 - **语义推理**:HermiT/Openllet推理机,一致性检查 ### 规则引擎 - **SWRL规则**:支持SWRL规则语言 - **业务规则**:条件-动作规则管理 - **规则验证**:语法验证、逻辑验证 ### 虚拟表引擎 - **SQL编译**:将SQL查询转换为SPARQL - **数据联合**:跨多数据源的联合查询 - **语义推断**:基于LLM的字段映射 ### 实例化向导 - **三步流程**:数据源选择 → 映射配置 → 实例加载 - **自动映射**:基于语义的属性映射建议 - **推理增强**:实例化后的推理验证 ### Agent智能服务 - **四阶段流程**:Init → Plan → Execute → Verify - **LLM集成**:实体抽取、关系发现、规则提取 - **流式输出**:支持SSE流式响应 - **Hermes对话**:可选的智能对话功能 ### MCP协议服务 - **工具调用**:AI模型可通过MCP调用平台功能 - **资源访问**:本体、规则等资源访问 - **流式响应**:支持工具调用流式输出 ### 自然语言查询 - **NL2SPARQL**:中文自然语言转SPARQL查询 - **图谱可视化**:AntV G6图可视化展示 - **结果导出**:JSON、CSV格式导出 ### 模型配置管理 - **多提供商**:支持DeepSeek、Qwen、GPT等多种LLM - **统一接口**:通过LiteLLM统一调用 - **配置管理**:模型参数灵活配置 ### 系统备份 - **定时备份**:支持Cron表达式定时备份 - **数据恢复**:一键恢复历史备份 - **备份管理**:备份记录查看与下载 ## 容器化部署 ### Docker Compose 配置 项目提供两种Docker Compose配置: 1. **开发环境** (`docker-compose.dev.yml`) - PostgreSQL + Redis + Fuseki - 适合本地开发和测试 2. **生产环境** (`docker-compose.yml`) - 完整服务栈(前端、后端、Agent、基础设施) - Nginx反向代理 - 健康检查,自动重启 ### 环境变量配置 关键环境变量: | 变量名 | 说明 | |--------|------| | `SPRING_PROFILES_ACTIVE` | Spring Boot配置文件(dev/prod/docker) | | `SPRING_DATASOURCE_URL` | PostgreSQL连接URL | | `SPRING_DATA_REDIS_HOST` | Redis主机地址 | | `JWT_SECRET` | JWT密钥 | | `AGENT_SERVICE_URL` | Agent服务地址 | | `LLM_API_KEY` | LLM服务API密钥 | | `LLM_API_BASE` | LLM API基础地址 | ## 开发指南 ### 代码规范 - **Java**:遵循Google Java Style Guide - **Python**:遵循PEP 8 - **TypeScript**:使用ESLint + Prettier - **Git提交**:遵循Conventional Commits规范 ### 数据库迁移 使用Flyway进行数据库迁移: ```sql -- 在 ontomind-server/src/main/resources/db/migration/ 创建 V{version}__{description}.sql ``` ## 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 --- **OntoMind** - 让本体建模变得更智能、更简单、更高效!