<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
<parent>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-plat</artifactId>
|
<version>${revision}</version>
|
</parent>
|
<modelVersion>4.0.0</modelVersion>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-module-ai</artifactId>
|
<version>${revision}</version>
|
<packaging>pom</packaging>
|
|
<modules>
|
<module>iailab-module-ai-api</module>
|
<module>iailab-module-ai-biz</module>
|
<module>iailab-spring-boot-starter-ai</module>
|
</modules>
|
|
<description>
|
ai 模块下,接入 LLM 大模型,支持聊天、绘图、音乐、写作、思维导图等功能。
|
目前已接入各种模型,不限于:
|
国内:通义千问、文心一言、讯飞星火、智谱 GLM、DeepSeek
|
国外:OpenAI、Ollama、Midjourney、StableDiffusion、Suno
|
</description>
|
|
<properties>
|
<ai.revision>1.0.0-jdk17</ai.revision>
|
<revision>1.0.0</revision>
|
<!-- Maven 相关 -->
|
<java.version>17</java.version>
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
<maven-surefire-plugin.version>3.2.2</maven-surefire-plugin.version>
|
<maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version>
|
<flatten-maven-plugin.version>1.6.0</flatten-maven-plugin.version>
|
<!-- 看看咋放到 bom 里 -->
|
<lombok.version>1.18.36</lombok.version>
|
<spring.boot.version>3.4.1</spring.boot.version>
|
<mapstruct.version>1.6.3</mapstruct.version>
|
<!-- 统一依赖管理 -->
|
<spring.cloud.version>2024.0.0</spring.cloud.version>
|
<spring.cloud.alibaba.version>2023.0.3.2</spring.cloud.alibaba.version>
|
<!-- Web 相关 -->
|
<springdoc.version>2.8.3</springdoc.version>
|
<knife4j.version>4.6.0</knife4j.version>
|
<!-- 工具类相关 -->
|
<bizlog-sdk.version>3.0.6</bizlog-sdk.version>
|
<netty.version>4.1.116.Final</netty.version>
|
<hutool-5.version>5.8.35</hutool-5.version>
|
<hutool-6.version>6.0.0-M19</hutool-6.version>
|
<skywalking.version>9.0.0</skywalking.version>
|
<!-- DB 相关 -->
|
<druid.version>1.2.24</druid.version>
|
<mybatis.version>3.5.17</mybatis.version>
|
<mybatis-plus.version>3.5.9</mybatis-plus.version>
|
<dynamic-datasource.version>4.3.1</dynamic-datasource.version>
|
<mybatis-plus-join.version>1.4.13</mybatis-plus-join.version>
|
<easy-trans.version>3.0.6</easy-trans.version>
|
<redisson.version>3.41.0</redisson.version>
|
</properties>
|
|
<dependencyManagement>
|
<dependencies>
|
<!-- 统一依赖管理 -->
|
<dependency>
|
<groupId>io.netty</groupId>
|
<artifactId>netty-bom</artifactId>
|
<version>${netty.version}</version>
|
<type>pom</type>
|
<scope>import</scope>
|
</dependency>
|
<dependency>
|
<groupId>org.springframework.boot</groupId>
|
<artifactId>spring-boot-dependencies</artifactId>
|
<version>${spring.boot.version}</version>
|
<type>pom</type>
|
<scope>import</scope>
|
</dependency>
|
<dependency>
|
<groupId>org.springframework.cloud</groupId>
|
<artifactId>spring-cloud-dependencies</artifactId>
|
<version>${spring.cloud.version}</version>
|
<type>pom</type>
|
<scope>import</scope>
|
</dependency>
|
<dependency>
|
<groupId>com.alibaba.cloud</groupId>
|
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
|
<version>${spring.cloud.alibaba.version}</version>
|
<type>pom</type>
|
<scope>import</scope>
|
</dependency>
|
<!-- 业务组件 -->
|
<dependency>
|
<groupId>io.github.mouzt</groupId>
|
<artifactId>bizlog-sdk</artifactId>
|
<version>${bizlog-sdk.version}</version>
|
<exclusions>
|
<exclusion> <!-- 排除掉springboot依赖使用项目的 -->
|
<groupId>org.springframework.boot</groupId>
|
<artifactId>spring-boot-starter</artifactId>
|
</exclusion>
|
</exclusions>
|
</dependency>
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-common-biz-tenant</artifactId>
|
<version>${ai.revision}</version>
|
</dependency>
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-common-biz-data-permission</artifactId>
|
<version>${ai.revision}</version>
|
</dependency>
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-common-biz-ip</artifactId>
|
<version>${ai.revision}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-common</artifactId>
|
<version>${ai.revision}</version>
|
</dependency>
|
|
<!-- Spring 核心 -->
|
<dependency>
|
<!-- 用于生成自定义的 Spring @ConfigurationProperties 配置类的说明文件 -->
|
<groupId>org.springframework.boot</groupId>
|
<artifactId>spring-boot-configuration-processor</artifactId>
|
<version>${spring.boot.version}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-common-env</artifactId>
|
<version>${ai.revision}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-common-web</artifactId>
|
<version>${ai.revision}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-common-security</artifactId>
|
<version>${ai.revision}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-common-security</artifactId>
|
<version>${ai.revision}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-common-websocket</artifactId>
|
<version>${ai.revision}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>com.github.xingfudeshi</groupId> <!-- TODO Iailab:https://github.com/xiaoymin/knife4j/issues/874 -->
|
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
|
<version>${knife4j.version}</version>
|
</dependency>
|
<dependency>
|
<groupId>org.springdoc</groupId>
|
<artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
|
<version>${springdoc.version}</version>
|
</dependency>
|
<dependency>
|
<groupId>com.github.xiaoymin</groupId> <!-- 接口文档 UI:knife4j【网关专属】 -->
|
<artifactId>knife4j-gateway-spring-boot-starter</artifactId>
|
<version>${knife4j.version}</version> <!-- TODO Iailab:等 4.5.0 => 4.6.0 -->
|
</dependency>
|
|
<!-- DB 相关 -->
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-common-mybatis</artifactId>
|
<version>${ai.revision}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-module-infra-api</artifactId>
|
<version>${ai.revision}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-module-system-api</artifactId>
|
<version>${revision}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>com.alibaba</groupId>
|
<artifactId>druid-spring-boot-3-starter</artifactId>
|
<version>${druid.version}</version>
|
</dependency>
|
<dependency>
|
<groupId>org.mybatis</groupId>
|
<artifactId>mybatis</artifactId>
|
<version>${mybatis.version}</version>
|
</dependency>
|
<dependency>
|
<groupId>com.baomidou</groupId>
|
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
|
<version>${mybatis-plus.version}</version>
|
</dependency>
|
<dependency>
|
<groupId>com.baomidou</groupId>
|
<artifactId>mybatis-plus-jsqlparser</artifactId>
|
<version>${mybatis-plus.version}</version>
|
</dependency>
|
<dependency>
|
<groupId>com.baomidou</groupId>
|
<artifactId>mybatis-plus-generator</artifactId> <!-- 代码生成器,使用它解析表结构 -->
|
<version>${mybatis-plus.version}</version>
|
</dependency>
|
<dependency>
|
<groupId>com.baomidou</groupId>
|
<artifactId>dynamic-datasource-spring-boot3-starter</artifactId> <!-- 多数据源 -->
|
<version>${dynamic-datasource.version}</version>
|
</dependency>
|
<dependency>
|
<groupId>com.github.yulichang</groupId>
|
<artifactId>mybatis-plus-join-boot-starter</artifactId> <!-- MyBatis 联表查询 -->
|
<version>${mybatis-plus-join.version}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>com.baomidou</groupId>
|
<artifactId>mybatis-plus-spring-boot-autoconfigure</artifactId>
|
<version>3.5.9</version>
|
</dependency>
|
|
<dependency>
|
<groupId>com.fhs-opensource</groupId> <!-- VO 数据翻译 -->
|
<artifactId>easy-trans-spring-boot-starter</artifactId>
|
<version>${easy-trans.version}</version>
|
<exclusions>
|
<exclusion>
|
<groupId>org.springframework</groupId>
|
<artifactId>spring-context</artifactId>
|
</exclusion>
|
<exclusion>
|
<groupId>org.springframework.cloud</groupId>
|
<artifactId>spring-cloud-commons</artifactId>
|
</exclusion>
|
</exclusions>
|
</dependency>
|
<dependency>
|
<groupId>com.fhs-opensource</groupId>
|
<artifactId>easy-trans-mybatis-plus-extend</artifactId>
|
<version>${easy-trans.version}</version>
|
</dependency>
|
<dependency>
|
<groupId>com.fhs-opensource</groupId>
|
<artifactId>easy-trans-anno</artifactId>
|
<version>${easy-trans.version}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-common-redis</artifactId>
|
<version>${ai.revision}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>org.redisson</groupId>
|
<artifactId>redisson-spring-boot-starter</artifactId>
|
<version>${redisson.version}</version>
|
</dependency>
|
|
<!-- Test 测试相关 -->
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-common-test</artifactId>
|
<version>${ai.revision}</version>
|
<scope>test</scope>
|
</dependency>
|
|
<!-- RPC 远程调用相关 -->
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-common-rpc</artifactId>
|
<version>${ai.revision}</version>
|
</dependency>
|
|
<!-- 监控相关 -->
|
<dependency>
|
<groupId>com.iailab</groupId>
|
<artifactId>iailab-common-monitor</artifactId>
|
<version>${ai.revision}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>cn.hutool</groupId>
|
<artifactId>hutool-all</artifactId>
|
<version>${hutool-5.version}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>org.dromara.hutool</groupId>
|
<artifactId>hutool-extra</artifactId>
|
<version>${hutool-6.version}</version>
|
</dependency>
|
|
<dependency>
|
<groupId>org.apache.skywalking</groupId>
|
<artifactId>apm-toolkit-trace</artifactId>
|
<version>${skywalking.version}</version>
|
</dependency>
|
<dependency>
|
<groupId>org.apache.skywalking</groupId>
|
<artifactId>apm-toolkit-logback-1.x</artifactId>
|
<version>${skywalking.version}</version>
|
</dependency>
|
<dependency>
|
<groupId>org.apache.skywalking</groupId>
|
<artifactId>apm-toolkit-opentracing</artifactId>
|
<version>${skywalking.version}</version>
|
</dependency>
|
|
</dependencies>
|
</dependencyManagement>
|
|
<build>
|
<pluginManagement>
|
<plugins>
|
<!-- maven-surefire-plugin 插件,用于运行单元测试。 -->
|
<!-- 注意,需要使用 3.0.X+,因为要支持 Junit 5 版本 -->
|
<plugin>
|
<groupId>org.apache.maven.plugins</groupId>
|
<artifactId>maven-surefire-plugin</artifactId>
|
<version>${maven-surefire-plugin.version}</version>
|
</plugin>
|
<!-- maven-compiler-plugin 插件,解决 Lombok + MapStruct 组合 -->
|
<!-- https://stackoverflow.com/questions/33483697/re-run-spring-boot-configuration-annotation-processor-to-update-generated-metada -->
|
<plugin>
|
<groupId>org.apache.maven.plugins</groupId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
<version>${maven-compiler-plugin.version}</version>
|
<configuration>
|
<annotationProcessorPaths>
|
<path>
|
<groupId>org.springframework.boot</groupId>
|
<artifactId>spring-boot-configuration-processor</artifactId>
|
<version>${spring.boot.version}</version>
|
</path>
|
<path>
|
<groupId>org.projectlombok</groupId>
|
<artifactId>lombok</artifactId>
|
<version>${lombok.version}</version>
|
</path>
|
<path>
|
<groupId>org.mapstruct</groupId>
|
<artifactId>mapstruct-processor</artifactId>
|
<version>${mapstruct.version}</version>
|
</path>
|
</annotationProcessorPaths>
|
<!-- 编译参数写在 arg 内,解决 Spring Boot 3.2 的 Parameter Name Discovery 问题 -->
|
<debug>false</debug>
|
<compilerArgs>
|
<arg>-parameters</arg>
|
</compilerArgs>
|
</configuration>
|
</plugin>
|
</plugins>
|
</pluginManagement>
|
|
<plugins>
|
<!-- 统一 revision 版本 -->
|
<plugin>
|
<groupId>org.codehaus.mojo</groupId>
|
<artifactId>flatten-maven-plugin</artifactId>
|
<version>${flatten-maven-plugin.version}</version>
|
<configuration>
|
<flattenMode>oss</flattenMode>
|
<updatePomFile>true</updatePomFile>
|
</configuration>
|
<executions>
|
<execution>
|
<goals>
|
<goal>flatten</goal>
|
</goals>
|
<id>flatten</id>
|
<phase>process-resources</phase>
|
</execution>
|
<execution>
|
<goals>
|
<goal>clean</goal>
|
</goals>
|
<id>flatten.clean</id>
|
<phase>clean</phase>
|
</execution>
|
</executions>
|
</plugin>
|
</plugins>
|
</build>
|
</project>
|