- 集成Fastjson2依赖优化JSON处理性能 - 配置专用文档处理异步线程池,提升任务并发处理能力 - 实现基于Spring AI的PgVectorStore向量存储配置 - 新增AI对话控制器,支持SSE流式对话及会话管理接口 - 新增AI知识库控制器,支持文件上传、文档管理及重新索引功能 - 定义AI对话和知识库相关的数据传输对象DTO与视图对象VO - 建立AI对话消息和文档向量的数据库实体与MyBatis Mapper - 实现AI对话服务接口及其具体业务逻辑,包括会话管理和RAG检索 - 完善安全校验和错误处理,确保接口调用的用户权限和参数有效性 - 提供对话消息流式响应机制,支持实时传输用户互动内容和引用文档信息
201 lines
6.5 KiB
XML
201 lines
6.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||
<modelVersion>4.0.0</modelVersion>
|
||
<parent>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-parent</artifactId>
|
||
<version>3.5.7</version>
|
||
<relativePath/> <!-- lookup parent from repository -->
|
||
</parent>
|
||
<groupId>cn.yinlihupo</groupId>
|
||
<artifactId>ylhp-AIProjectManager</artifactId>
|
||
<version>0.0.1-SNAPSHOT</version>
|
||
<name>ylhp-AIProjectManager</name>
|
||
<description>ylhp-AIProjectManager</description>
|
||
|
||
<properties>
|
||
<maven.compiler.source>17</maven.compiler.source>
|
||
<maven.compiler.target>17</maven.compiler.target>
|
||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||
<java.version>17</java.version>
|
||
<spring-ai.version>1.1.0</spring-ai.version>
|
||
</properties>
|
||
|
||
<dependencies>
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Spring Boot Web -->
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-web</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Lombok -->
|
||
<dependency>
|
||
<groupId>org.projectlombok</groupId>
|
||
<artifactId>lombok</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Spring AOP(包含 AspectJ,支持 @Aspect 切面) -->
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-aop</artifactId>
|
||
</dependency>
|
||
|
||
<!--hutool all-->
|
||
<dependency>
|
||
<groupId>cn.hutool</groupId>
|
||
<artifactId>hutool-all</artifactId>
|
||
<version>5.8.23</version>
|
||
</dependency>
|
||
|
||
<!-- PostgreSQL 数据库驱动 -->
|
||
<dependency>
|
||
<groupId>org.postgresql</groupId>
|
||
<artifactId>postgresql</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Spring AI -->
|
||
<dependency>
|
||
<groupId>org.springframework.ai</groupId>
|
||
<artifactId>spring-ai-starter-model-openai</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Spring AI PostgreSQL Vector Store -->
|
||
<dependency>
|
||
<groupId>org.springframework.ai</groupId>
|
||
<artifactId>spring-ai-starter-vector-store-pgvector</artifactId>
|
||
</dependency>
|
||
|
||
<!-- MyBatis Plus -->
|
||
<dependency>
|
||
<groupId>com.baomidou</groupId>
|
||
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
|
||
<version>3.5.5</version>
|
||
</dependency>
|
||
|
||
<!-- MinIO 对象存储客户端 -->
|
||
<dependency>
|
||
<groupId>io.minio</groupId>
|
||
<artifactId>minio</artifactId>
|
||
<version>8.5.7</version>
|
||
</dependency>
|
||
|
||
<!-- 文档解析依赖 -->
|
||
<!-- PDF解析 -->
|
||
<dependency>
|
||
<groupId>org.apache.pdfbox</groupId>
|
||
<artifactId>pdfbox</artifactId>
|
||
<version>2.0.30</version>
|
||
</dependency>
|
||
|
||
<!-- Word文档解析 -->
|
||
<dependency>
|
||
<groupId>org.apache.poi</groupId>
|
||
<artifactId>poi-ooxml</artifactId>
|
||
<version>5.2.5</version>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>org.apache.poi</groupId>
|
||
<artifactId>poi-scratchpad</artifactId>
|
||
<version>5.2.5</version>
|
||
</dependency>
|
||
|
||
<!-- Excel解析 -->
|
||
<dependency>
|
||
<groupId>org.apache.poi</groupId>
|
||
<artifactId>poi-ooxml-schemas</artifactId>
|
||
<version>4.1.2</version>
|
||
</dependency>
|
||
|
||
<!-- Markdown解析 -->
|
||
<dependency>
|
||
<groupId>com.vladsch.flexmark</groupId>
|
||
<artifactId>flexmark-all</artifactId>
|
||
<version>0.64.8</version>
|
||
</dependency>
|
||
|
||
<!-- Tika 用于通用文档类型检测和内容提取 -->
|
||
<dependency>
|
||
<groupId>org.apache.tika</groupId>
|
||
<artifactId>tika-core</artifactId>
|
||
<version>2.9.1</version>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>org.apache.tika</groupId>
|
||
<artifactId>tika-parsers-standard-package</artifactId>
|
||
<version>2.9.1</version>
|
||
</dependency>
|
||
|
||
<!-- Sa-Token 权限认证 -->
|
||
<dependency>
|
||
<groupId>cn.dev33</groupId>
|
||
<artifactId>sa-token-spring-boot3-starter</artifactId>
|
||
<version>1.39.0</version>
|
||
</dependency>
|
||
|
||
<!-- Sa-Token Redis 集成(用于分布式环境会话持久化) -->
|
||
<dependency>
|
||
<groupId>cn.dev33</groupId>
|
||
<artifactId>sa-token-redis-jackson</artifactId>
|
||
<version>1.39.0</version>
|
||
</dependency>
|
||
|
||
<!-- Redisson Spring Boot Starter -->
|
||
<dependency>
|
||
<groupId>org.redisson</groupId>
|
||
<artifactId>redisson-spring-boot-starter</artifactId>
|
||
<version>3.27.0</version>
|
||
</dependency>
|
||
|
||
<!-- Fastjson2 -->
|
||
<dependency>
|
||
<groupId>com.alibaba.fastjson2</groupId>
|
||
<artifactId>fastjson2</artifactId>
|
||
<version>2.0.43</version>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-test</artifactId>
|
||
<scope>test</scope>
|
||
</dependency>
|
||
</dependencies>
|
||
|
||
<!-- Maven Central is included by default in Maven builds.
|
||
You usually don’t need to configure it explicitly,
|
||
but it's shown here for clarity. -->
|
||
<repositories>
|
||
<repository>
|
||
<id>central</id>
|
||
<url>https://repo.maven.apache.org/maven2</url>
|
||
</repository>
|
||
</repositories>
|
||
|
||
<dependencyManagement>
|
||
<dependencies>
|
||
<dependency>
|
||
<groupId>org.springframework.ai</groupId>
|
||
<artifactId>spring-ai-bom</artifactId>
|
||
<version>${spring-ai.version}</version>
|
||
<type>pom</type>
|
||
<scope>import</scope>
|
||
</dependency>
|
||
</dependencies>
|
||
</dependencyManagement>
|
||
|
||
<build>
|
||
<plugins>
|
||
<plugin>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||
</plugin>
|
||
</plugins>
|
||
</build>
|
||
|
||
</project>
|