Flink+大模型(DeepSeek)智能数据中台(datalinkx-pro)

在作者(SplitfireUptown)原项目DatalinkX基础上基础上深度融合安全管控与AI能力,构建了包含用户权限管理、多模型智能对话、可视化BI分析的全栈解决方案。通过Spring Security+JWT实现细粒度权限控制,集成DeepSeek大模型支持流式对话与文件解析,创新性拓展Python/HTML脚本执行环境,并打造拖拽式数据看板实现多源数据动态可视化

项目地址:

https://github.com/wangxinpostar/datalinkx-pro
https://gitee.com/wangxinpo/datalinkx-pro

扩展点

前端:

1.添加仪表盘

在这里插入图片描述

2.添加DeepSeek大模型(支持文件上传、模型切换DeepSeek-R1DeepSeek-V3))

在这里插入图片描述

3.支持直接运行Python脚本、HTML代码

在这里插入图片描述

4.错误日志大模型自动分析

在这里插入图片描述

5.添加数据源心跳检测

在这里插入图片描述

6.添加可视化BI,支持上传数据从数据库读取自定义可视化动态编辑

在这里插入图片描述
在这里插入图片描述

7.添加用户管理

在这里插入图片描述

后端:

1.添加用户管理模块datalinkx-security

基于RuoYi,通过引入SpringSecurity和JWT实现了用户管理模块,包括用户管理、角色管理、权限管理、菜单管理等功能

  • 用户管理
  • 角色管理
  • 权限管理
  • 菜单管理

2.添加DeepSeek大模型模块datalinkx-deepseek

接入DeepSeekAPI,通过SSE(Server-Send Events)实现了大模型流式输出,多伦对话等功能

  • DeepSeek大模型模块

3.添加可视化BI模块datalinkx-visualization

  • 支持保存图片并读取再编辑

4.数据源心跳检测

  • 支持对数据源的心跳检测

项目启动

数据库准备

在数据库连接工具运行项目目录/datalinkx-server/src/main/resources/db.sql文件(默认创建数据库datalinkx)

后端

  • 编辑datalinkx-server/src/main/resources/application.yml
  • 修改redis密码password为自己的密码
redis:
  database: 0       # Redis数据库索引(默认为0),如果设置为1,那么存入的key-value都存放在select 1中
  host: ${REDIS_HOST:127.0.0.1}
  port: ${REDIS_PORT:6379}
  password: ${REDIS_PASSWORD:123456}
  timeout: 10000
  • 修改MySQL数据库url中的datalinkx为自己的数据库,password为自己的密码
datasource:
  driver-class-name: com.mysql.cj.jdbc.Driver
  username: ${MYSQL_USERNAME:root}
  password: ${MYSQL_PASSWORD:123456}
  url: jdbc:mysql://${MYSQL_URL:127.0.0.1}:3306/datalinkx?characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull
  • 配置DeepSeek,修改api_key为自己申请到的Key,system_content是模型系统提示词可按自己需求修改,model为选择的模型,deepseek-chatDeepSeek V3,deepseek-reasonerDeepSeek R1
deepseek:
  #  [deepseek-chat, deepseek-reasoner]
  model: "deepseek-chat"
  api_key: ""
  system_content: |
    角色:你是一名数据分析助手,专注于用简洁的语言解释复杂的数据分析结果。
    如果用户要求你进行可视化分析,请尽量通过生成一个完整的 HTML 页面,使用 ECharts 进行销售数据可视化展示,具体要求如下:
      1. 页面结构包括 `<!DOCTYPE html>`, `<html>`, `<head>`, `<body>`。
      2. 引入 ECharts 库,使用 CDN 链接(例如 https://cdn.jsdelivr.net/npm/echarts)。
      3. 页面中包含一个 `<div id="chart">` 容器,用于渲染图表。
      4. 图表配置(在用户没有特别强调情况下):
      - 可以根据数据类型(如时间、类别、数值等)设置适当的 X 轴和 Y 轴类型。
      - 根据数据特点(例如条形图、折线图、饼图等)选择合适的图表类型。
      - 提供基本的图表样式和配置,确保图表在不同设备和屏幕尺寸下的良好展示。
      5. 可视化展示内容应清晰、直观,并适合用户的数据分析需求。
      6. 用户会直接运行你生成的 HTML 代码,请确保代码的正确性和完整性。
    如果用户要求你进行数据分析,请尽量通过生成一个完整的可以直接运行的 Python 脚本进行数据分析,具体要求如下:
      1. 可以使用的库包括 micropip, numpy, scikit-learn, scipy, pandas以及Python的基本库(不用考虑安装问题,请直接使用)。
      2. 任务目标(在用户没有特别强调情况下):
      - 根据提供的数据集,进行数据清洗、特征工程、模型训练等数据分析任务。具体任务可以根据数据集的特点自行决定。
      - 提供完整的数据分析过程,包括数据预处理、特征工程、模型训练、模型评估等步骤。
      - 提供清晰的数据分析结果,包括数据摘要、模型评估结果等。
      3. 输出格式要求所有的打印输出部分(如数据摘要、模型评估结果等)需合并成一个字符串并且保留换行作为结果返回,不用打印输出。
      4. 生成的代码用户会通过第三方JS(Pyodide)运行,具体如下:
        ```javascript
        const result = pyodide.runPython(pythonCode)
        // 转换为可序列化的 JavaScript 数据
        self.postMessage({ result: result.toString() ? result.toString() : result })  //将结果转换为字符串,展示在页面上
        ```
         其中pythonCode是你生成的代码,请确保代码的正确性和完整性,result是你按照第3点要求返回的结果。
  error_analysis_content: 请你帮我分析一下这段报错信息,给出详细的错误分析和解决方案,使用中文回答
  system_analysis_content: 请你帮我分析一下系统运行状态,只需要输出展示给用户的部分,使用中文回答

前端

使用node 18版本,提前安装好yarn,没有安装的执行npm install -g yarn命令安装。
进入项目根目录,打开cmd终端进入front-ui目录,安装前端依赖,并运行。

PS D:\Data\datalinkx> cd .\front-ui\
PS D:\Data\datalinkx\front-ui> yarn install
PS D:\Data\datalinkx\front-ui> yarn run serve

完成后就可以愉快的体验啦,可以使用默认用户(admin)或者自己注册

在这里插入图片描述

异构数据源同步服务DatalinkX介绍

核心功能 :在不同的异构数据源中进行数据同步,对同步任务进行管理和维护

意义:只要公司规模较大,部门与部门之间有数据协作都应该有类似DatalinkX的项目,比如爬虫组的同事爬下来数据要定时同步到数仓组负责的库下。同步服务会集中管理同步任务,收拢同步日志、提高内部工作效率。

在这里插入图片描述

项目特性

  • 简单易用:通过Web页面快速创建数据源、同步任务,操作简单,一分钟上手
  • 定时触发:对接xxl-job定时,设置cron表达式触发同步任务
  • 配置化任务对接:将数据库信息、任务详情界面化配置
  • 高性能同步:使用高性能流式flink计算引擎
  • 容器化部署:支持docker部署
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值