<?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.yanzhu</groupId>
        <artifactId>yanzhu</artifactId>
        <version>${revision}</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <packaging>jar</packaging>
    <artifactId>yanzhu-module-ai</artifactId>

    <name>${project.artifactId}</name>
    <description>
        ai 模块下，接入 LLM 大模型，支持聊天、绘图、音乐、写作、思维导图等功能。
        目前已接入各种模型，不限于：
          国内：通义千问、文心一言、讯飞星火、智谱 GLM、DeepSeek
          国外：OpenAI、Ollama、Midjourney、StableDiffusion、Suno
    </description>
    <properties>
        <langchain4j.version>0.27.0</langchain4j.version>
        <tinyflow.version>1.2.6</tinyflow.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.yanzhu</groupId>
            <artifactId>yanzhu-module-system</artifactId>
            <version>${revision}</version>
        </dependency>
        <dependency>
            <groupId>com.yanzhu</groupId>
            <artifactId>yanzhu-module-infra</artifactId>
            <version>${revision}</version>
        </dependency>

        <!-- 业务组件 -->

        <dependency>
            <groupId>com.yanzhu</groupId>
            <artifactId>yanzhu-spring-boot-starter-biz-tenant</artifactId>
        </dependency>

        <!-- LangChain4J 基础依赖，使用兼容 JDK 1.8 的版本 -->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-core</artifactId>
            <version>${langchain4j.version}</version>
        </dependency>
        
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j</artifactId>
            <version>${langchain4j.version}</version>
        </dependency>
        
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-open-ai</artifactId>
            <version>${langchain4j.version}</version>
        </dependency>

        <!-- Web 相关 -->
        <dependency>
            <groupId>com.yanzhu</groupId>
            <artifactId>yanzhu-spring-boot-starter-security</artifactId>
        </dependency>

        <!-- DB 相关 -->
        <dependency>
            <groupId>com.yanzhu</groupId>
            <artifactId>yanzhu-spring-boot-starter-mybatis</artifactId>
        </dependency>

        <!-- Job 相关 -->
        <dependency>
            <groupId>com.yanzhu</groupId>
            <artifactId>yanzhu-spring-boot-starter-job</artifactId>
        </dependency>

        <!-- Test 测试相关 -->
        <dependency>
            <groupId>com.yanzhu</groupId>
            <artifactId>yanzhu-spring-boot-starter-test</artifactId>
        </dependency>

        <!-- 工具类相关 -->
        <dependency>
            <groupId>com.yanzhu</groupId>
            <artifactId>yanzhu-spring-boot-starter-excel</artifactId>
        </dependency>


        
        <!-- Redis 依赖 -->
        <dependency>
            <groupId>com.yanzhu</groupId>
            <artifactId>yanzhu-spring-boot-starter-redis</artifactId>
        </dependency>

        <!-- TinyFlow：AI 工作流 -->
        <dependency>
            <groupId>dev.tinyflow</groupId>
            <artifactId>tinyflow-java-core</artifactId>
            <version>${tinyflow.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>com.jfinal</groupId>
                    <artifactId>enjoy</artifactId>
                </exclusion>
                <exclusion>
                    <!-- 解决 https://gitee.com/zhijiantianya/ruoyi-vue-pro/pulls/1318/ 问题 -->
                    <groupId>com.agentsflex</groupId>
                    <artifactId>agents-flex-store-elasticsearch</artifactId>
                </exclusion>
                <exclusion>
                    <!-- 解决 https://t.zsxq.com/pCBZC 问题 -->
                    <groupId>com.agentsflex</groupId>
                    <artifactId>agents-flex-search-engine-es</artifactId>
                </exclusion>
                <exclusion>
                    <!-- TODO @芋艿：暂时移除 groovy，和 iot 冲突 -->
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-all</artifactId>
                </exclusion>
                <!-- 解决和 logback 的日志冲突 -->
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-simple</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.logging.log4j</groupId>
                    <artifactId>log4j-slf4j-impl</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-reload4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>


        
        <!-- 使用 javax 替换 jakarta 以兼容 JDK 1.8 -->
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <scope>provided</scope>
        </dependency>
        
        <dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
            <scope>provided</scope>
        </dependency>
        
        <!-- Spring Web 依赖，用于 Suno API，使用兼容 JDK 1.8 的版本 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <scope>provided</scope>
        </dependency>
        

    </dependencies>

</project>