
本文详细介绍 qKnow 知识平台开源版的安装与部署流程,涵盖环境准备、代码结构、数据库配置、DeepKE 知识抽取工具设置、以及前后端启动步骤。 系统采用 前后端分离架构,分为 后端运行部分 与 前端运行部分。
在部署系统之前,请确保以下运行环境已正确安装。
推荐在 Linux 或 macOS 下进行部署,Windows 环境请使用 WSL2 或 Docker 环境。
软件 / 工具 | 版本要求 | 推荐版本 | 用途说明 |
|---|---|---|---|
☕ JDK | ≥ 1.8 | 1.8 | 运行后端服务 |
🐬 MySQL | ≥ 5.7 | 5.7 | 关系型数据库 |
🕸 Neo4j | 4.x | 4.4.40 | 图数据库,用于知识图谱存储 |
🔥 Redis | ≥ 5.0 | 5.0 | 缓存与消息队列 |
⚙️ Maven | ≥ 3.6 | 3.6 | Java 构建工具 |
💚 Node.js | ≥ 16 | 16 | 前端构建与运行 |
💡 加速提示:设置 npm 镜像
npm config set registry https://registry.npmmirror.com
⚠️ 不推荐使用 cnpm,可能导致依赖冲突或构建失败。
git clone https://gitee.com/qiantongtech/qKnow.git/opt/qknow/├─ qknow-framework/ # 公共配置模块(核心依赖)
│ ├─ qknow-auth # OAuth2 授权模块
│ ├─ qknow-common # 公共工具类模块
│ ├─ qknow-config # 全局配置模块
│ ├─ qknow-es # ElasticSearch 模块
│ ├─ qknow-file # 文件管理服务
│ ├─ qknow-generator # 代码生成器
│ ├─ qknow-mybatis # MyBatis 数据层配置
│ ├─ qknow-neo4j # Neo4j 图数据库模块
│ ├─ qknow-pay # 支付模块
│ ├─ qknow-quartz # 定时任务模块
│ ├─ qknow-redis # Redis 缓存模块
│ ├─ qknow-security # 安全认证模块
│ ├─ qknow-websocket # WebSocket 实时通信模块
├─ qknow-module-app/ # 知识应用模块
├─ qknow-module-dm/ # 数据管理模块
├─ qknow-module-ext/ # 知识抽取模块
├─ qknow-module-kmc/ # 知识中心模块
├─ qknow-module-system/ # 系统管理模块
├─ qknow-server/ # 项目启动服务(主入口)
├─ qknow-ui/ # 前端模块
├─ sql/ # SQL 初始化脚本
├─ README.md
├─ QUICKSTART.md├─ qknow-ui/
│ ├─ public/ # 静态资源目录
│ ├─ src/
│ │ ├─ api/ # 接口定义
│ │ ├─ assets/ # 图片与样式资源
│ │ ├─ components/ # 通用组件
│ │ ├─ layout/ # 页面布局
│ │ ├─ plugins/ # 插件
│ │ ├─ router/ # 路由配置
│ │ ├─ store/ # 状态管理
│ │ ├─ utils/ # 工具类函数
│ │ ├─ views/ # 页面视图
│ │ │ ├─ app/ # 知识应用模块
│ │ │ ├─ dm/ # 数据管理模块
│ │ │ ├─ ext/ # 知识抽取模块
│ │ │ ├─ kmc/ # 知识中心模块
│ │ │ ├─ system/ # 系统管理模块
│ ├─ .env.development # 开发环境配置
│ ├─ .env.production # 生产环境配置
│ ├─ vite.config.js # Vite 构建配置 CREATE DATABASE qknow_dev CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;mysql -u root -p qknow_dev < sql/qknow_20250522.sql
mysql -u root -p qknow_dev < sql/quartz.sql路径:qknow-server/src/main/resources/application-dev.yml
datasource:
type: mysql
mysql:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/qknow_dev?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: 123456cd /usr/local/neo4j/bin
./neo4j stop./neo4j-admin load --from=/opt/qknow/sql/neo4j/neo4j.dump --database=qknow --force修改配置文件(conf/neo4j.conf):
dbms.default_database=qknow./neo4j start路径:qknow-framework/qknow-neo4j/src/main/resources/application-neo4j-dev.yml
neo4j:
uri: bolt://127.0.0.1:7687
user: neo4j
password: neo4j密码Redis 使用默认 6379 端口即可。如有修改,请在以下路径更新:
qknow-server/src/main/resources/application.yml路径:qknow-server/src/main/resources/application.yml
server:
port: 8090
servlet:
context-path: /qknow开源版采用 DeepKE-cnSchema 作为知识抽取引擎。
建议使用 Docker 一键安装,更便于隔离环境与 GPU 加速。
路径:DeepKE/example/ner/standard/conf/train.yaml
# DeepKE 实体抽取配置文件
learning_rate: 1e-3
num_train_epochs: 3
train_batch_size: 128
use_gpu: True
# 修改抽取实体类型
labels: ['LOC', 'ORG', 'PER']
# 若需自定义类型请参考官方文档重新训练模型路径:qKnow/bin/DeepKE/start.sh
#!/bin/bash
docker exec -it <your_container_id> /bin/bash✅ 建议:使用
docker ps命令查看 DeepKE 容器 ID。 若需在宿主机调用 DeepKE API,可在容器端口映射配置中添加:-p 9000:9000。
进入项目根目录:
cd qknow-server
mvn clean install -DskipTests
java -jar target/qknow-server.jar --spring.profiles.active=dev启动后端后,默认访问地址:
http://localhost:8090/qknow
cd qknow-ui
npm installnpm run dev默认访问地址:
http://localhost:8080npm run build生成文件位于 dist/ 目录,可部署至 Nginx 或任意静态服务器。
问题 | 可能原因 | 解决方案 |
|---|---|---|
前端请求后端接口失败 | CORS 或端口配置错误 | 检查 |
Neo4j 无法连接 | 用户名密码或端口错误 | 修改 |
Redis 报错连接拒绝 | Redis 未启动或端口错误 | 确认 Redis 服务开启并监听正确端口 |
DeepKE API 抽取结果为空 | 模型未加载或实体类型配置错误 | 检查 |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。