Commit 8fb018a69984102f721a7323c7a398e2267253ee
1 parent
d4ed2c49
reactor:将 ai starter 融合到 ai-module 的 framework/ai 里
Showing
75 changed files
with
313 additions
and
341 deletions
yudao-module-ai/pom.xml
yudao-module-ai/yudao-module-ai-biz/pom.xml
| ... | ... | @@ -17,6 +17,10 @@ |
| 17 | 17 | 国内:通义千问、文心一言、讯飞星火、智谱 GLM、DeepSeek |
| 18 | 18 | 国外:OpenAI、Ollama、Midjourney、StableDiffusion、Suno |
| 19 | 19 | </description> |
| 20 | + <properties> | |
| 21 | + <spring-ai.version>1.0.0-M6</spring-ai.version> | |
| 22 | + <tinyflow.version>1.0.2</tinyflow.version> | |
| 23 | + </properties> | |
| 20 | 24 | |
| 21 | 25 | <dependencies> |
| 22 | 26 | <dependency> |
| ... | ... | @@ -24,14 +28,19 @@ |
| 24 | 28 | <artifactId>yudao-module-ai-api</artifactId> |
| 25 | 29 | <version>${revision}</version> |
| 26 | 30 | </dependency> |
| 27 | - | |
| 28 | - <!-- 业务组件 --> | |
| 29 | 31 | <dependency> |
| 30 | 32 | <groupId>cn.iocoder.boot</groupId> |
| 31 | - <artifactId>yudao-spring-boot-starter-ai</artifactId> | |
| 33 | + <artifactId>yudao-module-system-api</artifactId> | |
| 34 | + <version>${revision}</version> | |
| 35 | + </dependency> | |
| 36 | + <dependency> | |
| 37 | + <groupId>cn.iocoder.boot</groupId> | |
| 38 | + <artifactId>yudao-module-infra-api</artifactId> | |
| 32 | 39 | <version>${revision}</version> |
| 33 | 40 | </dependency> |
| 34 | 41 | |
| 42 | + <!-- 业务组件 --> | |
| 43 | + | |
| 35 | 44 | <dependency> |
| 36 | 45 | <groupId>cn.iocoder.boot</groupId> |
| 37 | 46 | <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId> |
| ... | ... | @@ -60,5 +69,148 @@ |
| 60 | 69 | <groupId>cn.iocoder.boot</groupId> |
| 61 | 70 | <artifactId>yudao-spring-boot-starter-test</artifactId> |
| 62 | 71 | </dependency> |
| 72 | + | |
| 73 | + <!-- 工具类相关 --> | |
| 74 | + <dependency> | |
| 75 | + <groupId>cn.iocoder.boot</groupId> | |
| 76 | + <artifactId>yudao-spring-boot-starter-excel</artifactId> | |
| 77 | + </dependency> | |
| 78 | + | |
| 79 | + <!-- Spring AI Model 模型接入 --> | |
| 80 | + <dependency> | |
| 81 | + <groupId>org.springframework.ai</groupId> | |
| 82 | + <artifactId>spring-ai-openai-spring-boot-starter</artifactId> | |
| 83 | + <version>${spring-ai.version}</version> | |
| 84 | + </dependency> | |
| 85 | + <dependency> | |
| 86 | + <groupId>org.springframework.ai</groupId> | |
| 87 | + <artifactId>spring-ai-azure-openai-spring-boot-starter</artifactId> | |
| 88 | + <version>${spring-ai.version}</version> | |
| 89 | + </dependency> | |
| 90 | + <dependency> | |
| 91 | + <groupId>org.springframework.ai</groupId> | |
| 92 | + <artifactId>spring-ai-ollama-spring-boot-starter</artifactId> | |
| 93 | + <version>${spring-ai.version}</version> | |
| 94 | + </dependency> | |
| 95 | + <dependency> | |
| 96 | + <groupId>org.springframework.ai</groupId> | |
| 97 | + <artifactId>spring-ai-stability-ai-spring-boot-starter</artifactId> | |
| 98 | + <version>${spring-ai.version}</version> | |
| 99 | + </dependency> | |
| 100 | + <dependency> | |
| 101 | + <!-- 通义千问 --> | |
| 102 | + <groupId>com.alibaba.cloud.ai</groupId> | |
| 103 | + <artifactId>spring-ai-alibaba-starter</artifactId> | |
| 104 | + <version>${spring-ai.version}.1</version> | |
| 105 | + </dependency> | |
| 106 | + <dependency> | |
| 107 | + <!-- 文心一言 --> | |
| 108 | + <groupId>org.springframework.ai</groupId> | |
| 109 | + <artifactId>spring-ai-qianfan-spring-boot-starter</artifactId> | |
| 110 | + <version>${spring-ai.version}</version> | |
| 111 | + </dependency> | |
| 112 | + <dependency> | |
| 113 | + <!-- 智谱 GLM --> | |
| 114 | + <groupId>org.springframework.ai</groupId> | |
| 115 | + <artifactId>spring-ai-zhipuai-spring-boot-starter</artifactId> | |
| 116 | + <version>${spring-ai.version}</version> | |
| 117 | + </dependency> | |
| 118 | + <dependency> | |
| 119 | + <groupId>org.springframework.ai</groupId> | |
| 120 | + <artifactId>spring-ai-minimax-spring-boot-starter</artifactId> | |
| 121 | + <version>${spring-ai.version}</version> | |
| 122 | + </dependency> | |
| 123 | + <dependency> | |
| 124 | + <groupId>org.springframework.ai</groupId> | |
| 125 | + <artifactId>spring-ai-moonshot-spring-boot-starter</artifactId> | |
| 126 | + <version>${spring-ai.version}</version> | |
| 127 | + </dependency> | |
| 128 | + | |
| 129 | + <!-- 向量存储:https://db-engines.com/en/ranking/vector+dbms --> | |
| 130 | + <dependency> | |
| 131 | + <!-- Qdrant:https://qdrant.tech/ --> | |
| 132 | + <groupId>org.springframework.ai</groupId> | |
| 133 | + <artifactId>spring-ai-qdrant-store</artifactId> | |
| 134 | + <version>${spring-ai.version}</version> | |
| 135 | + </dependency> | |
| 136 | + | |
| 137 | + <dependency> | |
| 138 | + <!-- Redis:https://redis.io/docs/latest/develop/get-started/vector-database/ --> | |
| 139 | + <groupId>org.springframework.ai</groupId> | |
| 140 | + <artifactId>spring-ai-redis-store</artifactId> | |
| 141 | + <version>${spring-ai.version}</version> | |
| 142 | + </dependency> | |
| 143 | + <dependency> | |
| 144 | + <groupId>cn.iocoder.boot</groupId> | |
| 145 | + <artifactId>yudao-spring-boot-starter-redis</artifactId> | |
| 146 | + </dependency> | |
| 147 | + | |
| 148 | + <dependency> | |
| 149 | + <!-- Milvus:https://milvus.io/ --> | |
| 150 | + <groupId>org.springframework.ai</groupId> | |
| 151 | + <artifactId>spring-ai-milvus-store</artifactId> | |
| 152 | + <version>${spring-ai.version}</version> | |
| 153 | + <exclusions> | |
| 154 | + <!-- 解决和 logback 的日志冲突 --> | |
| 155 | + <exclusion> | |
| 156 | + <groupId>org.slf4j</groupId> | |
| 157 | + <artifactId>slf4j-reload4j</artifactId> | |
| 158 | + </exclusion> | |
| 159 | + </exclusions> | |
| 160 | + </dependency> | |
| 161 | + | |
| 162 | + <dependency> | |
| 163 | + <!-- Tika:负责内容的解析 --> | |
| 164 | + <groupId>org.springframework.ai</groupId> | |
| 165 | + <artifactId>spring-ai-tika-document-reader</artifactId> | |
| 166 | + <version>${spring-ai.version}</version> | |
| 167 | + <!-- TODO 芋艿:boot 项目里,不引入 cloud 依赖!!!另外,这样也是为了解决启动报错的问题! --> | |
| 168 | + <exclusions> | |
| 169 | + <exclusion> | |
| 170 | + <artifactId>spring-cloud-function-context</artifactId> | |
| 171 | + <groupId>org.springframework.cloud</groupId> | |
| 172 | + </exclusion> | |
| 173 | + <exclusion> | |
| 174 | + <artifactId>spring-cloud-function-core</artifactId> | |
| 175 | + <groupId>org.springframework.cloud</groupId> | |
| 176 | + </exclusion> | |
| 177 | + </exclusions> | |
| 178 | + </dependency> | |
| 179 | + | |
| 180 | + <!-- TinyFlow:AI 工作流 --> | |
| 181 | + <dependency> | |
| 182 | + <groupId>dev.tinyflow</groupId> | |
| 183 | + <artifactId>tinyflow-java-core</artifactId> | |
| 184 | + <version>${tinyflow.version}</version> | |
| 185 | + <exclusions> | |
| 186 | + <exclusion> | |
| 187 | + <groupId>com.jfinal</groupId> | |
| 188 | + <artifactId>enjoy</artifactId> | |
| 189 | + </exclusion> | |
| 190 | + <exclusion> | |
| 191 | + <!-- 解决 https://gitee.com/zhijiantianya/ruoyi-vue-pro/pulls/1318/ 问题 --> | |
| 192 | + <groupId>com.agentsflex</groupId> | |
| 193 | + <artifactId>agents-flex-store-elasticsearch</artifactId> | |
| 194 | + </exclusion> | |
| 195 | + <exclusion> | |
| 196 | + <!-- TODO @芋艿:暂时移除 groovy,和 iot 冲突 --> | |
| 197 | + <groupId>org.codehaus.groovy</groupId> | |
| 198 | + <artifactId>groovy-all</artifactId> | |
| 199 | + </exclusion> | |
| 200 | + <!-- 解决和 logback 的日志冲突 --> | |
| 201 | + <exclusion> | |
| 202 | + <groupId>org.slf4j</groupId> | |
| 203 | + <artifactId>slf4j-simple</artifactId> | |
| 204 | + </exclusion> | |
| 205 | + <exclusion> | |
| 206 | + <groupId>org.apache.logging.log4j</groupId> | |
| 207 | + <artifactId>log4j-slf4j-impl</artifactId> | |
| 208 | + </exclusion> | |
| 209 | + <exclusion> | |
| 210 | + <groupId>org.slf4j</groupId> | |
| 211 | + <artifactId>slf4j-reload4j</artifactId> | |
| 212 | + </exclusion> | |
| 213 | + </exclusions> | |
| 214 | + </dependency> | |
| 63 | 215 | </dependencies> |
| 64 | 216 | </project> |
| 65 | 217 | \ No newline at end of file | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/AiImageController.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.controller.admin.image; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.util.ObjUtil; |
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 5 | 5 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 6 | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 7 | 7 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageRespVO.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.controller.admin.image.vo; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 4 | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | 5 | import lombok.Data; |
| 6 | 6 | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/vo/model/AiModelSaveReqVO.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.controller.admin.model.vo.model; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiModelTypeEnum; | |
| 4 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | |
| 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiModelTypeEnum; | |
| 4 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 5 | 5 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 6 | 6 | import cn.iocoder.yudao.framework.common.validation.InEnum; |
| 7 | 7 | import io.swagger.v3.oas.annotations.media.Schema; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/image/AiImageDO.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.image; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 4 | 5 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 5 | 6 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; |
| 6 | 7 | import cn.iocoder.yudao.module.ai.enums.image.AiImageStatusEnum; |
| ... | ... | @@ -49,7 +50,7 @@ public class AiImageDO extends BaseDO { |
| 49 | 50 | /** |
| 50 | 51 | * 平台 |
| 51 | 52 | * |
| 52 | - * 枚举 {@link cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum} | |
| 53 | + * 枚举 {@link AiPlatformEnum} | |
| 53 | 54 | */ |
| 54 | 55 | private String platform; |
| 55 | 56 | /** | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/mindmap/AiMindMapDO.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.mindmap; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | |
| 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 4 | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 5 | 5 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; |
| 6 | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiApiKeyDO.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.model; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | |
| 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 4 | 4 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 5 | 5 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 6 | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiModelDO.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.model; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiModelTypeEnum; | |
| 4 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | |
| 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiModelTypeEnum; | |
| 4 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 5 | 5 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 6 | 6 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 7 | 7 | import com.baomidou.mybatisplus.annotation.KeySequence; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/music/AiMusicDO.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.music; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | |
| 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 4 | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 5 | 5 | import cn.iocoder.yudao.module.ai.enums.music.AiMusicGenerateModeEnum; |
| 6 | 6 | import cn.iocoder.yudao.module.ai.enums.music.AiMusicStatusEnum; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/write/AiWriteDO.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.write; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | |
| 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 4 | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 5 | 5 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; |
| 6 | 6 | import cn.iocoder.yudao.module.ai.enums.DictTypeConstants; | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/enums/AiModelTypeEnum.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/enums/model/AiModelTypeEnum.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/enums/AiPlatformEnum.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/enums/model/AiPlatformEnum.java
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/enums/package-info.java
0 → 100644
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiAutoConfiguration.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/config/AiAutoConfiguration.java
| 1 | -package cn.iocoder.yudao.framework.ai.config; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.config; | |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.util.StrUtil; |
| 4 | 4 | import cn.hutool.extra.spring.SpringUtil; |
| 5 | -import cn.iocoder.yudao.framework.ai.core.factory.AiModelFactory; | |
| 6 | -import cn.iocoder.yudao.framework.ai.core.factory.AiModelFactoryImpl; | |
| 7 | -import cn.iocoder.yudao.framework.ai.core.model.baichuan.BaiChuanChatModel; | |
| 8 | -import cn.iocoder.yudao.framework.ai.core.model.deepseek.DeepSeekChatModel; | |
| 9 | -import cn.iocoder.yudao.framework.ai.core.model.doubao.DouBaoChatModel; | |
| 10 | -import cn.iocoder.yudao.framework.ai.core.model.hunyuan.HunYuanChatModel; | |
| 11 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 12 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowApiConstants; | |
| 13 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowChatModel; | |
| 14 | -import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; | |
| 15 | -import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatModel; | |
| 5 | +import cn.iocoder.yudao.module.ai.framework.ai.core.AiModelFactory; | |
| 6 | +import cn.iocoder.yudao.module.ai.framework.ai.core.AiModelFactoryImpl; | |
| 7 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.baichuan.BaiChuanChatModel; | |
| 8 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.deepseek.DeepSeekChatModel; | |
| 9 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.doubao.DouBaoChatModel; | |
| 10 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.hunyuan.HunYuanChatModel; | |
| 11 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 12 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowApiConstants; | |
| 13 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowChatModel; | |
| 14 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi; | |
| 15 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.xinghuo.XingHuoChatModel; | |
| 16 | 16 | import lombok.extern.slf4j.Slf4j; |
| 17 | 17 | import org.springframework.ai.autoconfigure.vectorstore.milvus.MilvusServiceClientProperties; |
| 18 | 18 | import org.springframework.ai.autoconfigure.vectorstore.milvus.MilvusVectorStoreProperties; |
| ... | ... | @@ -26,24 +26,24 @@ import org.springframework.ai.openai.OpenAiChatOptions; |
| 26 | 26 | import org.springframework.ai.openai.api.OpenAiApi; |
| 27 | 27 | import org.springframework.ai.tokenizer.JTokkitTokenCountEstimator; |
| 28 | 28 | import org.springframework.ai.tokenizer.TokenCountEstimator; |
| 29 | -import org.springframework.boot.autoconfigure.AutoConfiguration; | |
| 30 | 29 | import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
| 31 | 30 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 32 | 31 | import org.springframework.context.annotation.Bean; |
| 32 | +import org.springframework.context.annotation.Configuration; | |
| 33 | 33 | |
| 34 | 34 | /** |
| 35 | 35 | * 芋道 AI 自动配置 |
| 36 | 36 | * |
| 37 | 37 | * @author fansili |
| 38 | 38 | */ |
| 39 | -@AutoConfiguration | |
| 39 | +@Configuration | |
| 40 | 40 | @EnableConfigurationProperties({ YudaoAiProperties.class, |
| 41 | 41 | QdrantVectorStoreProperties.class, // 解析 Qdrant 配置 |
| 42 | 42 | RedisVectorStoreProperties.class, // 解析 Redis 配置 |
| 43 | 43 | MilvusVectorStoreProperties.class, MilvusServiceClientProperties.class // 解析 Milvus 配置 |
| 44 | 44 | }) |
| 45 | 45 | @Slf4j |
| 46 | -public class YudaoAiAutoConfiguration { | |
| 46 | +public class AiAutoConfiguration { | |
| 47 | 47 | |
| 48 | 48 | @Bean |
| 49 | 49 | public AiModelFactory aiModelFactory() { | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiProperties.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/config/YudaoAiProperties.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/factory/AiModelFactory.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/AiModelFactory.java
| 1 | -package cn.iocoder.yudao.framework.ai.core.factory; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | |
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 5 | -import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; | |
| 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 5 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi; | |
| 6 | 6 | import org.springframework.ai.chat.model.ChatModel; |
| 7 | 7 | import org.springframework.ai.embedding.EmbeddingModel; |
| 8 | 8 | import org.springframework.ai.image.ImageModel; | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/factory/AiModelFactoryImpl.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/AiModelFactoryImpl.java
| 1 | -package cn.iocoder.yudao.framework.ai.core.factory; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core; | |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.io.FileUtil; |
| 4 | 4 | import cn.hutool.core.lang.Assert; |
| ... | ... | @@ -8,20 +8,20 @@ import cn.hutool.core.util.ArrayUtil; |
| 8 | 8 | import cn.hutool.core.util.RuntimeUtil; |
| 9 | 9 | import cn.hutool.core.util.StrUtil; |
| 10 | 10 | import cn.hutool.extra.spring.SpringUtil; |
| 11 | -import cn.iocoder.yudao.framework.ai.config.YudaoAiAutoConfiguration; | |
| 12 | -import cn.iocoder.yudao.framework.ai.config.YudaoAiProperties; | |
| 13 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | |
| 14 | -import cn.iocoder.yudao.framework.ai.core.model.baichuan.BaiChuanChatModel; | |
| 15 | -import cn.iocoder.yudao.framework.ai.core.model.deepseek.DeepSeekChatModel; | |
| 16 | -import cn.iocoder.yudao.framework.ai.core.model.doubao.DouBaoChatModel; | |
| 17 | -import cn.iocoder.yudao.framework.ai.core.model.hunyuan.HunYuanChatModel; | |
| 18 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 19 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowApiConstants; | |
| 20 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowChatModel; | |
| 21 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowImageApi; | |
| 22 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowImageModel; | |
| 23 | -import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; | |
| 24 | -import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatModel; | |
| 11 | +import cn.iocoder.yudao.module.ai.framework.ai.config.AiAutoConfiguration; | |
| 12 | +import cn.iocoder.yudao.module.ai.framework.ai.config.YudaoAiProperties; | |
| 13 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 14 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.baichuan.BaiChuanChatModel; | |
| 15 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.deepseek.DeepSeekChatModel; | |
| 16 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.doubao.DouBaoChatModel; | |
| 17 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.hunyuan.HunYuanChatModel; | |
| 18 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 19 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowApiConstants; | |
| 20 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowChatModel; | |
| 21 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowImageApi; | |
| 22 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowImageModel; | |
| 23 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi; | |
| 24 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.xinghuo.XingHuoChatModel; | |
| 25 | 25 | import cn.iocoder.yudao.framework.common.util.spring.SpringUtils; |
| 26 | 26 | import com.alibaba.cloud.ai.autoconfigure.dashscope.DashScopeAutoConfiguration; |
| 27 | 27 | import com.alibaba.cloud.ai.dashscope.api.DashScopeApi; |
| ... | ... | @@ -361,39 +361,39 @@ public class AiModelFactoryImpl implements AiModelFactory { |
| 361 | 361 | } |
| 362 | 362 | |
| 363 | 363 | /** |
| 364 | - * 可参考 {@link YudaoAiAutoConfiguration#deepSeekChatModel(YudaoAiProperties)} | |
| 364 | + * 可参考 {@link AiAutoConfiguration#deepSeekChatModel(YudaoAiProperties)} | |
| 365 | 365 | */ |
| 366 | 366 | private static DeepSeekChatModel buildDeepSeekChatModel(String apiKey) { |
| 367 | 367 | YudaoAiProperties.DeepSeekProperties properties = new YudaoAiProperties.DeepSeekProperties() |
| 368 | 368 | .setApiKey(apiKey); |
| 369 | - return new YudaoAiAutoConfiguration().buildDeepSeekChatModel(properties); | |
| 369 | + return new AiAutoConfiguration().buildDeepSeekChatModel(properties); | |
| 370 | 370 | } |
| 371 | 371 | |
| 372 | 372 | /** |
| 373 | - * 可参考 {@link YudaoAiAutoConfiguration#douBaoChatClient(YudaoAiProperties)} | |
| 373 | + * 可参考 {@link AiAutoConfiguration#douBaoChatClient(YudaoAiProperties)} | |
| 374 | 374 | */ |
| 375 | 375 | private ChatModel buildDouBaoChatModel(String apiKey) { |
| 376 | 376 | YudaoAiProperties.DouBaoProperties properties = new YudaoAiProperties.DouBaoProperties() |
| 377 | 377 | .setApiKey(apiKey); |
| 378 | - return new YudaoAiAutoConfiguration().buildDouBaoChatClient(properties); | |
| 378 | + return new AiAutoConfiguration().buildDouBaoChatClient(properties); | |
| 379 | 379 | } |
| 380 | 380 | |
| 381 | 381 | /** |
| 382 | - * 可参考 {@link YudaoAiAutoConfiguration#hunYuanChatClient(YudaoAiProperties)} | |
| 382 | + * 可参考 {@link AiAutoConfiguration#hunYuanChatClient(YudaoAiProperties)} | |
| 383 | 383 | */ |
| 384 | 384 | private ChatModel buildHunYuanChatModel(String apiKey, String url) { |
| 385 | 385 | YudaoAiProperties.HunYuanProperties properties = new YudaoAiProperties.HunYuanProperties() |
| 386 | 386 | .setBaseUrl(url).setApiKey(apiKey); |
| 387 | - return new YudaoAiAutoConfiguration().buildHunYuanChatClient(properties); | |
| 387 | + return new AiAutoConfiguration().buildHunYuanChatClient(properties); | |
| 388 | 388 | } |
| 389 | 389 | |
| 390 | 390 | /** |
| 391 | - * 可参考 {@link YudaoAiAutoConfiguration#siliconFlowChatClient(YudaoAiProperties)} | |
| 391 | + * 可参考 {@link AiAutoConfiguration#siliconFlowChatClient(YudaoAiProperties)} | |
| 392 | 392 | */ |
| 393 | 393 | private ChatModel buildSiliconFlowChatModel(String apiKey) { |
| 394 | 394 | YudaoAiProperties.SiliconFlowProperties properties = new YudaoAiProperties.SiliconFlowProperties() |
| 395 | 395 | .setApiKey(apiKey); |
| 396 | - return new YudaoAiAutoConfiguration().buildSiliconFlowChatClient(properties); | |
| 396 | + return new AiAutoConfiguration().buildSiliconFlowChatClient(properties); | |
| 397 | 397 | } |
| 398 | 398 | |
| 399 | 399 | /** |
| ... | ... | @@ -436,23 +436,23 @@ public class AiModelFactoryImpl implements AiModelFactory { |
| 436 | 436 | } |
| 437 | 437 | |
| 438 | 438 | /** |
| 439 | - * 可参考 {@link YudaoAiAutoConfiguration#xingHuoChatClient(YudaoAiProperties)} | |
| 439 | + * 可参考 {@link AiAutoConfiguration#xingHuoChatClient(YudaoAiProperties)} | |
| 440 | 440 | */ |
| 441 | 441 | private static XingHuoChatModel buildXingHuoChatModel(String key) { |
| 442 | 442 | List<String> keys = StrUtil.split(key, '|'); |
| 443 | 443 | Assert.equals(keys.size(), 2, "XingHuoChatClient 的密钥需要 (appKey|secretKey) 格式"); |
| 444 | 444 | YudaoAiProperties.XingHuoProperties properties = new YudaoAiProperties.XingHuoProperties() |
| 445 | 445 | .setAppKey(keys.get(0)).setSecretKey(keys.get(1)); |
| 446 | - return new YudaoAiAutoConfiguration().buildXingHuoChatClient(properties); | |
| 446 | + return new AiAutoConfiguration().buildXingHuoChatClient(properties); | |
| 447 | 447 | } |
| 448 | 448 | |
| 449 | 449 | /** |
| 450 | - * 可参考 {@link YudaoAiAutoConfiguration#baiChuanChatClient(YudaoAiProperties)} | |
| 450 | + * 可参考 {@link AiAutoConfiguration#baiChuanChatClient(YudaoAiProperties)} | |
| 451 | 451 | */ |
| 452 | 452 | private BaiChuanChatModel buildBaiChuanChatModel(String apiKey) { |
| 453 | 453 | YudaoAiProperties.BaiChuanProperties properties = new YudaoAiProperties.BaiChuanProperties() |
| 454 | 454 | .setApiKey(apiKey); |
| 455 | - return new YudaoAiAutoConfiguration().buildBaiChuanChatClient(properties); | |
| 455 | + return new AiAutoConfiguration().buildBaiChuanChatClient(properties); | |
| 456 | 456 | } |
| 457 | 457 | |
| 458 | 458 | /** | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/baichuan/BaiChuanChatModel.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/baichuan/BaiChuanChatModel.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/deepseek/DeepSeekChatModel.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/deepseek/DeepSeekChatModel.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/doubao/DouBaoChatModel.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/doubao/DouBaoChatModel.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/hunyuan/HunYuanChatModel.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/hunyuan/HunYuanChatModel.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/midjourney/api/MidjourneyApi.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/midjourney/api/MidjourneyApi.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/siliconflow/SiliconFlowApiConstants.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/siliconflow/SiliconFlowApiConstants.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/siliconflow/SiliconFlowChatModel.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/siliconflow/SiliconFlowChatModel.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/siliconflow/SiliconFlowImageApi.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/siliconflow/SiliconFlowImageApi.java
| ... | ... | @@ -14,7 +14,7 @@ |
| 14 | 14 | * limitations under the License. |
| 15 | 15 | */ |
| 16 | 16 | |
| 17 | -package cn.iocoder.yudao.framework.ai.core.model.siliconflow; | |
| 17 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow; | |
| 18 | 18 | |
| 19 | 19 | import com.fasterxml.jackson.annotation.JsonInclude; |
| 20 | 20 | import com.fasterxml.jackson.annotation.JsonProperty; | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/siliconflow/SiliconFlowImageModel.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/siliconflow/SiliconFlowImageModel.java
| ... | ... | @@ -14,7 +14,7 @@ |
| 14 | 14 | * limitations under the License. |
| 15 | 15 | */ |
| 16 | 16 | |
| 17 | -package cn.iocoder.yudao.framework.ai.core.model.siliconflow; | |
| 17 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow; | |
| 18 | 18 | |
| 19 | 19 | import io.micrometer.observation.ObservationRegistry; |
| 20 | 20 | import lombok.Setter; | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/siliconflow/SiliconFlowImageOptions.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/siliconflow/SiliconFlowImageOptions.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/suno/api/SunoApi.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/suno/api/SunoApi.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/wenduoduo/api/WenDuoDuoPptApi.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/wenduoduo/api/WenDuoDuoPptApi.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/xinghuo/XingHuoChatModel.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/xinghuo/XingHuoChatModel.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/xinghuo/api/XunFeiPptApi.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/xinghuo/api/XunFeiPptApi.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/package-info.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/package-info.java
| ... | ... | @@ -10,4 +10,4 @@ |
| 10 | 10 | * 6. midjourney 包:Midjourney API,对接 https://github.com/novicezk/midjourney-proxy 实现 |
| 11 | 11 | * 7. suno 包:Suno API,对接 https://github.com/gcui-art/suno-api 实现 |
| 12 | 12 | */ |
| 13 | -package cn.iocoder.yudao.framework.ai; | |
| 14 | 13 | \ No newline at end of file |
| 14 | +package cn.iocoder.yudao.module.ai.framework.ai; | |
| 15 | 15 | \ No newline at end of file | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatConversationServiceImpl.java
| ... | ... | @@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.lang.Assert; |
| 5 | 5 | import cn.hutool.core.util.ObjUtil; |
| 6 | 6 | import cn.hutool.core.util.ObjectUtil; |
| 7 | -import cn.iocoder.yudao.framework.ai.core.enums.AiModelTypeEnum; | |
| 7 | +import cn.iocoder.yudao.module.ai.enums.model.AiModelTypeEnum; | |
| 8 | 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 9 | 9 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 10 | 10 | import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationCreateMyReqVO; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatMessageServiceImpl.java
| ... | ... | @@ -3,8 +3,8 @@ package cn.iocoder.yudao.module.ai.service.chat; |
| 3 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.util.ObjUtil; |
| 5 | 5 | import cn.hutool.core.util.StrUtil; |
| 6 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | |
| 7 | -import cn.iocoder.yudao.framework.ai.core.util.AiUtils; | |
| 6 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 7 | +import cn.iocoder.yudao.module.ai.util.AiUtils; | |
| 8 | 8 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 9 | 9 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 10 | 10 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageService.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.service.image; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 4 | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | 5 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.*; |
| 6 | 6 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.midjourney.AiMidjourneyActionReqVO; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java
| ... | ... | @@ -9,9 +9,9 @@ import cn.hutool.core.util.ObjUtil; |
| 9 | 9 | import cn.hutool.core.util.StrUtil; |
| 10 | 10 | import cn.hutool.extra.spring.SpringUtil; |
| 11 | 11 | import cn.hutool.http.HttpUtil; |
| 12 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | |
| 13 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 14 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowImageOptions; | |
| 12 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 13 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 14 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowImageOptions; | |
| 15 | 15 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 16 | 16 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 17 | 17 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDrawReqVO; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/mindmap/AiMindMapServiceImpl.java
| ... | ... | @@ -3,9 +3,9 @@ package cn.iocoder.yudao.module.ai.service.mindmap; |
| 3 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.util.ObjUtil; |
| 5 | 5 | import cn.hutool.core.util.StrUtil; |
| 6 | -import cn.iocoder.yudao.framework.ai.core.enums.AiModelTypeEnum; | |
| 7 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | |
| 8 | -import cn.iocoder.yudao.framework.ai.core.util.AiUtils; | |
| 6 | +import cn.iocoder.yudao.module.ai.enums.model.AiModelTypeEnum; | |
| 7 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 8 | +import cn.iocoder.yudao.module.ai.util.AiUtils; | |
| 9 | 9 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 10 | 10 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 11 | 11 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiModelService.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.service.model; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; | |
| 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi; | |
| 5 | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | 6 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiModelPageReqVO; |
| 7 | 7 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiModelSaveReqVO; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiModelServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.service.model; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | |
| 4 | -import cn.iocoder.yudao.framework.ai.core.factory.AiModelFactory; | |
| 5 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 6 | -import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; | |
| 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.AiModelFactory; | |
| 5 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 6 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi; | |
| 7 | 7 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 8 | 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 9 | 9 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/model/tool/UserProfileQueryToolFunction.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.service.model.tool; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.util.AiUtils; | |
| 3 | +import cn.iocoder.yudao.module.ai.util.AiUtils; | |
| 4 | 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | 5 | import cn.iocoder.yudao.framework.security.core.LoginUser; |
| 6 | 6 | import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/music/AiMusicServiceImpl.java
| ... | ... | @@ -6,7 +6,7 @@ import cn.hutool.core.util.ObjUtil; |
| 6 | 6 | import cn.hutool.core.util.ObjectUtil; |
| 7 | 7 | import cn.hutool.core.util.StrUtil; |
| 8 | 8 | import cn.hutool.http.HttpUtil; |
| 9 | -import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; | |
| 9 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi; | |
| 10 | 10 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 11 | 11 | import cn.iocoder.yudao.module.ai.controller.admin.music.vo.AiMusicPageReqVO; |
| 12 | 12 | import cn.iocoder.yudao.module.ai.controller.admin.music.vo.AiMusicUpdateMyReqVO; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/write/AiWriteServiceImpl.java
| ... | ... | @@ -3,9 +3,10 @@ package cn.iocoder.yudao.module.ai.service.write; |
| 3 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.util.ObjUtil; |
| 5 | 5 | import cn.hutool.core.util.StrUtil; |
| 6 | -import cn.iocoder.yudao.framework.ai.core.enums.AiModelTypeEnum; | |
| 7 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | |
| 8 | -import cn.iocoder.yudao.framework.ai.core.util.AiUtils; | |
| 6 | +import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils; | |
| 7 | +import cn.iocoder.yudao.module.ai.enums.model.AiModelTypeEnum; | |
| 8 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 9 | +import cn.iocoder.yudao.module.ai.util.AiUtils; | |
| 9 | 10 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 10 | 11 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 11 | 12 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| ... | ... | @@ -61,9 +62,6 @@ public class AiWriteServiceImpl implements AiWriteService { |
| 61 | 62 | @Resource |
| 62 | 63 | private AiWriteMapper writeMapper; |
| 63 | 64 | |
| 64 | - @Resource | |
| 65 | - private DictDataApi dictDataApi; | |
| 66 | - | |
| 67 | 65 | @Override |
| 68 | 66 | public Flux<CommonResult<String>> generateWriteContent(AiWriteGenerateReqVO generateReqVO, Long userId) { |
| 69 | 67 | // 1 获取写作模型。尝试获取写作助手角色,没有则使用默认模型 |
| ... | ... | @@ -146,10 +144,10 @@ public class AiWriteServiceImpl implements AiWriteService { |
| 146 | 144 | } |
| 147 | 145 | |
| 148 | 146 | private String buildUserMessage(AiWriteGenerateReqVO generateReqVO) { |
| 149 | - String format = dictDataApi.getDictDataLabel(DictTypeConstants.AI_WRITE_FORMAT, generateReqVO.getFormat()); | |
| 150 | - String tone = dictDataApi.getDictDataLabel(DictTypeConstants.AI_WRITE_TONE, generateReqVO.getTone()); | |
| 151 | - String language = dictDataApi.getDictDataLabel(DictTypeConstants.AI_WRITE_LANGUAGE, generateReqVO.getLanguage()); | |
| 152 | - String length = dictDataApi.getDictDataLabel(DictTypeConstants.AI_WRITE_LENGTH, generateReqVO.getLength()); | |
| 147 | + String format = DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.AI_WRITE_FORMAT, generateReqVO.getFormat()); | |
| 148 | + String tone = DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.AI_WRITE_TONE, generateReqVO.getTone()); | |
| 149 | + String language = DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.AI_WRITE_LANGUAGE, generateReqVO.getLanguage()); | |
| 150 | + String length = DictFrameworkUtils.parseDictDataLabel(DictTypeConstants.AI_WRITE_LENGTH, generateReqVO.getLength()); | |
| 153 | 151 | // 格式化 prompt |
| 154 | 152 | String prompt = generateReqVO.getPrompt(); |
| 155 | 153 | if (Objects.equals(generateReqVO.getType(), AiWriteTypeEnum.WRITING.getType())) { | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/util/AiUtils.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/util/AiUtils.java
| 1 | -package cn.iocoder.yudao.framework.ai.core.util; | |
| 1 | +package cn.iocoder.yudao.module.ai.util; | |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.util.ObjUtil; |
| 4 | 4 | import cn.hutool.core.util.StrUtil; |
| 5 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | |
| 5 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | |
| 6 | 6 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; |
| 7 | 7 | import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; |
| 8 | 8 | import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatOptions; | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/AzureOpenAIChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/AzureOpenAIChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/BaiChuanChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/BaiChuanChatModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.chat; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.baichuan.BaiChuanChatModel; | |
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.deepseek.DeepSeekChatModel; | |
| 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.baichuan.BaiChuanChatModel; | |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.deepseek.DeepSeekChatModel; | |
| 5 | 5 | import org.junit.jupiter.api.Disabled; |
| 6 | 6 | import org.junit.jupiter.api.Test; |
| 7 | 7 | import org.springframework.ai.chat.messages.Message; | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/CozeChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/CozeChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/DeepSeekChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DeepSeekChatModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.chat; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.deepseek.DeepSeekChatModel; | |
| 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.deepseek.DeepSeekChatModel; | |
| 4 | 4 | import org.junit.jupiter.api.Disabled; |
| 5 | 5 | import org.junit.jupiter.api.Test; |
| 6 | 6 | import org.springframework.ai.chat.messages.Message; | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/DifyChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DifyChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/DouBaoChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DouBaoChatModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.chat; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.doubao.DouBaoChatModel; | |
| 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.doubao.DouBaoChatModel; | |
| 4 | 4 | import org.junit.jupiter.api.Disabled; |
| 5 | 5 | import org.junit.jupiter.api.Test; |
| 6 | 6 | import org.springframework.ai.chat.messages.Message; | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/FastGPTChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/FastGPTChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/HunYuanChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/HunYuanChatModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.chat; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.hunyuan.HunYuanChatModel; | |
| 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.hunyuan.HunYuanChatModel; | |
| 4 | 4 | import org.junit.jupiter.api.Disabled; |
| 5 | 5 | import org.junit.jupiter.api.Test; |
| 6 | 6 | import org.springframework.ai.chat.messages.Message; | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/LlamaChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/LlamaChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/MiniMaxChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/MiniMaxChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/MoonshotChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/MoonshotChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/OllamaChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/OllamaChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/OpenAIChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/OpenAIChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/SiliconFlowChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/SiliconFlowChatModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.chat; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowApiConstants; | |
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowChatModel; | |
| 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowApiConstants; | |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowChatModel; | |
| 5 | 5 | import org.junit.jupiter.api.Disabled; |
| 6 | 6 | import org.junit.jupiter.api.Test; |
| 7 | 7 | import org.springframework.ai.chat.messages.Message; | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/TongYiChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/TongYiChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/XingHuoChatModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.chat; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatModel; | |
| 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.xinghuo.XingHuoChatModel; | |
| 4 | 4 | import org.junit.jupiter.api.Disabled; |
| 5 | 5 | import org.junit.jupiter.api.Test; |
| 6 | 6 | import org.springframework.ai.chat.messages.Message; | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/YiYanChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/YiYanChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/ZhiPuAiChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/ZhiPuAiChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/MidjourneyApiTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/MidjourneyApiTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.image; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.image; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | |
| 4 | 4 | import org.junit.jupiter.api.Disabled; |
| 5 | 5 | import org.junit.jupiter.api.Test; |
| 6 | 6 | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/OpenAiImageModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/OpenAiImageModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/QianFanImageTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/QianFanImageTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.image; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.image; | |
| 2 | 2 | |
| 3 | 3 | import org.junit.jupiter.api.Disabled; |
| 4 | 4 | import org.junit.jupiter.api.Test; |
| ... | ... | @@ -8,7 +8,7 @@ import org.springframework.ai.qianfan.QianFanImageModel; |
| 8 | 8 | import org.springframework.ai.qianfan.QianFanImageOptions; |
| 9 | 9 | import org.springframework.ai.qianfan.api.QianFanImageApi; |
| 10 | 10 | |
| 11 | -import static cn.iocoder.yudao.framework.ai.image.StabilityAiImageModelTests.viewImage; | |
| 11 | +import static cn.iocoder.yudao.module.ai.framework.ai.core.model.image.StabilityAiImageModelTests.viewImage; | |
| 12 | 12 | |
| 13 | 13 | // TODO @芋艿:百度千帆 API 提供了 V2 版本,目前 Spring AI 不兼容,可关键 <https://github.com/spring-projects/spring-ai/issues/2179> 进展 |
| 14 | 14 | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/SiliconFlowImageModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/SiliconFlowImageModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.image; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.image; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowImageApi; | |
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowImageModel; | |
| 5 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowImageOptions; | |
| 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowImageApi; | |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowImageModel; | |
| 5 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowImageOptions; | |
| 6 | 6 | import org.junit.jupiter.api.Disabled; |
| 7 | 7 | import org.junit.jupiter.api.Test; |
| 8 | 8 | import org.springframework.ai.image.ImagePrompt; | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/StabilityAiImageModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/StabilityAiImageModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/TongYiImagesModelTest.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/TongYiImagesModelTest.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/ZhiPuAiImageModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/ZhiPuAiImageModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/mcp/DouBaoMcpTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/mcp/DouBaoMcpTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.mcp; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.mcp; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.doubao.DouBaoChatModel; | |
| 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.doubao.DouBaoChatModel; | |
| 4 | +import org.junit.jupiter.api.Disabled; | |
| 4 | 5 | import org.junit.jupiter.api.Test; |
| 5 | 6 | import org.springframework.ai.chat.client.ChatClient; |
| 6 | 7 | import org.springframework.ai.openai.OpenAiChatModel; |
| ... | ... | @@ -9,6 +10,7 @@ import org.springframework.ai.openai.api.OpenAiApi; |
| 9 | 10 | import org.springframework.ai.tool.annotation.Tool; |
| 10 | 11 | import org.springframework.ai.tool.method.MethodToolCallbackProvider; |
| 11 | 12 | |
| 13 | +@Disabled | |
| 12 | 14 | public class DouBaoMcpTests { |
| 13 | 15 | |
| 14 | 16 | private final OpenAiChatModel openAiChatModel = OpenAiChatModel.builder() | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/music/SunoApiTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/music/SunoApiTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.music; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.music; | |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.collection.ListUtil; |
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; | |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi; | |
| 5 | 5 | import org.junit.jupiter.api.Disabled; |
| 6 | 6 | import org.junit.jupiter.api.Test; |
| 7 | 7 | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/ppt/wdd/WenDuoDuoPptApiTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/ppt/wdd/WenDuoDuoPptApiTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.ppt.wdd; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.ppt.wdd; | |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.wenduoduo.api.WenDuoDuoPptApi; | |
| 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.wenduoduo.api.WenDuoDuoPptApi; | |
| 4 | 4 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 5 | 5 | import org.junit.jupiter.api.Disabled; |
| 6 | 6 | import org.junit.jupiter.api.Test; |
| ... | ... | @@ -14,6 +14,7 @@ import java.util.Objects; |
| 14 | 14 | * |
| 15 | 15 | * @author xiaoxin |
| 16 | 16 | */ |
| 17 | +@Disabled | |
| 17 | 18 | public class WenDuoDuoPptApiTests { |
| 18 | 19 | |
| 19 | 20 | private final String token = ""; // API Token | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/ppt/xunfei/XunFeiPptApiTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/ppt/xunfei/XunFeiPptApiTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.ppt.xunfei; | |
| 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.ppt.xunfei; | |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.io.FileUtil; |
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.xinghuo.api.XunFeiPptApi; | |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.xinghuo.api.XunFeiPptApi; | |
| 5 | 5 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 6 | 6 | import org.junit.jupiter.api.Disabled; |
| 7 | 7 | import org.junit.jupiter.api.Test; | ... | ... |
yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml deleted
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | -<project xmlns="http://maven.apache.org/POM/4.0.0" | |
| 3 | - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
| 4 | - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
| 5 | - <parent> | |
| 6 | - <groupId>cn.iocoder.boot</groupId> | |
| 7 | - <artifactId>yudao-module-ai</artifactId> | |
| 8 | - <version>${revision}</version> | |
| 9 | - </parent> | |
| 10 | - <modelVersion>4.0.0</modelVersion> | |
| 11 | - <artifactId>yudao-spring-boot-starter-ai</artifactId> | |
| 12 | - <packaging>jar</packaging> | |
| 13 | - | |
| 14 | - <name>${project.artifactId}</name> | |
| 15 | - <description>AI 大模型拓展,接入国内外大模型</description> | |
| 16 | - <properties> | |
| 17 | - <spring-ai.version>1.0.0-M6</spring-ai.version> | |
| 18 | - <tinyflow.version>1.0.2</tinyflow.version> | |
| 19 | - </properties> | |
| 20 | - | |
| 21 | - <dependencies> | |
| 22 | - <dependency> | |
| 23 | - <groupId>cn.iocoder.boot</groupId> | |
| 24 | - <artifactId>yudao-common</artifactId> | |
| 25 | - </dependency> | |
| 26 | - | |
| 27 | - <!-- 业务组件 --> | |
| 28 | - <dependency> | |
| 29 | - <groupId>cn.iocoder.boot</groupId> | |
| 30 | - <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId> | |
| 31 | - </dependency> | |
| 32 | - | |
| 33 | - <!-- Web 相关 --> | |
| 34 | - <dependency> | |
| 35 | - <groupId>cn.iocoder.boot</groupId> | |
| 36 | - <artifactId>yudao-spring-boot-starter-security</artifactId> | |
| 37 | - </dependency> | |
| 38 | - | |
| 39 | - <!-- Spring AI Model 模型接入 --> | |
| 40 | - <dependency> | |
| 41 | - <groupId>org.springframework.ai</groupId> | |
| 42 | - <artifactId>spring-ai-openai-spring-boot-starter</artifactId> | |
| 43 | - <version>${spring-ai.version}</version> | |
| 44 | - </dependency> | |
| 45 | - <dependency> | |
| 46 | - <groupId>org.springframework.ai</groupId> | |
| 47 | - <artifactId>spring-ai-azure-openai-spring-boot-starter</artifactId> | |
| 48 | - <version>${spring-ai.version}</version> | |
| 49 | - </dependency> | |
| 50 | - <dependency> | |
| 51 | - <groupId>org.springframework.ai</groupId> | |
| 52 | - <artifactId>spring-ai-ollama-spring-boot-starter</artifactId> | |
| 53 | - <version>${spring-ai.version}</version> | |
| 54 | - </dependency> | |
| 55 | - <dependency> | |
| 56 | - <groupId>org.springframework.ai</groupId> | |
| 57 | - <artifactId>spring-ai-stability-ai-spring-boot-starter</artifactId> | |
| 58 | - <version>${spring-ai.version}</version> | |
| 59 | - </dependency> | |
| 60 | - <dependency> | |
| 61 | - <!-- 通义千问 --> | |
| 62 | - <groupId>com.alibaba.cloud.ai</groupId> | |
| 63 | - <artifactId>spring-ai-alibaba-starter</artifactId> | |
| 64 | - <version>${spring-ai.version}.1</version> | |
| 65 | - </dependency> | |
| 66 | - <dependency> | |
| 67 | - <!-- 文心一言 --> | |
| 68 | - <groupId>org.springframework.ai</groupId> | |
| 69 | - <artifactId>spring-ai-qianfan-spring-boot-starter</artifactId> | |
| 70 | - <version>${spring-ai.version}</version> | |
| 71 | - </dependency> | |
| 72 | - <dependency> | |
| 73 | - <!-- 智谱 GLM --> | |
| 74 | - <groupId>org.springframework.ai</groupId> | |
| 75 | - <artifactId>spring-ai-zhipuai-spring-boot-starter</artifactId> | |
| 76 | - <version>${spring-ai.version}</version> | |
| 77 | - </dependency> | |
| 78 | - <dependency> | |
| 79 | - <groupId>org.springframework.ai</groupId> | |
| 80 | - <artifactId>spring-ai-minimax-spring-boot-starter</artifactId> | |
| 81 | - <version>${spring-ai.version}</version> | |
| 82 | - </dependency> | |
| 83 | - <dependency> | |
| 84 | - <groupId>org.springframework.ai</groupId> | |
| 85 | - <artifactId>spring-ai-moonshot-spring-boot-starter</artifactId> | |
| 86 | - <version>${spring-ai.version}</version> | |
| 87 | - </dependency> | |
| 88 | - | |
| 89 | - <!-- 向量存储:https://db-engines.com/en/ranking/vector+dbms --> | |
| 90 | - <dependency> | |
| 91 | - <!-- Qdrant:https://qdrant.tech/ --> | |
| 92 | - <groupId>org.springframework.ai</groupId> | |
| 93 | - <artifactId>spring-ai-qdrant-store</artifactId> | |
| 94 | - <version>${spring-ai.version}</version> | |
| 95 | - </dependency> | |
| 96 | - | |
| 97 | - <dependency> | |
| 98 | - <!-- Redis:https://redis.io/docs/latest/develop/get-started/vector-database/ --> | |
| 99 | - <groupId>org.springframework.ai</groupId> | |
| 100 | - <artifactId>spring-ai-redis-store</artifactId> | |
| 101 | - <version>${spring-ai.version}</version> | |
| 102 | - </dependency> | |
| 103 | - <dependency> | |
| 104 | - <groupId>cn.iocoder.boot</groupId> | |
| 105 | - <artifactId>yudao-spring-boot-starter-redis</artifactId> | |
| 106 | - </dependency> | |
| 107 | - | |
| 108 | - <dependency> | |
| 109 | - <!-- Milvus:https://milvus.io/ --> | |
| 110 | - <groupId>org.springframework.ai</groupId> | |
| 111 | - <artifactId>spring-ai-milvus-store</artifactId> | |
| 112 | - <version>${spring-ai.version}</version> | |
| 113 | - <exclusions> | |
| 114 | - <!-- 解决和 logback 的日志冲突 --> | |
| 115 | - <exclusion> | |
| 116 | - <groupId>org.slf4j</groupId> | |
| 117 | - <artifactId>slf4j-reload4j</artifactId> | |
| 118 | - </exclusion> | |
| 119 | - </exclusions> | |
| 120 | - </dependency> | |
| 121 | - | |
| 122 | - <dependency> | |
| 123 | - <!-- Tika:负责内容的解析 --> | |
| 124 | - <groupId>org.springframework.ai</groupId> | |
| 125 | - <artifactId>spring-ai-tika-document-reader</artifactId> | |
| 126 | - <version>${spring-ai.version}</version> | |
| 127 | - <!-- TODO 芋艿:boot 项目里,不引入 cloud 依赖!!!另外,这样也是为了解决启动报错的问题! --> | |
| 128 | - <exclusions> | |
| 129 | - <exclusion> | |
| 130 | - <artifactId>spring-cloud-function-context</artifactId> | |
| 131 | - <groupId>org.springframework.cloud</groupId> | |
| 132 | - </exclusion> | |
| 133 | - <exclusion> | |
| 134 | - <artifactId>spring-cloud-function-core</artifactId> | |
| 135 | - <groupId>org.springframework.cloud</groupId> | |
| 136 | - </exclusion> | |
| 137 | - </exclusions> | |
| 138 | - </dependency> | |
| 139 | - | |
| 140 | - <!-- TinyFlow:AI 工作流 --> | |
| 141 | - <dependency> | |
| 142 | - <groupId>dev.tinyflow</groupId> | |
| 143 | - <artifactId>tinyflow-java-core</artifactId> | |
| 144 | - <version>${tinyflow.version}</version> | |
| 145 | - <exclusions> | |
| 146 | - <exclusion> | |
| 147 | - <groupId>com.jfinal</groupId> | |
| 148 | - <artifactId>enjoy</artifactId> | |
| 149 | - </exclusion> | |
| 150 | - <exclusion> | |
| 151 | - <!-- 解决 https://gitee.com/zhijiantianya/ruoyi-vue-pro/pulls/1318/ 问题 --> | |
| 152 | - <groupId>com.agentsflex</groupId> | |
| 153 | - <artifactId>agents-flex-store-elasticsearch</artifactId> | |
| 154 | - </exclusion> | |
| 155 | - <exclusion> | |
| 156 | - <!-- TODO @芋艿:暂时移除 groovy,和 iot 冲突 --> | |
| 157 | - <groupId>org.codehaus.groovy</groupId> | |
| 158 | - <artifactId>groovy-all</artifactId> | |
| 159 | - </exclusion> | |
| 160 | - <!-- 解决和 logback 的日志冲突 --> | |
| 161 | - <exclusion> | |
| 162 | - <groupId>org.slf4j</groupId> | |
| 163 | - <artifactId>slf4j-simple</artifactId> | |
| 164 | - </exclusion> | |
| 165 | - <exclusion> | |
| 166 | - <groupId>org.apache.logging.log4j</groupId> | |
| 167 | - <artifactId>log4j-slf4j-impl</artifactId> | |
| 168 | - </exclusion> | |
| 169 | - <exclusion> | |
| 170 | - <groupId>org.slf4j</groupId> | |
| 171 | - <artifactId>slf4j-reload4j</artifactId> | |
| 172 | - </exclusion> | |
| 173 | - </exclusions> | |
| 174 | - </dependency> | |
| 175 | - | |
| 176 | - <!-- Test 测试相关 --> | |
| 177 | - <dependency> | |
| 178 | - <groupId>org.springframework.boot</groupId> | |
| 179 | - <artifactId>spring-boot-starter-test</artifactId> | |
| 180 | - <scope>test</scope> | |
| 181 | - </dependency> | |
| 182 | - </dependencies> | |
| 183 | - | |
| 184 | -</project> | |
| 185 | 0 | \ No newline at end of file |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted