3 Commits

Author SHA1 Message Date
ageerle
53e3180658 Merge pull request #93 from janzhou123/pdf-image
feat:增加knowledge_attach_pic表结构sql
2025-05-20 09:29:40 +08:00
zhouweiyi
e43e14454d feat:增加knowledge_attach_pic表结构sql 2025-05-20 09:22:41 +08:00
ageerle
a4e995d46c feat: 新增pdf图片解析分支 2025-05-19 15:33:29 +08:00
3 changed files with 50 additions and 6 deletions

View File

@@ -1,13 +1,11 @@
package org.ruoyi.service.impl;
import cn.hutool.core.util.RandomUtil;
import com.google.protobuf.ServiceException;
import dev.langchain4j.data.embedding.Embedding;
import dev.langchain4j.data.segment.TextSegment;
import dev.langchain4j.model.embedding.EmbeddingModel;
import dev.langchain4j.model.ollama.OllamaEmbeddingModel;
import dev.langchain4j.model.openai.OpenAiEmbeddingModel;
import dev.langchain4j.model.output.Response;
import dev.langchain4j.store.embedding.EmbeddingMatch;
import dev.langchain4j.store.embedding.EmbeddingSearchRequest;
import dev.langchain4j.store.embedding.EmbeddingStore;
@@ -31,6 +29,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 向量库管理

View File

@@ -354,7 +354,7 @@ public class KnowledgeInfoServiceImpl implements IKnowledgeInfoService {
/**
* 第二步 定时 解析图片内容
*/
//@Scheduled(fixedDelay = 15000)
@Scheduled(fixedDelay = 15000)
public void dealKnowledgeAttachPicAnys() throws Exception {
//获取未处理的图片记录
List<KnowledgeAttachPic> knowledgeAttachPics = picMapper.selectList(
@@ -371,7 +371,7 @@ public class KnowledgeInfoServiceImpl implements IKnowledgeInfoService {
/**
* 第三步 定时 处理 附件上传后上传向量数据库
*/
//@Scheduled(fixedDelay = 30000) // 每3秒执行一次
@Scheduled(fixedDelay = 30000) // 每3秒执行一次
public void dealKnowledgeAttachVector() throws Exception {
//处理 需要上传向量数据库的记录
List<KnowledgeAttach> knowledgeAttaches = attachMapper.selectList(
@@ -390,7 +390,7 @@ public class KnowledgeInfoServiceImpl implements IKnowledgeInfoService {
/**
* 第四步 定时 处理 失败数据
*/
//@Scheduled(fixedDelay = 30 * 60 * 1000)
@Scheduled(fixedDelay = 30 * 60 * 1000)
public void dealKnowledge40Status() throws Exception {
//拆解PDF失败 重新设置状态
attachMapper.update(new LambdaUpdateWrapper<KnowledgeAttach>()
@@ -405,5 +405,5 @@ public class KnowledgeInfoServiceImpl implements IKnowledgeInfoService {
.set(KnowledgeAttach::getVectorStatus, DealStatus.STATUS_10)
.eq(KnowledgeAttach::getVectorStatus, DealStatus.STATUS_40));
}
@Scheduled(fixedDelay = 180000) // 3分钟执行一次
}

View File

@@ -8,3 +8,48 @@ ADD PRIMARY KEY (`id`) USING BTREE;
ALTER TABLE `knowledge_attach`
MODIFY COLUMN `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注' AFTER `update_time`;
/*
Navicat Premium Data Transfer
Source Server : localhost-57
Source Server Type : MySQL
Source Server Version : 50731 (5.7.31)
Source Host : localhost:3306
Source Schema : ruoyi-ai
Target Server Type : MySQL
Target Server Version : 50731 (5.7.31)
File Encoding : 65001
Date: 19/05/2025 15:22:09
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for knowledge_attach_pic
-- ----------------------------
DROP TABLE IF EXISTS `knowledge_attach_pic`;
CREATE TABLE `knowledge_attach_pic` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`kid` varchar(50) NOT NULL COMMENT '知识库id',
`aid` varchar(50) NOT NULL COMMENT '附件id',
`doc_name` varchar(500) DEFAULT NULL COMMENT '文档名称',
`doc_type` varchar(50) NOT NULL COMMENT '文档类型',
`content` longtext COMMENT '文档内容',
`page_num` int(5) DEFAULT '0' COMMENT '所在页数',
`index_num` int(5) DEFAULT '0' COMMENT '所在页index',
`pic_anys_status` int(5) NOT NULL DEFAULT '10' COMMENT '分析图片状态10未开始20进行中30已完成',
`oss_id` bigint(20) NOT NULL COMMENT '对象存储主键',
`create_dept` varchar(255) DEFAULT NULL COMMENT '部门',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` text COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1922929659800637443 DEFAULT CHARSET=utf8mb4 COMMENT='知识库附件图片列表';
SET FOREIGN_KEY_CHECKS = 1;