Commit 56caa3d598d6d639f5fcfabfe78e6fcd72ba16be

Authored by YunaiV
1 parent eb8cd3d7

【优化】AI:调整 ai starter 的包封装

Showing 154 changed files with 366 additions and 359 deletions
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/config/AiChatClientFactory.java
1 package cn.iocoder.yudao.module.ai.config; 1 package cn.iocoder.yudao.module.ai.config;
2 2
3 -import cn.iocoder.yudao.framework.ai.AiPlatformEnum;  
4 -import cn.iocoder.yudao.framework.ai.chat.ChatClient;  
5 -import cn.iocoder.yudao.framework.ai.chat.StreamingChatClient;  
6 -import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenChatClient;  
7 -import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatClient;  
8 -import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatClient; 3 +import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
  4 +import org.springframework.ai.chat.ChatClient;
  5 +import org.springframework.ai.chat.StreamingChatClient;
  6 +import org.springframework.ai.models.tongyi.QianWenChatClient;
  7 +import org.springframework.ai.models.xinghuo.XingHuoChatClient;
  8 +import org.springframework.ai.models.yiyan.YiYanChatClient;
9 import org.springframework.beans.factory.annotation.Autowired; 9 import org.springframework.beans.factory.annotation.Autowired;
10 import org.springframework.context.ApplicationContext; 10 import org.springframework.context.ApplicationContext;
11 import org.springframework.stereotype.Component; 11 import org.springframework.stereotype.Component;
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/AiImageConvert.java
1 package cn.iocoder.yudao.module.ai.convert; 1 package cn.iocoder.yudao.module.ai.convert;
2 2
3 -import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyMessage; 3 +import org.springframework.ai.models.midjourney.MidjourneyMessage;
4 import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDallDrawingReqVO; 4 import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDallDrawingReqVO;
5 import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDallDrawingRespVO; 5 import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDallDrawingRespVO;
6 import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageListRespVO; 6 import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageListRespVO;
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/chat/AiChatMessageDO.java
1 package cn.iocoder.yudao.module.ai.dal.dataobject.chat; 1 package cn.iocoder.yudao.module.ai.dal.dataobject.chat;
2 2
3 -import cn.iocoder.yudao.framework.ai.chat.messages.MessageType; 3 +import org.springframework.ai.chat.messages.MessageType;
4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 4 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
5 import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO; 5 import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO;
6 import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatRoleDO; 6 import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatRoleDO;
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiApiKeyDO.java
1 package cn.iocoder.yudao.module.ai.dal.dataobject.model; 1 package cn.iocoder.yudao.module.ai.dal.dataobject.model;
2 2
3 -import cn.iocoder.yudao.framework.ai.AiPlatformEnum; 3 +import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
4 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 4 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
5 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 5 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
6 import com.baomidou.mybatisplus.annotation.KeySequence; 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/AiChatModelDO.java
1 package cn.iocoder.yudao.module.ai.dal.dataobject.model; 1 package cn.iocoder.yudao.module.ai.dal.dataobject.model;
2 2
3 -import cn.iocoder.yudao.framework.ai.AiPlatformEnum; 3 +import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
4 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 4 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
5 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 5 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
6 import com.baomidou.mybatisplus.annotation.KeySequence; 6 import com.baomidou.mybatisplus.annotation.KeySequence;
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/vo/AiChatModalConfigVO.java
1 package cn.iocoder.yudao.module.ai.dal.vo; 1 package cn.iocoder.yudao.module.ai.dal.vo;
2 2
  3 +import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
3 import lombok.Data; 4 import lombok.Data;
4 import lombok.experimental.Accessors; 5 import lombok.experimental.Accessors;
  6 +import org.springframework.ai.models.xinghuo.XingHuoChatModel;
  7 +import org.springframework.ai.models.yiyan.YiYanChatModel;
5 8
6 /** 9 /**
7 * modal config 10 * modal config
@@ -16,13 +19,13 @@ public class AiChatModalConfigVO { @@ -16,13 +19,13 @@ public class AiChatModalConfigVO {
16 19
17 /** 20 /**
18 * 模型平台 (冗余,方便类型转换) 21 * 模型平台 (冗余,方便类型转换)
19 - * 参考:{@link cn.iocoder.yudao.framework.ai.AiPlatformEnum} 22 + * 参考:{@link AiPlatformEnum}
20 */ 23 */
21 private String platform; 24 private String platform;
22 /** 25 /**
23 * 模型类型(冗余,方便类型转换) 26 * 模型类型(冗余,方便类型转换)
24 - * {@link cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatModel}  
25 - * {@link cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatModel} 27 + * {@link YiYanChatModel}
  28 + * {@link XingHuoChatModel}
26 */ 29 */
27 private String type; 30 private String type;
28 } 31 }
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/vo/AiChatModalDallConfigVO.java
1 package cn.iocoder.yudao.module.ai.dal.vo; 1 package cn.iocoder.yudao.module.ai.dal.vo;
2 2
3 -import cn.iocoder.yudao.framework.ai.imageopenai.enums.OpenAiImageStyleEnum; 3 +import org.springframework.ai.models.openai.enums.OpenAiImageStyleEnum;
4 import lombok.Data; 4 import lombok.Data;
5 import lombok.experimental.Accessors; 5 import lombok.experimental.Accessors;
6 6
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiChatServiceImpl.java
1 package cn.iocoder.yudao.module.ai.service.impl; 1 package cn.iocoder.yudao.module.ai.service.impl;
2 2
3 import cn.hutool.core.exceptions.ExceptionUtil; 3 import cn.hutool.core.exceptions.ExceptionUtil;
4 -import cn.iocoder.yudao.framework.ai.AiPlatformEnum;  
5 -import cn.iocoder.yudao.framework.ai.chat.ChatClient;  
6 -import cn.iocoder.yudao.framework.ai.chat.ChatResponse;  
7 -import cn.iocoder.yudao.framework.ai.chat.StreamingChatClient;  
8 -import cn.iocoder.yudao.framework.ai.chat.messages.MessageType;  
9 -import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt; 4 +import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
  5 +import org.springframework.ai.chat.ChatClient;
  6 +import org.springframework.ai.chat.ChatResponse;
  7 +import org.springframework.ai.chat.StreamingChatClient;
  8 +import org.springframework.ai.chat.messages.MessageType;
  9 +import org.springframework.ai.chat.prompt.Prompt;
10 import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; 10 import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
11 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; 11 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
12 import cn.iocoder.yudao.module.ai.ErrorCodeConstants; 12 import cn.iocoder.yudao.module.ai.ErrorCodeConstants;
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiImageServiceImpl.java
@@ -2,18 +2,18 @@ package cn.iocoder.yudao.module.ai.service.impl; @@ -2,18 +2,18 @@ package cn.iocoder.yudao.module.ai.service.impl;
2 2
3 import cn.hutool.core.util.IdUtil; 3 import cn.hutool.core.util.IdUtil;
4 import cn.hutool.core.util.StrUtil; 4 import cn.hutool.core.util.StrUtil;
5 -import cn.iocoder.yudao.framework.ai.exception.AiException;  
6 -import cn.iocoder.yudao.framework.ai.image.ImageGeneration;  
7 -import cn.iocoder.yudao.framework.ai.image.ImagePrompt;  
8 -import cn.iocoder.yudao.framework.ai.image.ImageResponse;  
9 -import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageClient;  
10 -import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageOptions;  
11 -import cn.iocoder.yudao.framework.ai.imageopenai.enums.OpenAiImageModelEnum;  
12 -import cn.iocoder.yudao.framework.ai.imageopenai.enums.OpenAiImageStyleEnum;  
13 -import cn.iocoder.yudao.framework.ai.midjourney.api.MidjourneyInteractionsApi;  
14 -import cn.iocoder.yudao.framework.ai.midjourney.api.req.ReRollReq;  
15 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.MidjourneyWebSocketStarter;  
16 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.WssNotify; 5 +import cn.iocoder.yudao.framework.ai.core.exception.AiException;
  6 +import org.springframework.ai.image.ImageGeneration;
  7 +import org.springframework.ai.image.ImagePrompt;
  8 +import org.springframework.ai.image.ImageResponse;
  9 +import org.springframework.ai.models.openai.OpenAiImageClient;
  10 +import org.springframework.ai.models.openai.OpenAiImageOptions;
  11 +import org.springframework.ai.models.openai.enums.OpenAiImageModelEnum;
  12 +import org.springframework.ai.models.openai.enums.OpenAiImageStyleEnum;
  13 +import org.springframework.ai.models.midjourney.api.MidjourneyInteractionsApi;
  14 +import org.springframework.ai.models.midjourney.api.req.ReRollReq;
  15 +import org.springframework.ai.models.midjourney.webSocket.MidjourneyWebSocketStarter;
  16 +import org.springframework.ai.models.midjourney.webSocket.WssNotify;
17 import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; 17 import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
18 import cn.iocoder.yudao.framework.common.pojo.PageResult; 18 import cn.iocoder.yudao.framework.common.pojo.PageResult;
19 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 19 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/midjourneyHandler/YuDaoMidjourneyMessageHandler.java
@@ -2,9 +2,9 @@ package cn.iocoder.yudao.module.ai.service.midjourneyHandler; @@ -2,9 +2,9 @@ package cn.iocoder.yudao.module.ai.service.midjourneyHandler;
2 2
3 import cn.hutool.core.collection.CollUtil; 3 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.util.StrUtil; 4 import cn.hutool.core.util.StrUtil;
5 -import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyMessage;  
6 -import cn.iocoder.yudao.framework.ai.midjourney.constants.MidjourneyGennerateStatusEnum;  
7 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.MidjourneyMessageHandler; 5 +import org.springframework.ai.models.midjourney.MidjourneyMessage;
  6 +import org.springframework.ai.models.midjourney.constants.MidjourneyGennerateStatusEnum;
  7 +import org.springframework.ai.models.midjourney.webSocket.MidjourneyMessageHandler;
8 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 8 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
9 import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageMidjourneyOperationsVO; 9 import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageMidjourneyOperationsVO;
10 import cn.iocoder.yudao.module.ai.convert.AiImageConvert; 10 import cn.iocoder.yudao.module.ai.convert.AiImageConvert;
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiChatModelServiceImpl.java
1 package cn.iocoder.yudao.module.ai.service.model; 1 package cn.iocoder.yudao.module.ai.service.model;
2 2
3 -import cn.iocoder.yudao.framework.ai.AiPlatformEnum; 3 +import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
4 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; 4 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
5 import cn.iocoder.yudao.framework.common.pojo.PageResult; 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 6 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
@@ -14,7 +14,6 @@ import org.springframework.validation.annotation.Validated; @@ -14,7 +14,6 @@ import org.springframework.validation.annotation.Validated;
14 14
15 import java.util.List; 15 import java.util.List;
16 16
17 -import java.util.List;  
18 import java.util.Set; 17 import java.util.Set;
19 18
20 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 19 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml
@@ -10,6 +10,7 @@ @@ -10,6 +10,7 @@
10 </parent> 10 </parent>
11 11
12 <artifactId>yudao-spring-boot-starter-ai</artifactId> 12 <artifactId>yudao-spring-boot-starter-ai</artifactId>
  13 + <!-- TODO 芋艿:这里需要进一步减少 -->
13 14
14 <properties> 15 <properties>
15 <maven.compiler.source>21</maven.compiler.source> 16 <maven.compiler.source>21</maven.compiler.source>
@@ -17,6 +18,7 @@ @@ -17,6 +18,7 @@
17 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 18 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
18 </properties> 19 </properties>
19 <dependencies> 20 <dependencies>
  21 + <!-- TODO fan:这里包,要进一步减少 -->
20 <dependency> 22 <dependency>
21 <groupId>org.springframework</groupId> 23 <groupId>org.springframework</groupId>
22 <artifactId>spring-core</artifactId> 24 <artifactId>spring-core</artifactId>
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiAutoConfiguration.java
1 package cn.iocoder.yudao.framework.ai.config; 1 package cn.iocoder.yudao.framework.ai.config;
2 2
3 import cn.hutool.core.io.IoUtil; 3 import cn.hutool.core.io.IoUtil;
4 -import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenChatClient;  
5 -import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenChatModal;  
6 -import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenOptions;  
7 -import cn.iocoder.yudao.framework.ai.chatqianwen.api.QianWenApi;  
8 -import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatClient;  
9 -import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoOptions;  
10 -import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoApi;  
11 -import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatClient;  
12 -import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanOptions;  
13 -import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanApi;  
14 -import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageApi;  
15 -import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageClient;  
16 -import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageOptions;  
17 -import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyConfig;  
18 -import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyMessage;  
19 -import cn.iocoder.yudao.framework.ai.midjourney.api.MidjourneyInteractionsApi;  
20 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.MidjourneyMessageHandler;  
21 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.MidjourneyWebSocketStarter;  
22 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.listener.MidjourneyMessageListener; 4 +import org.springframework.ai.models.tongyi.QianWenChatClient;
  5 +import org.springframework.ai.models.tongyi.QianWenChatModal;
  6 +import org.springframework.ai.models.tongyi.QianWenOptions;
  7 +import org.springframework.ai.models.tongyi.api.QianWenApi;
  8 +import org.springframework.ai.models.xinghuo.XingHuoChatClient;
  9 +import org.springframework.ai.models.xinghuo.XingHuoOptions;
  10 +import org.springframework.ai.models.xinghuo.api.XingHuoApi;
  11 +import org.springframework.ai.models.yiyan.YiYanChatClient;
  12 +import org.springframework.ai.models.yiyan.YiYanOptions;
  13 +import org.springframework.ai.models.yiyan.api.YiYanApi;
  14 +import org.springframework.ai.models.openai.OpenAiImageApi;
  15 +import org.springframework.ai.models.openai.OpenAiImageClient;
  16 +import org.springframework.ai.models.openai.OpenAiImageOptions;
  17 +import org.springframework.ai.models.midjourney.MidjourneyConfig;
  18 +import org.springframework.ai.models.midjourney.MidjourneyMessage;
  19 +import org.springframework.ai.models.midjourney.api.MidjourneyInteractionsApi;
  20 +import org.springframework.ai.models.midjourney.webSocket.MidjourneyMessageHandler;
  21 +import org.springframework.ai.models.midjourney.webSocket.MidjourneyWebSocketStarter;
  22 +import org.springframework.ai.models.midjourney.webSocket.listener.MidjourneyMessageListener;
23 import lombok.extern.slf4j.Slf4j; 23 import lombok.extern.slf4j.Slf4j;
24 import org.jetbrains.annotations.NotNull; 24 import org.jetbrains.annotations.NotNull;
25 import org.springframework.boot.autoconfigure.AutoConfiguration; 25 import org.springframework.boot.autoconfigure.AutoConfiguration;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiImageProperties.java
1 package cn.iocoder.yudao.framework.ai.config; 1 package cn.iocoder.yudao.framework.ai.config;
2 2
3 -import cn.iocoder.yudao.framework.ai.AiPlatformEnum;  
4 -import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatModel;  
5 -import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoOptions;  
6 -import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatModel; 3 +import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
  4 +import org.springframework.ai.models.xinghuo.XingHuoChatModel;
  5 +import org.springframework.ai.models.xinghuo.XingHuoOptions;
  6 +import org.springframework.ai.models.yiyan.YiYanChatModel;
7 import lombok.Data; 7 import lombok.Data;
8 import lombok.experimental.Accessors; 8 import lombok.experimental.Accessors;
9 -import org.springframework.boot.context.properties.ConfigurationProperties;  
10 9
11 import java.util.LinkedHashMap; 10 import java.util.LinkedHashMap;
12 import java.util.Map; 11 import java.util.Map;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiProperties.java
1 package cn.iocoder.yudao.framework.ai.config; 1 package cn.iocoder.yudao.framework.ai.config;
2 2
3 -import cn.iocoder.yudao.framework.ai.AiPlatformEnum;  
4 -import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatModel;  
5 -import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatModel;  
6 -import cn.iocoder.yudao.framework.ai.imageopenai.enums.OpenAiImageModelEnum;  
7 -import cn.iocoder.yudao.framework.ai.imageopenai.enums.OpenAiImageStyleEnum; 3 +import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
  4 +import org.springframework.ai.models.xinghuo.XingHuoChatModel;
  5 +import org.springframework.ai.models.yiyan.YiYanChatModel;
  6 +import org.springframework.ai.models.openai.enums.OpenAiImageModelEnum;
  7 +import org.springframework.ai.models.openai.enums.OpenAiImageStyleEnum;
8 import lombok.Data; 8 import lombok.Data;
9 import lombok.experimental.Accessors; 9 import lombok.experimental.Accessors;
10 import org.springframework.boot.context.properties.ConfigurationProperties; 10 import org.springframework.boot.context.properties.ConfigurationProperties;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/AiPlatformEnum.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/enums/AiPlatformEnum.java
1 -package cn.iocoder.yudao.framework.ai; 1 +package cn.iocoder.yudao.framework.ai.core.enums;
2 2
3 import com.google.common.collect.Lists; 3 import com.google.common.collect.Lists;
4 import lombok.AllArgsConstructor; 4 import lombok.AllArgsConstructor;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/exception/AiException.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/exception/AiException.java
1 -package cn.iocoder.yudao.framework.ai.exception; 1 +package cn.iocoder.yudao.framework.ai.core.exception;
2 2
  3 +// TODO @fan:这个有办法干掉么?
3 /** 4 /**
4 * ai 异常 5 * ai 异常
5 * 6 *
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/package-info.java 0 → 100644
  1 +/**
  2 + * 芋道 AI Starter,整体参考 spring-ai 拓展
  3 + */
  4 +package cn.iocoder.yudao.framework.ai.core;
0 \ No newline at end of file 5 \ No newline at end of file
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/package-info.java deleted
1 -/**  
2 - * author: fansili  
3 - * time: 2024/3/12 20:29  
4 - *  
5 - * TODO @fansili:包的想法,需要重点看看  
6 - *  
7 - * 1. org.springframework.ai:包括 chat、image、model、parser、util 部分  
8 - *  
9 - * 2. yudao.framework.models  
10 - * \qianwen 通义千问  
11 - * \yiyan 文心一言  
12 - * \xinghuo 星火  
13 - * \midjourney  
14 - */  
15 -package cn.iocoder.yudao.framework.ai;  
16 \ No newline at end of file 0 \ No newline at end of file
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/ChatClient.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/ChatClient.java
@@ -14,12 +14,12 @@ @@ -14,12 +14,12 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat; 17 +package org.springframework.ai.chat;
18 18
19 19
20 -import cn.iocoder.yudao.framework.ai.chat.messages.UserMessage;  
21 -import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;  
22 -import cn.iocoder.yudao.framework.ai.model.ModelClient; 20 +import org.springframework.ai.chat.messages.UserMessage;
  21 +import org.springframework.ai.chat.prompt.Prompt;
  22 +import org.springframework.ai.model.ModelClient;
23 23
24 @FunctionalInterface 24 @FunctionalInterface
25 public interface ChatClient extends ModelClient<Prompt, ChatResponse> { 25 public interface ChatClient extends ModelClient<Prompt, ChatResponse> {
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/ChatException.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/ChatException.java
1 -package cn.iocoder.yudao.framework.ai.chat; 1 +package org.springframework.ai.chat;
2 2
3 /** 3 /**
4 * 聊天异常 4 * 聊天异常
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/ChatResponse.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/ChatResponse.java
@@ -13,13 +13,12 @@ @@ -13,13 +13,12 @@
13 * See the License for the specific language governing permissions and 13 * See the License for the specific language governing permissions and
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 -package cn.iocoder.yudao.framework.ai.chat; 16 +package org.springframework.ai.chat;
17 17
18 -import cn.iocoder.yudao.framework.ai.chat.metadata.ChatResponseMetadata;  
19 -import cn.iocoder.yudao.framework.ai.model.ModelResponse; 18 +import org.springframework.ai.chat.metadata.ChatResponseMetadata;
  19 +import org.springframework.ai.model.ModelResponse;
20 import org.springframework.util.CollectionUtils; 20 import org.springframework.util.CollectionUtils;
21 21
22 -import java.util.ArrayList;  
23 import java.util.Collections; 22 import java.util.Collections;
24 import java.util.List; 23 import java.util.List;
25 import java.util.Objects; 24 import java.util.Objects;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/Generation.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/Generation.java
@@ -14,11 +14,11 @@ @@ -14,11 +14,11 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat; 17 +package org.springframework.ai.chat;
18 18
19 -import cn.iocoder.yudao.framework.ai.chat.messages.AssistantMessage;  
20 -import cn.iocoder.yudao.framework.ai.chat.metadata.ChatGenerationMetadata;  
21 -import cn.iocoder.yudao.framework.ai.model.ModelResult; 19 +import org.springframework.ai.chat.messages.AssistantMessage;
  20 +import org.springframework.ai.chat.metadata.ChatGenerationMetadata;
  21 +import org.springframework.ai.model.ModelResult;
22 import org.springframework.lang.Nullable; 22 import org.springframework.lang.Nullable;
23 23
24 import java.util.Map; 24 import java.util.Map;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/StreamingChatClient.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/StreamingChatClient.java
@@ -14,10 +14,10 @@ @@ -14,10 +14,10 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat; 17 +package org.springframework.ai.chat;
18 18
19 -import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;  
20 -import cn.iocoder.yudao.framework.ai.model.StreamingModelClient; 19 +import org.springframework.ai.chat.prompt.Prompt;
  20 +import org.springframework.ai.model.StreamingModelClient;
21 import reactor.core.publisher.Flux; 21 import reactor.core.publisher.Flux;
22 22
23 @FunctionalInterface 23 @FunctionalInterface
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/AbstractMessage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/AbstractMessage.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.messages; 17 +package org.springframework.ai.chat.messages;
18 18
19 import org.springframework.core.io.Resource; 19 import org.springframework.core.io.Resource;
20 import org.springframework.util.Assert; 20 import org.springframework.util.Assert;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/AssistantMessage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/AssistantMessage.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.messages; 17 +package org.springframework.ai.chat.messages;
18 18
19 import java.util.Map; 19 import java.util.Map;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/ChatMessage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/ChatMessage.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.messages; 17 +package org.springframework.ai.chat.messages;
18 18
19 import java.util.Map; 19 import java.util.Map;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/FunctionMessage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/FunctionMessage.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.messages; 17 +package org.springframework.ai.chat.messages;
18 18
19 import java.util.Map; 19 import java.util.Map;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/MediaData.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/MediaData.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.messages; 17 +package org.springframework.ai.chat.messages;
18 18
19 import org.springframework.util.Assert; 19 import org.springframework.util.Assert;
20 import org.springframework.util.MimeType; 20 import org.springframework.util.MimeType;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/Message.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/Message.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.messages; 17 +package org.springframework.ai.chat.messages;
18 18
19 import java.util.List; 19 import java.util.List;
20 import java.util.Map; 20 import java.util.Map;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/MessageType.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/MessageType.java
@@ -13,7 +13,7 @@ @@ -13,7 +13,7 @@
13 * See the License for the specific language governing permissions and 13 * See the License for the specific language governing permissions and
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 -package cn.iocoder.yudao.framework.ai.chat.messages; 16 +package org.springframework.ai.chat.messages;
17 17
18 public enum MessageType { 18 public enum MessageType {
19 19
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/SystemMessage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/SystemMessage.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.messages; 17 +package org.springframework.ai.chat.messages;
18 18
19 import org.springframework.core.io.Resource; 19 import org.springframework.core.io.Resource;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/UserMessage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/UserMessage.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.messages; 17 +package org.springframework.ai.chat.messages;
18 18
19 import org.springframework.core.io.Resource; 19 import org.springframework.core.io.Resource;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/ChatGenerationMetadata.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/ChatGenerationMetadata.java
@@ -14,9 +14,9 @@ @@ -14,9 +14,9 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.metadata; 17 +package org.springframework.ai.chat.metadata;
18 18
19 -import cn.iocoder.yudao.framework.ai.model.ResultMetadata; 19 +import org.springframework.ai.model.ResultMetadata;
20 import org.springframework.lang.Nullable; 20 import org.springframework.lang.Nullable;
21 21
22 /** 22 /**
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/ChatResponseMetadata.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/ChatResponseMetadata.java
@@ -14,10 +14,10 @@ @@ -14,10 +14,10 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.metadata; 17 +package org.springframework.ai.chat.metadata;
18 18
19 19
20 -import cn.iocoder.yudao.framework.ai.model.ResponseMetadata; 20 +import org.springframework.ai.model.ResponseMetadata;
21 21
22 /** 22 /**
23 * Abstract Data Type (ADT) modeling common AI provider metadata returned in an AI 23 * Abstract Data Type (ADT) modeling common AI provider metadata returned in an AI
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/EmptyRateLimit.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/EmptyRateLimit.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.metadata; 17 +package org.springframework.ai.chat.metadata;
18 18
19 import java.time.Duration; 19 import java.time.Duration;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/EmptyUsage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/EmptyUsage.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.metadata; 17 +package org.springframework.ai.chat.metadata;
18 18
19 /** 19 /**
20 * A EmpytUsage implementation that returns zero for all property getters 20 * A EmpytUsage implementation that returns zero for all property getters
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/PromptMetadata.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/PromptMetadata.java
@@ -13,7 +13,7 @@ @@ -13,7 +13,7 @@
13 * See the License for the specific language governing permissions and 13 * See the License for the specific language governing permissions and
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 -package cn.iocoder.yudao.framework.ai.chat.metadata; 16 +package org.springframework.ai.chat.metadata;
17 17
18 import org.springframework.util.Assert; 18 import org.springframework.util.Assert;
19 19
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/RateLimit.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/RateLimit.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.metadata; 17 +package org.springframework.ai.chat.metadata;
18 18
19 import java.time.Duration; 19 import java.time.Duration;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/Usage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/Usage.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.metadata; 17 +package org.springframework.ai.chat.metadata;
18 18
19 /** 19 /**
20 * 抽象数据类型(ADT)封装关于人工智能提供商API使用的元数据根据AI请求。 20 * 抽象数据类型(ADT)封装关于人工智能提供商API使用的元数据根据AI请求。
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/package-info.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/package-info.java
@@ -11,4 +11,4 @@ @@ -11,4 +11,4 @@
11 * This bounded context is designed to encapsulate all aspects of chat-based AI 11 * This bounded context is designed to encapsulate all aspects of chat-based AI
12 * functionalities, maintaining a clear boundary from other contexts within the AI domain. 12 * functionalities, maintaining a clear boundary from other contexts within the AI domain.
13 */ 13 */
14 -package cn.iocoder.yudao.framework.ai.chat;  
15 \ No newline at end of file 14 \ No newline at end of file
  15 +package org.springframework.ai.chat;
16 \ No newline at end of file 16 \ No newline at end of file
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/AssistantPromptTemplate.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/AssistantPromptTemplate.java
@@ -14,10 +14,10 @@ @@ -14,10 +14,10 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.prompt; 17 +package org.springframework.ai.chat.prompt;
18 18
19 -import cn.iocoder.yudao.framework.ai.chat.messages.AssistantMessage;  
20 -import cn.iocoder.yudao.framework.ai.chat.messages.Message; 19 +import org.springframework.ai.chat.messages.AssistantMessage;
  20 +import org.springframework.ai.chat.messages.Message;
21 import org.springframework.core.io.Resource; 21 import org.springframework.core.io.Resource;
22 22
23 import java.util.Map; 23 import java.util.Map;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/ChatOptions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/ChatOptions.java
@@ -14,9 +14,9 @@ @@ -14,9 +14,9 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.prompt; 17 +package org.springframework.ai.chat.prompt;
18 18
19 -import cn.iocoder.yudao.framework.ai.model.ModelOptions; 19 +import org.springframework.ai.model.ModelOptions;
20 20
21 /** 21 /**
22 * 聊天选项代表了常见的选项,可在不同的聊天模式中移植。 22 * 聊天选项代表了常见的选项,可在不同的聊天模式中移植。
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/ChatOptionsBuilder.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/ChatOptionsBuilder.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.prompt; 17 +package org.springframework.ai.chat.prompt;
18 18
19 public class ChatOptionsBuilder { 19 public class ChatOptionsBuilder {
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/ChatPromptTemplate.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/ChatPromptTemplate.java
@@ -14,9 +14,9 @@ @@ -14,9 +14,9 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.prompt; 17 +package org.springframework.ai.chat.prompt;
18 18
19 -import cn.iocoder.yudao.framework.ai.chat.messages.Message; 19 +import org.springframework.ai.chat.messages.Message;
20 20
21 import java.util.ArrayList; 21 import java.util.ArrayList;
22 import java.util.List; 22 import java.util.List;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/FunctionPromptTemplate.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/FunctionPromptTemplate.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.prompt; 17 +package org.springframework.ai.chat.prompt;
18 18
19 public class FunctionPromptTemplate extends PromptTemplate { 19 public class FunctionPromptTemplate extends PromptTemplate {
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/Prompt.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/Prompt.java
@@ -14,13 +14,12 @@ @@ -14,13 +14,12 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.prompt; 17 +package org.springframework.ai.chat.prompt;
18 18
19 -import cn.iocoder.yudao.framework.ai.chat.ChatResponse;  
20 -import cn.iocoder.yudao.framework.ai.chat.messages.Message;  
21 -import cn.iocoder.yudao.framework.ai.chat.messages.UserMessage;  
22 -import cn.iocoder.yudao.framework.ai.model.ModelOptions;  
23 -import cn.iocoder.yudao.framework.ai.model.ModelRequest; 19 +import org.springframework.ai.chat.messages.Message;
  20 +import org.springframework.ai.chat.messages.UserMessage;
  21 +import org.springframework.ai.model.ModelOptions;
  22 +import org.springframework.ai.model.ModelRequest;
24 23
25 import java.util.Collections; 24 import java.util.Collections;
26 import java.util.List; 25 import java.util.List;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplate.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplate.java
@@ -14,11 +14,11 @@ @@ -14,11 +14,11 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.prompt; 17 +package org.springframework.ai.chat.prompt;
18 18
19 -import cn.iocoder.yudao.framework.ai.chat.messages.Message;  
20 -import cn.iocoder.yudao.framework.ai.chat.messages.UserMessage;  
21 -import cn.iocoder.yudao.framework.ai.parser.OutputParser; 19 +import org.springframework.ai.chat.messages.Message;
  20 +import org.springframework.ai.chat.messages.UserMessage;
  21 +import org.springframework.ai.parser.OutputParser;
22 import org.antlr.runtime.Token; 22 import org.antlr.runtime.Token;
23 import org.antlr.runtime.TokenStream; 23 import org.antlr.runtime.TokenStream;
24 import org.springframework.core.io.Resource; 24 import org.springframework.core.io.Resource;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplateActions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateActions.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.prompt; 17 +package org.springframework.ai.chat.prompt;
18 18
19 import java.util.Map; 19 import java.util.Map;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplateChatActions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateChatActions.java
1 -package cn.iocoder.yudao.framework.ai.chat.prompt; 1 +package org.springframework.ai.chat.prompt;
2 2
3 -import cn.iocoder.yudao.framework.ai.chat.messages.Message; 3 +import org.springframework.ai.chat.messages.Message;
4 4
5 import java.util.List; 5 import java.util.List;
6 import java.util.Map; 6 import java.util.Map;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplateMessageActions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateMessageActions.java
1 -package cn.iocoder.yudao.framework.ai.chat.prompt; 1 +package org.springframework.ai.chat.prompt;
2 2
3 -import cn.iocoder.yudao.framework.ai.chat.messages.Message; 3 +import org.springframework.ai.chat.messages.Message;
4 4
5 import java.util.Map; 5 import java.util.Map;
6 6
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplateStringActions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateStringActions.java
1 -package cn.iocoder.yudao.framework.ai.chat.prompt; 1 +package org.springframework.ai.chat.prompt;
2 2
3 import java.util.Map; 3 import java.util.Map;
4 4
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/SystemPromptTemplate.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/SystemPromptTemplate.java
@@ -14,10 +14,10 @@ @@ -14,10 +14,10 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.prompt; 17 +package org.springframework.ai.chat.prompt;
18 18
19 -import cn.iocoder.yudao.framework.ai.chat.messages.Message;  
20 -import cn.iocoder.yudao.framework.ai.chat.messages.SystemMessage; 19 +import org.springframework.ai.chat.messages.Message;
  20 +import org.springframework.ai.chat.messages.SystemMessage;
21 import org.springframework.core.io.Resource; 21 import org.springframework.core.io.Resource;
22 22
23 import java.util.Map; 23 import java.util.Map;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/TemplateFormat.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/TemplateFormat.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.chat.prompt; 17 +package org.springframework.ai.chat.prompt;
18 18
19 public enum TemplateFormat { 19 public enum TemplateFormat {
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/Image.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/Image.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.image; 17 +package org.springframework.ai.image;
18 18
19 import java.util.Objects; 19 import java.util.Objects;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageClient.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageClient.java
@@ -14,10 +14,10 @@ @@ -14,10 +14,10 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.image; 17 +package org.springframework.ai.image;
18 18
19 19
20 -import cn.iocoder.yudao.framework.ai.model.ModelClient; 20 +import org.springframework.ai.model.ModelClient;
21 21
22 public interface ImageClient extends ModelClient<ImagePrompt, ImageResponse> { 22 public interface ImageClient extends ModelClient<ImagePrompt, ImageResponse> {
23 23
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageGeneration.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageGeneration.java
@@ -14,10 +14,10 @@ @@ -14,10 +14,10 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.image; 17 +package org.springframework.ai.image;
18 18
19 19
20 -import cn.iocoder.yudao.framework.ai.model.ModelResult; 20 +import org.springframework.ai.model.ModelResult;
21 21
22 public class ImageGeneration implements ModelResult<Image> { 22 public class ImageGeneration implements ModelResult<Image> {
23 23
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageGenerationMetadata.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageGenerationMetadata.java
@@ -14,9 +14,9 @@ @@ -14,9 +14,9 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.image; 17 +package org.springframework.ai.image;
18 18
19 -import cn.iocoder.yudao.framework.ai.model.ResultMetadata; 19 +import org.springframework.ai.model.ResultMetadata;
20 20
21 public interface ImageGenerationMetadata extends ResultMetadata { 21 public interface ImageGenerationMetadata extends ResultMetadata {
22 22
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageMessage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageMessage.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.image; 17 +package org.springframework.ai.image;
18 18
19 import java.util.Objects; 19 import java.util.Objects;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageOptions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageOptions.java
@@ -14,9 +14,9 @@ @@ -14,9 +14,9 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.image; 17 +package org.springframework.ai.image;
18 18
19 -import cn.iocoder.yudao.framework.ai.model.ModelOptions; 19 +import org.springframework.ai.model.ModelOptions;
20 20
21 /** 21 /**
22 * ImageOptions represent the common options, portable across different image generation 22 * ImageOptions represent the common options, portable across different image generation
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageOptionsBuilder.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageOptionsBuilder.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.image; 17 +package org.springframework.ai.image;
18 18
19 public class ImageOptionsBuilder { 19 public class ImageOptionsBuilder {
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImagePrompt.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImagePrompt.java
@@ -14,9 +14,9 @@ @@ -14,9 +14,9 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.image; 17 +package org.springframework.ai.image;
18 18
19 -import cn.iocoder.yudao.framework.ai.model.ModelRequest; 19 +import org.springframework.ai.model.ModelRequest;
20 20
21 import java.util.Collections; 21 import java.util.Collections;
22 import java.util.List; 22 import java.util.List;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageResponse.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageResponse.java
@@ -14,9 +14,9 @@ @@ -14,9 +14,9 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.image; 17 +package org.springframework.ai.image;
18 18
19 -import cn.iocoder.yudao.framework.ai.model.ModelResponse; 19 +import org.springframework.ai.model.ModelResponse;
20 20
21 import java.util.List; 21 import java.util.List;
22 import java.util.Objects; 22 import java.util.Objects;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageResponseMetadata.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageResponseMetadata.java
@@ -14,10 +14,10 @@ @@ -14,10 +14,10 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.image; 17 +package org.springframework.ai.image;
18 18
19 19
20 -import cn.iocoder.yudao.framework.ai.model.ResponseMetadata; 20 +import org.springframework.ai.model.ResponseMetadata;
21 21
22 public interface ImageResponseMetadata extends ResponseMetadata { 22 public interface ImageResponseMetadata extends ResponseMetadata {
23 23
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelClient.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelClient.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model; 17 +package org.springframework.ai.model;
18 18
19 /** 19 /**
20 * The ModelClient interface provides a generic API for invoking AI models. It is designed 20 * The ModelClient interface provides a generic API for invoking AI models. It is designed
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelOptions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelOptions.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model; 17 +package org.springframework.ai.model;
18 18
19 /** 19 /**
20 * Interface representing the customizable options for AI model interactions. This marker 20 * Interface representing the customizable options for AI model interactions. This marker
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelOptionsUtils.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelOptionsUtils.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model; 17 +package org.springframework.ai.model;
18 18
19 import com.fasterxml.jackson.annotation.JsonProperty; 19 import com.fasterxml.jackson.annotation.JsonProperty;
20 import com.fasterxml.jackson.core.JsonProcessingException; 20 import com.fasterxml.jackson.core.JsonProcessingException;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelRequest.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelRequest.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model; 17 +package org.springframework.ai.model;
18 18
19 /** 19 /**
20 * 表示对AI模型的请求的接口。此接口封装了 与人工智能模型交互所需的必要信息,包括指令或 输入(通用类型T)和附加模型选项。它提供了一种标准化的方式 20 * 表示对AI模型的请求的接口。此接口封装了 与人工智能模型交互所需的必要信息,包括指令或 输入(通用类型T)和附加模型选项。它提供了一种标准化的方式
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelResponse.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelResponse.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model; 17 +package org.springframework.ai.model;
18 18
19 import java.util.List; 19 import java.util.List;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelResult.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelResult.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model; 17 +package org.springframework.ai.model;
18 18
19 /** 19 /**
20 * This interface provides methods to access the main output of the AI model and the 20 * This interface provides methods to access the main output of the AI model and the
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ResponseMetadata.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ResponseMetadata.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model; 17 +package org.springframework.ai.model;
18 18
19 /** 19 /**
20 * 表示与AI模型的响应相关联的元数据的接口。此接口 旨在提供有关人工智能生成反应的附加信息 模型,包括处理细节和模型特定数据。它是一种价值 20 * 表示与AI模型的响应相关联的元数据的接口。此接口 旨在提供有关人工智能生成反应的附加信息 模型,包括处理细节和模型特定数据。它是一种价值
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ResultMetadata.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ResultMetadata.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model; 17 +package org.springframework.ai.model;
18 18
19 /** 19 /**
20 * Interface representing metadata associated with the results of an AI model. This 20 * Interface representing metadata associated with the results of an AI model. This
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/StreamingModelClient.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/StreamingModelClient.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model; 17 +package org.springframework.ai.model;
18 18
19 import reactor.core.publisher.Flux; 19 import reactor.core.publisher.Flux;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/AbstractFunctionCallSupport.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/AbstractFunctionCallSupport.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model.function; 17 +package org.springframework.ai.model.function;
18 18
19 import org.springframework.util.CollectionUtils; 19 import org.springframework.util.CollectionUtils;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/AbstractFunctionCallback.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/AbstractFunctionCallback.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model.function; 17 +package org.springframework.ai.model.function;
18 18
19 import com.fasterxml.jackson.core.JsonProcessingException; 19 import com.fasterxml.jackson.core.JsonProcessingException;
20 import com.fasterxml.jackson.databind.ObjectMapper; 20 import com.fasterxml.jackson.databind.ObjectMapper;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallback.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallback.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model.function; 17 +package org.springframework.ai.model.function;
18 18
19 /** 19 /**
20 * 20 *
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallbackContext.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallbackContext.java
@@ -13,7 +13,7 @@ @@ -13,7 +13,7 @@
13 * See the License for the specific language governing permissions and 13 * See the License for the specific language governing permissions and
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 -package cn.iocoder.yudao.framework.ai.model.function; 16 +package org.springframework.ai.model.function;
17 17
18 import com.fasterxml.jackson.annotation.JsonClassDescription; 18 import com.fasterxml.jackson.annotation.JsonClassDescription;
19 import org.springframework.beans.BeansException; 19 import org.springframework.beans.BeansException;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallbackWrapper.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallbackWrapper.java
1 -package cn.iocoder.yudao.framework.ai.model.function; 1 +package org.springframework.ai.model.function;
2 2
3 -import cn.iocoder.yudao.framework.ai.model.ModelOptionsUtils; 3 +import org.springframework.ai.model.ModelOptionsUtils;
4 import com.fasterxml.jackson.databind.DeserializationFeature; 4 import com.fasterxml.jackson.databind.DeserializationFeature;
5 import com.fasterxml.jackson.databind.ObjectMapper; 5 import com.fasterxml.jackson.databind.ObjectMapper;
6 import org.springframework.util.Assert; 6 import org.springframework.util.Assert;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallingOptions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallingOptions.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model.function; 17 +package org.springframework.ai.model.function;
18 18
19 import java.util.List; 19 import java.util.List;
20 import java.util.Set; 20 import java.util.Set;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallingOptionsBuilder.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallingOptionsBuilder.java
@@ -14,9 +14,9 @@ @@ -14,9 +14,9 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model.function; 17 +package org.springframework.ai.model.function;
18 18
19 -import cn.iocoder.yudao.framework.ai.chat.prompt.ChatOptions; 19 +import org.springframework.ai.chat.prompt.ChatOptions;
20 import org.springframework.util.Assert; 20 import org.springframework.util.Assert;
21 21
22 import java.util.ArrayList; 22 import java.util.ArrayList;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/TypeResolverHelper.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/TypeResolverHelper.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.model.function; 17 +package org.springframework.ai.model.function;
18 18
19 import net.jodah.typetools.TypeResolver; 19 import net.jodah.typetools.TypeResolver;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/package-info.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/package-info.java
@@ -8,4 +8,4 @@ @@ -8,4 +8,4 @@
8 * ensuring a broad applicability across diverse AI scenarios. 8 * ensuring a broad applicability across diverse AI scenarios.
9 * 9 *
10 */ 10 */
11 -package cn.iocoder.yudao.framework.ai.model;  
12 \ No newline at end of file 11 \ No newline at end of file
  12 +package org.springframework.ai.model;
13 \ No newline at end of file 13 \ No newline at end of file
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyConfig.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/MidjourneyConfig.java
1 -package cn.iocoder.yudao.framework.ai.midjourney; 1 +package org.springframework.ai.models.midjourney;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyMessage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/MidjourneyMessage.java
1 -package cn.iocoder.yudao.framework.ai.midjourney; 1 +package org.springframework.ai.models.midjourney;
2 2
3 -import cn.iocoder.yudao.framework.ai.midjourney.constants.MidjourneyGennerateStatusEnum; 3 +import org.springframework.ai.models.midjourney.constants.MidjourneyGennerateStatusEnum;
4 import lombok.Data; 4 import lombok.Data;
5 import lombok.experimental.Accessors; 5 import lombok.experimental.Accessors;
6 6
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/MidjourneyInteractions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/MidjourneyInteractions.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.api; 1 +package org.springframework.ai.models.midjourney.api;
2 2
3 import cn.hutool.core.util.IdUtil; 3 import cn.hutool.core.util.IdUtil;
4 -import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyConfig;  
5 -import cn.iocoder.yudao.framework.ai.midjourney.constants.MidjourneyConstants; 4 +import org.springframework.ai.models.midjourney.MidjourneyConfig;
  5 +import org.springframework.ai.models.midjourney.constants.MidjourneyConstants;
6 import com.google.common.collect.Maps; 6 import com.google.common.collect.Maps;
7 import lombok.extern.slf4j.Slf4j; 7 import lombok.extern.slf4j.Slf4j;
8 import org.springframework.http.HttpHeaders; 8 import org.springframework.http.HttpHeaders;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/MidjourneyInteractionsApi.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/MidjourneyInteractionsApi.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.api; 1 +package org.springframework.ai.models.midjourney.api;
2 2
3 import cn.hutool.core.util.StrUtil; 3 import cn.hutool.core.util.StrUtil;
4 -import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyConfig;  
5 -import cn.iocoder.yudao.framework.ai.midjourney.api.req.AttachmentsReq;  
6 -import cn.iocoder.yudao.framework.ai.midjourney.api.req.DescribeReq;  
7 -import cn.iocoder.yudao.framework.ai.midjourney.api.req.ReRollReq;  
8 -import cn.iocoder.yudao.framework.ai.midjourney.api.res.UploadAttachmentsRes;  
9 -import cn.iocoder.yudao.framework.ai.midjourney.util.MidjourneyUtil; 4 +import org.springframework.ai.models.midjourney.MidjourneyConfig;
  5 +import org.springframework.ai.models.midjourney.api.req.AttachmentsReq;
  6 +import org.springframework.ai.models.midjourney.api.req.DescribeReq;
  7 +import org.springframework.ai.models.midjourney.api.req.ReRollReq;
  8 +import org.springframework.ai.models.midjourney.api.res.UploadAttachmentsRes;
  9 +import org.springframework.ai.models.midjourney.util.MidjourneyUtil;
10 import com.alibaba.fastjson2.JSON; 10 import com.alibaba.fastjson2.JSON;
11 import com.alibaba.fastjson2.JSONObject; 11 import com.alibaba.fastjson2.JSONObject;
12 import com.google.common.collect.Lists; 12 import com.google.common.collect.Lists;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/req/AttachmentsReq.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/req/AttachmentsReq.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.api.req; 1 +package org.springframework.ai.models.midjourney.api.req;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/req/DescribeReq.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/req/DescribeReq.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.api.req; 1 +package org.springframework.ai.models.midjourney.api.req;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/req/ReRollReq.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/req/ReRollReq.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.api.req; 1 +package org.springframework.ai.models.midjourney.api.req;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/res/UploadAttachmentsRes.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/res/UploadAttachmentsRes.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.api.res; 1 +package org.springframework.ai.models.midjourney.api.res;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyConstants.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyConstants.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.constants; 1 +package org.springframework.ai.models.midjourney.constants;
2 2
3 public final class MidjourneyConstants { 3 public final class MidjourneyConstants {
4 4
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyGennerateStatusEnum.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyGennerateStatusEnum.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.constants; 1 +package org.springframework.ai.models.midjourney.constants;
2 2
3 import lombok.AllArgsConstructor; 3 import lombok.AllArgsConstructor;
4 import lombok.Getter; 4 import lombok.Getter;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyInteractionsEnum.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyInteractionsEnum.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.constants; 1 +package org.springframework.ai.models.midjourney.constants;
2 2
3 import lombok.Getter; 3 import lombok.Getter;
4 4
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyMessageTypeEnum.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyMessageTypeEnum.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.constants; 1 +package org.springframework.ai.models.midjourney.constants;
2 2
3 3
4 public enum MidjourneyMessageTypeEnum { 4 public enum MidjourneyMessageTypeEnum {
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyNotifyCode.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyNotifyCode.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.constants; 1 +package org.springframework.ai.models.midjourney.constants;
2 2
3 import lombok.experimental.UtilityClass; 3 import lombok.experimental.UtilityClass;
4 4
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/util/MidjourneyUtil.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/util/MidjourneyUtil.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.util; 1 +package org.springframework.ai.models.midjourney.util;
2 2
3 import cn.hutool.core.text.CharSequenceUtil; 3 import cn.hutool.core.text.CharSequenceUtil;
4 -import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyMessage; 4 +import org.springframework.ai.models.midjourney.MidjourneyMessage;
5 5
6 import java.util.Map; 6 import java.util.Map;
7 import java.util.regex.Matcher; 7 import java.util.regex.Matcher;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/FailureCallback.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/FailureCallback.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.webSocket; 1 +package org.springframework.ai.models.midjourney.webSocket;
2 2
3 3
4 public interface FailureCallback { 4 public interface FailureCallback {
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/MidjourneyMessageHandler.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/MidjourneyMessageHandler.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.webSocket; 1 +package org.springframework.ai.models.midjourney.webSocket;
2 2
3 -import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyMessage; 3 +import org.springframework.ai.models.midjourney.MidjourneyMessage;
4 4
5 /** 5 /**
6 * message handler 6 * message handler
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/MidjourneyWebSocketStarter.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/MidjourneyWebSocketStarter.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.webSocket; 1 +package org.springframework.ai.models.midjourney.webSocket;
2 2
3 3
4 import cn.hutool.core.text.CharSequenceUtil; 4 import cn.hutool.core.text.CharSequenceUtil;
5 import cn.hutool.core.thread.ThreadUtil; 5 import cn.hutool.core.thread.ThreadUtil;
6 -import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyConfig;  
7 -import cn.iocoder.yudao.framework.ai.midjourney.constants.MidjourneyNotifyCode;  
8 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.handler.MidjourneyWebSocketHandler;  
9 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.listener.MidjourneyMessageListener; 6 +import org.springframework.ai.models.midjourney.MidjourneyConfig;
  7 +import org.springframework.ai.models.midjourney.constants.MidjourneyNotifyCode;
  8 +import org.springframework.ai.models.midjourney.webSocket.handler.MidjourneyWebSocketHandler;
  9 +import org.springframework.ai.models.midjourney.webSocket.listener.MidjourneyMessageListener;
10 import lombok.Getter; 10 import lombok.Getter;
11 import lombok.extern.slf4j.Slf4j; 11 import lombok.extern.slf4j.Slf4j;
12 import org.apache.tomcat.websocket.Constants; 12 import org.apache.tomcat.websocket.Constants;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/SuccessCallback.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/SuccessCallback.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.webSocket; 1 +package org.springframework.ai.models.midjourney.webSocket;
2 2
3 3
4 public interface SuccessCallback { 4 public interface SuccessCallback {
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/WebSocketStarter.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/WebSocketStarter.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.webSocket; 1 +package org.springframework.ai.models.midjourney.webSocket;
2 2
3 3
4 public interface WebSocketStarter { 4 public interface WebSocketStarter {
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/WssNotify.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/WssNotify.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.webSocket; 1 +package org.springframework.ai.models.midjourney.webSocket;
2 2
3 /** 3 /**
4 * 通知信息 4 * 通知信息
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/handler/MidjourneyWebSocketHandler.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/handler/MidjourneyWebSocketHandler.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.webSocket.handler; 1 +package org.springframework.ai.models.midjourney.webSocket.handler;
2 2
3 import cn.hutool.core.text.CharSequenceUtil; 3 import cn.hutool.core.text.CharSequenceUtil;
4 import cn.hutool.core.thread.ThreadUtil; 4 import cn.hutool.core.thread.ThreadUtil;
5 import cn.hutool.core.util.RandomUtil; 5 import cn.hutool.core.util.RandomUtil;
6 import cn.hutool.http.useragent.UserAgent; 6 import cn.hutool.http.useragent.UserAgent;
7 import cn.hutool.http.useragent.UserAgentUtil; 7 import cn.hutool.http.useragent.UserAgentUtil;
8 -import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyConfig;  
9 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.FailureCallback;  
10 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.SuccessCallback;  
11 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.listener.MidjourneyMessageListener; 8 +import org.springframework.ai.models.midjourney.MidjourneyConfig;
  9 +import org.springframework.ai.models.midjourney.webSocket.FailureCallback;
  10 +import org.springframework.ai.models.midjourney.webSocket.SuccessCallback;
  11 +import org.springframework.ai.models.midjourney.webSocket.listener.MidjourneyMessageListener;
12 import lombok.Setter; 12 import lombok.Setter;
13 import lombok.extern.slf4j.Slf4j; 13 import lombok.extern.slf4j.Slf4j;
14 import net.dv8tion.jda.api.utils.data.DataArray; 14 import net.dv8tion.jda.api.utils.data.DataArray;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/listener/MidjourneyMessageListener.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/listener/MidjourneyMessageListener.java
1 -package cn.iocoder.yudao.framework.ai.midjourney.webSocket.listener; 1 +package org.springframework.ai.models.midjourney.webSocket.listener;
2 2
3 3
4 import cn.hutool.core.collection.CollUtil; 4 import cn.hutool.core.collection.CollUtil;
5 import cn.hutool.core.text.CharSequenceUtil; 5 import cn.hutool.core.text.CharSequenceUtil;
6 import cn.hutool.core.util.StrUtil; 6 import cn.hutool.core.util.StrUtil;
7 -import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyConfig;  
8 -import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyMessage;  
9 -import cn.iocoder.yudao.framework.ai.midjourney.constants.MidjourneyConstants;  
10 -import cn.iocoder.yudao.framework.ai.midjourney.constants.MidjourneyGennerateStatusEnum;  
11 -import cn.iocoder.yudao.framework.ai.midjourney.constants.MidjourneyMessageTypeEnum;  
12 -import cn.iocoder.yudao.framework.ai.midjourney.util.MidjourneyUtil;  
13 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.MidjourneyMessageHandler; 7 +import org.springframework.ai.models.midjourney.MidjourneyConfig;
  8 +import org.springframework.ai.models.midjourney.MidjourneyMessage;
  9 +import org.springframework.ai.models.midjourney.constants.MidjourneyConstants;
  10 +import org.springframework.ai.models.midjourney.constants.MidjourneyGennerateStatusEnum;
  11 +import org.springframework.ai.models.midjourney.constants.MidjourneyMessageTypeEnum;
  12 +import org.springframework.ai.models.midjourney.util.MidjourneyUtil;
  13 +import org.springframework.ai.models.midjourney.webSocket.MidjourneyMessageHandler;
14 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 14 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
15 import lombok.extern.slf4j.Slf4j; 15 import lombok.extern.slf4j.Slf4j;
16 import net.dv8tion.jda.api.utils.data.DataObject; 16 import net.dv8tion.jda.api.utils.data.DataObject;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/OpenAiImageApi.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/OpenAiImageApi.java
1 -package cn.iocoder.yudao.framework.ai.imageopenai; 1 +package org.springframework.ai.models.openai;
2 2
3 import cn.hutool.json.JSONUtil; 3 import cn.hutool.json.JSONUtil;
4 -import cn.iocoder.yudao.framework.ai.imageopenai.api.OpenAiImageRequest;  
5 -import cn.iocoder.yudao.framework.ai.imageopenai.api.OpenAiImageResponse; 4 +import org.springframework.ai.models.openai.api.OpenAiImageRequest;
  5 +import org.springframework.ai.models.openai.api.OpenAiImageResponse;
6 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 6 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
7 import io.netty.channel.ChannelOption; 7 import io.netty.channel.ChannelOption;
8 import lombok.extern.slf4j.Slf4j; 8 import lombok.extern.slf4j.Slf4j;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/OpenAiImageClient.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/OpenAiImageClient.java
1 -package cn.iocoder.yudao.framework.ai.imageopenai; 1 +package org.springframework.ai.models.openai;
2 2
3 import cn.hutool.core.bean.BeanUtil; 3 import cn.hutool.core.bean.BeanUtil;
4 import cn.hutool.core.codec.Base64; 4 import cn.hutool.core.codec.Base64;
5 import cn.hutool.core.util.StrUtil; 5 import cn.hutool.core.util.StrUtil;
6 import cn.hutool.http.HttpUtil; 6 import cn.hutool.http.HttpUtil;
7 -import cn.iocoder.yudao.framework.ai.chat.ChatException;  
8 -import cn.iocoder.yudao.framework.ai.chatyiyan.exception.YiYanApiException;  
9 -import cn.iocoder.yudao.framework.ai.exception.AiException;  
10 -import cn.iocoder.yudao.framework.ai.image.*;  
11 -import cn.iocoder.yudao.framework.ai.imageopenai.api.OpenAiImageRequest;  
12 -import cn.iocoder.yudao.framework.ai.imageopenai.api.OpenAiImageResponse; 7 +import org.springframework.ai.chat.ChatException;
  8 +import org.springframework.ai.models.yiyan.exception.YiYanApiException;
  9 +import cn.iocoder.yudao.framework.ai.core.exception.AiException;
  10 +import org.springframework.ai.models.openai.api.OpenAiImageRequest;
  11 +import org.springframework.ai.models.openai.api.OpenAiImageResponse;
13 import lombok.extern.slf4j.Slf4j; 12 import lombok.extern.slf4j.Slf4j;
14 import org.jetbrains.annotations.NotNull; 13 import org.jetbrains.annotations.NotNull;
  14 +import org.springframework.ai.image.*;
15 import org.springframework.retry.RetryCallback; 15 import org.springframework.retry.RetryCallback;
16 import org.springframework.retry.RetryContext; 16 import org.springframework.retry.RetryContext;
17 import org.springframework.retry.RetryListener; 17 import org.springframework.retry.RetryListener;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/OpenAiImageOptions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/OpenAiImageOptions.java
1 -package cn.iocoder.yudao.framework.ai.imageopenai; 1 +package org.springframework.ai.models.openai;
2 2
3 -import cn.iocoder.yudao.framework.ai.image.ImageOptions;  
4 -import cn.iocoder.yudao.framework.ai.imageopenai.enums.OpenAiImageModelEnum;  
5 -import cn.iocoder.yudao.framework.ai.imageopenai.enums.OpenAiImageStyleEnum; 3 +import org.springframework.ai.image.ImageOptions;
  4 +import org.springframework.ai.models.openai.enums.OpenAiImageModelEnum;
  5 +import org.springframework.ai.models.openai.enums.OpenAiImageStyleEnum;
6 import lombok.Data; 6 import lombok.Data;
7 import lombok.Getter; 7 import lombok.Getter;
8 import lombok.experimental.Accessors; 8 import lombok.experimental.Accessors;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/api/OpenAiImageRequest.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/api/OpenAiImageRequest.java
1 -package cn.iocoder.yudao.framework.ai.imageopenai.api; 1 +package org.springframework.ai.models.openai.api;
2 2
3 import com.fasterxml.jackson.annotation.JsonProperty; 3 import com.fasterxml.jackson.annotation.JsonProperty;
4 import lombok.Data; 4 import lombok.Data;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/api/OpenAiImageResponse.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/api/OpenAiImageResponse.java
1 -package cn.iocoder.yudao.framework.ai.imageopenai.api; 1 +package org.springframework.ai.models.openai.api;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/enums/OpenAiImageModelEnum.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/enums/OpenAiImageModelEnum.java
1 -package cn.iocoder.yudao.framework.ai.imageopenai.enums; 1 +package org.springframework.ai.models.openai.enums;
2 2
3 import lombok.AllArgsConstructor; 3 import lombok.AllArgsConstructor;
4 import lombok.Getter; 4 import lombok.Getter;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/enums/OpenAiImageStyleEnum.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/enums/OpenAiImageStyleEnum.java
1 -package cn.iocoder.yudao.framework.ai.imageopenai.enums; 1 +package org.springframework.ai.models.openai.enums;
2 2
3 import lombok.AllArgsConstructor; 3 import lombok.AllArgsConstructor;
4 import lombok.Getter; 4 import lombok.Getter;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/QianWenChatClient.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/QianWenChatClient.java
1 -package cn.iocoder.yudao.framework.ai.chatqianwen; 1 +package org.springframework.ai.models.tongyi;
2 2
3 import cn.iocoder.yudao.framework.ai.chat.*; 3 import cn.iocoder.yudao.framework.ai.chat.*;
4 -import cn.iocoder.yudao.framework.ai.chat.prompt.ChatOptions;  
5 -import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;  
6 -import cn.iocoder.yudao.framework.ai.chatqianwen.api.QianWenApi;  
7 -import cn.iocoder.yudao.framework.ai.chatyiyan.exception.YiYanApiException; 4 +import org.springframework.ai.chat.*;
  5 +import org.springframework.ai.chat.prompt.ChatOptions;
  6 +import org.springframework.ai.chat.prompt.Prompt;
  7 +import org.springframework.ai.models.tongyi.api.QianWenApi;
  8 +import org.springframework.ai.models.yiyan.exception.YiYanApiException;
8 import com.alibaba.dashscope.aigc.generation.GenerationResult; 9 import com.alibaba.dashscope.aigc.generation.GenerationResult;
9 import com.alibaba.dashscope.aigc.generation.models.QwenParam; 10 import com.alibaba.dashscope.aigc.generation.models.QwenParam;
10 import com.alibaba.dashscope.common.Message; 11 import com.alibaba.dashscope.common.Message;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/QianWenChatModal.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/QianWenChatModal.java
1 -package cn.iocoder.yudao.framework.ai.chatqianwen; 1 +package org.springframework.ai.models.tongyi;
2 2
3 import lombok.AllArgsConstructor; 3 import lombok.AllArgsConstructor;
4 import lombok.Getter; 4 import lombok.Getter;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/QianWenOptions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/QianWenOptions.java
1 -package cn.iocoder.yudao.framework.ai.chatqianwen; 1 +package org.springframework.ai.models.tongyi;
2 2
3 -import cn.iocoder.yudao.framework.ai.chat.prompt.ChatOptions; 3 +import org.springframework.ai.chat.prompt.ChatOptions;
4 import lombok.Data; 4 import lombok.Data;
5 import lombok.experimental.Accessors; 5 import lombok.experimental.Accessors;
6 6
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/api/QianWenApi.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenApi.java
1 -package cn.iocoder.yudao.framework.ai.chatqianwen.api; 1 +package org.springframework.ai.models.tongyi.api;
2 2
3 -import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenChatModal;  
4 -import cn.iocoder.yudao.framework.ai.exception.AiException; 3 +import org.springframework.ai.models.tongyi.QianWenChatModal;
  4 +import cn.iocoder.yudao.framework.ai.core.exception.AiException;
5 import com.alibaba.dashscope.aigc.generation.Generation; 5 import com.alibaba.dashscope.aigc.generation.Generation;
6 import com.alibaba.dashscope.aigc.generation.GenerationResult; 6 import com.alibaba.dashscope.aigc.generation.GenerationResult;
7 import com.alibaba.dashscope.aigc.generation.models.QwenParam; 7 import com.alibaba.dashscope.aigc.generation.models.QwenParam;
8 -import com.alibaba.dashscope.common.Message;  
9 -import com.alibaba.dashscope.common.Role;  
10 import com.alibaba.dashscope.exception.InputRequiredException; 8 import com.alibaba.dashscope.exception.InputRequiredException;
11 import com.alibaba.dashscope.exception.NoApiKeyException; 9 import com.alibaba.dashscope.exception.NoApiKeyException;
12 import io.reactivex.Flowable; 10 import io.reactivex.Flowable;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/api/QianWenChatCompletion.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenChatCompletion.java
1 -package cn.iocoder.yudao.framework.ai.chatqianwen.api; 1 +package org.springframework.ai.models.tongyi.api;
2 2
3 3
4 /** 4 /**
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/api/QianWenChatCompletionMessage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenChatCompletionMessage.java
1 -package cn.iocoder.yudao.framework.ai.chatqianwen.api; 1 +package org.springframework.ai.models.tongyi.api;
2 2
3 /** 3 /**
4 * author: fansili 4 * author: fansili
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/api/QianWenChatCompletionRequest.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenChatCompletionRequest.java
1 -package cn.iocoder.yudao.framework.ai.chatqianwen.api; 1 +package org.springframework.ai.models.tongyi.api;
2 2
3 import com.alibaba.dashscope.aigc.generation.models.QwenParam; 3 import com.alibaba.dashscope.aigc.generation.models.QwenParam;
4 4
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/package-info.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/package-info.java
@@ -8,4 +8,4 @@ @@ -8,4 +8,4 @@
8 * author: fansili 8 * author: fansili
9 * time: 2024/3/13 21:05 9 * time: 2024/3/13 21:05
10 */ 10 */
11 -package cn.iocoder.yudao.framework.ai.chatqianwen;  
12 \ No newline at end of file 11 \ No newline at end of file
  12 +package org.springframework.ai.models.tongyi;
13 \ No newline at end of file 13 \ No newline at end of file
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/XingHuoChatClient.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/XingHuoChatClient.java
1 -package cn.iocoder.yudao.framework.ai.chatxinghuo; 1 +package org.springframework.ai.models.xinghuo;
2 2
3 import cn.hutool.core.bean.BeanUtil; 3 import cn.hutool.core.bean.BeanUtil;
4 import cn.hutool.core.exceptions.ExceptionUtil; 4 import cn.hutool.core.exceptions.ExceptionUtil;
5 import cn.iocoder.yudao.framework.ai.chat.*; 5 import cn.iocoder.yudao.framework.ai.chat.*;
6 -import cn.iocoder.yudao.framework.ai.chat.prompt.ChatOptions;  
7 -import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;  
8 -import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoApi;  
9 -import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletion;  
10 -import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletionRequest; 6 +import org.springframework.ai.chat.*;
  7 +import org.springframework.ai.chat.prompt.ChatOptions;
  8 +import org.springframework.ai.chat.prompt.Prompt;
  9 +import org.springframework.ai.models.xinghuo.api.XingHuoApi;
  10 +import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletion;
  11 +import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletionRequest;
11 import lombok.extern.slf4j.Slf4j; 12 import lombok.extern.slf4j.Slf4j;
12 import org.springframework.http.ResponseEntity; 13 import org.springframework.http.ResponseEntity;
13 import org.springframework.retry.RetryCallback; 14 import org.springframework.retry.RetryCallback;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/XingHuoChatModel.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/XingHuoChatModel.java
1 -package cn.iocoder.yudao.framework.ai.chatxinghuo; 1 +package org.springframework.ai.models.xinghuo;
2 2
3 import lombok.Getter; 3 import lombok.Getter;
4 4
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/XingHuoOptions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/XingHuoOptions.java
1 -package cn.iocoder.yudao.framework.ai.chatxinghuo; 1 +package org.springframework.ai.models.xinghuo;
2 2
3 -import cn.iocoder.yudao.framework.ai.chat.prompt.ChatOptions; 3 +import org.springframework.ai.chat.prompt.ChatOptions;
4 import lombok.Data; 4 import lombok.Data;
5 import lombok.experimental.Accessors; 5 import lombok.experimental.Accessors;
6 6
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/api/XingHuoApi.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoApi.java
1 -package cn.iocoder.yudao.framework.ai.chatxinghuo.api; 1 +package org.springframework.ai.models.xinghuo.api;
2 2
3 import cn.hutool.http.HttpUtil; 3 import cn.hutool.http.HttpUtil;
4 import cn.hutool.json.JSONUtil; 4 import cn.hutool.json.JSONUtil;
5 -import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatModel;  
6 -import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletion;  
7 -import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletionRequest; 5 +import org.springframework.ai.models.xinghuo.XingHuoChatModel;
8 import lombok.Data; 6 import lombok.Data;
9 import org.springframework.http.HttpStatusCode; 7 import org.springframework.http.HttpStatusCode;
10 import org.springframework.http.ResponseEntity; 8 import org.springframework.http.ResponseEntity;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/api/XingHuoChatCompletion.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoChatCompletion.java
1 -package cn.iocoder.yudao.framework.ai.chatxinghuo.api; 1 +package org.springframework.ai.models.xinghuo.api;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.experimental.Accessors; 4 import lombok.experimental.Accessors;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/api/XingHuoChatCompletionMessage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoChatCompletionMessage.java
1 -package cn.iocoder.yudao.framework.ai.chatxinghuo.api; 1 +package org.springframework.ai.models.xinghuo.api;
2 2
3 /** 3 /**
4 * author: fansili 4 * author: fansili
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/api/XingHuoChatCompletionRequest.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoChatCompletionRequest.java
1 -package cn.iocoder.yudao.framework.ai.chatxinghuo.api; 1 +package org.springframework.ai.models.xinghuo.api;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 import lombok.Getter; 4 import lombok.Getter;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/YiYanChatClient.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/YiYanChatClient.java
1 -package cn.iocoder.yudao.framework.ai.chatyiyan; 1 +package org.springframework.ai.models.yiyan;
2 2
3 import cn.hutool.core.bean.BeanUtil; 3 import cn.hutool.core.bean.BeanUtil;
4 import cn.iocoder.yudao.framework.ai.chat.*; 4 import cn.iocoder.yudao.framework.ai.chat.*;
5 -import cn.iocoder.yudao.framework.ai.chat.messages.Message;  
6 -import cn.iocoder.yudao.framework.ai.chat.messages.MessageType;  
7 -import cn.iocoder.yudao.framework.ai.chat.prompt.ChatOptions;  
8 -import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;  
9 -import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanApi;  
10 -import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanChatCompletion;  
11 -import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanChatCompletionRequest;  
12 -import cn.iocoder.yudao.framework.ai.chatyiyan.exception.YiYanApiException; 5 +import org.springframework.ai.chat.*;
  6 +import org.springframework.ai.chat.messages.Message;
  7 +import org.springframework.ai.chat.messages.MessageType;
  8 +import org.springframework.ai.chat.prompt.ChatOptions;
  9 +import org.springframework.ai.chat.prompt.Prompt;
  10 +import org.springframework.ai.models.yiyan.api.YiYanApi;
  11 +import org.springframework.ai.models.yiyan.api.YiYanChatCompletion;
  12 +import org.springframework.ai.models.yiyan.api.YiYanChatCompletionRequest;
  13 +import org.springframework.ai.models.yiyan.exception.YiYanApiException;
13 import lombok.extern.slf4j.Slf4j; 14 import lombok.extern.slf4j.Slf4j;
14 import org.jetbrains.annotations.NotNull; 15 import org.jetbrains.annotations.NotNull;
15 import org.springframework.http.ResponseEntity; 16 import org.springframework.http.ResponseEntity;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/YiYanChatModel.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/YiYanChatModel.java
1 -package cn.iocoder.yudao.framework.ai.chatyiyan; 1 +package org.springframework.ai.models.yiyan;
2 2
3 import lombok.AllArgsConstructor; 3 import lombok.AllArgsConstructor;
4 import lombok.Getter; 4 import lombok.Getter;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/YiYanOptions.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/YiYanOptions.java
1 -package cn.iocoder.yudao.framework.ai.chatyiyan; 1 +package org.springframework.ai.models.yiyan;
2 2
3 -import cn.iocoder.yudao.framework.ai.chat.prompt.ChatOptions;  
4 -import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanChatCompletionRequest; 3 +import org.springframework.ai.chat.prompt.ChatOptions;
  4 +import org.springframework.ai.models.yiyan.api.YiYanChatCompletionRequest;
5 import lombok.Data; 5 import lombok.Data;
6 import lombok.experimental.Accessors; 6 import lombok.experimental.Accessors;
7 7
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanApi.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanApi.java
1 -package cn.iocoder.yudao.framework.ai.chatyiyan.api; 1 +package org.springframework.ai.models.yiyan.api;
2 2
3 -import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatModel;  
4 -import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanAuthRes;  
5 -import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanChatCompletion;  
6 -import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanChatCompletionRequest;  
7 -import cn.iocoder.yudao.framework.ai.chatyiyan.exception.YiYanApiException; 3 +import org.springframework.ai.models.yiyan.YiYanChatModel;
  4 +import org.springframework.ai.models.yiyan.exception.YiYanApiException;
8 import lombok.Data; 5 import lombok.Data;
9 import org.springframework.http.HttpStatusCode; 6 import org.springframework.http.HttpStatusCode;
10 import org.springframework.http.ResponseEntity; 7 import org.springframework.http.ResponseEntity;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanAuthRes.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanAuthRes.java
1 -package cn.iocoder.yudao.framework.ai.chatyiyan.api; 1 +package org.springframework.ai.models.yiyan.api;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanChatCompletion.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanChatCompletion.java
1 -package cn.iocoder.yudao.framework.ai.chatyiyan.api; 1 +package org.springframework.ai.models.yiyan.api;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanChatCompletionMessage.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanChatCompletionMessage.java
1 -package cn.iocoder.yudao.framework.ai.chatyiyan.api; 1 +package org.springframework.ai.models.yiyan.api;
2 2
3 /** 3 /**
4 * author: fansili 4 * author: fansili
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanChatCompletionRequest.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanChatCompletionRequest.java
1 -package cn.iocoder.yudao.framework.ai.chatyiyan.api; 1 +package org.springframework.ai.models.yiyan.api;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/exception/YiYanApiException.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/exception/YiYanApiException.java
1 -package cn.iocoder.yudao.framework.ai.chatyiyan.exception; 1 +package org.springframework.ai.models.yiyan.exception;
2 2
3 /** 3 /**
4 * 一言 api 调用异常 4 * 一言 api 调用异常
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/package-info.java 0 → 100644
  1 +/**
  2 + * 从 https://github.com/spring-projects/spring-ai 拷贝。
  3 + *
  4 + * 最大目的:适配 JDK8 兼容性
  5 + *
  6 + * 包路径:
  7 + * 1. chat、parser、model、parser 包:https://github.com/spring-projects/spring-ai/tree/main/spring-ai-core 拷贝
  8 + * 2. models 包:对标 https://github.com/spring-projects/spring-ai/tree/main/models 拷贝
  9 + * 2.1 tongyi 包:【阿里】通义千问,对标 spring-cloud-alibaba 提供的 ai 包
  10 + * 2.2 yiyan 包:【百度】文心一言,自己实现
  11 + * 2.3 xinghuo 包:【讯飞】星火,自己实现
  12 + * 2.4 openai 包:【OpenAI】ChatGPT,拷贝 spring-ai 提供的 models/openai 包
  13 + * 2.5 midjourney 包:Midjourney,参考 https://github.com/novicezk/midjourney-proxy 实现
  14 + */
  15 +package org.springframework.ai;
0 \ No newline at end of file 16 \ No newline at end of file
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/AbstractConversionServiceOutputParser.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/AbstractConversionServiceOutputParser.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.parser; 17 +package org.springframework.ai.parser;
18 18
19 import org.springframework.core.convert.support.DefaultConversionService; 19 import org.springframework.core.convert.support.DefaultConversionService;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/AbstractMessageConverterOutputParser.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/AbstractMessageConverterOutputParser.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.parser; 17 +package org.springframework.ai.parser;
18 18
19 import org.springframework.messaging.converter.MessageConverter; 19 import org.springframework.messaging.converter.MessageConverter;
20 20
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/BeanOutputParser.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/BeanOutputParser.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.parser; 17 +package org.springframework.ai.parser;
18 18
19 import com.fasterxml.jackson.core.JsonProcessingException; 19 import com.fasterxml.jackson.core.JsonProcessingException;
20 import com.fasterxml.jackson.core.util.DefaultIndenter; 20 import com.fasterxml.jackson.core.util.DefaultIndenter;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/FormatProvider.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/FormatProvider.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.parser; 17 +package org.springframework.ai.parser;
18 18
19 /** 19 /**
20 * Implementations of this interface provides instructions for how the output of a 20 * Implementations of this interface provides instructions for how the output of a
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/ListOutputParser.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/ListOutputParser.java
@@ -13,7 +13,7 @@ @@ -13,7 +13,7 @@
13 * See the License for the specific language governing permissions and 13 * See the License for the specific language governing permissions and
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 -package cn.iocoder.yudao.framework.ai.parser; 16 +package org.springframework.ai.parser;
17 17
18 import org.springframework.core.convert.support.DefaultConversionService; 18 import org.springframework.core.convert.support.DefaultConversionService;
19 19
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/MapOutputParser.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/MapOutputParser.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.parser; 17 +package org.springframework.ai.parser;
18 18
19 import org.springframework.messaging.Message; 19 import org.springframework.messaging.Message;
20 import org.springframework.messaging.converter.MappingJackson2MessageConverter; 20 import org.springframework.messaging.converter.MappingJackson2MessageConverter;
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/OutputParser.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/OutputParser.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.parser; 17 +package org.springframework.ai.parser;
18 18
19 /** 19 /**
20 * Converts the (raw) LLM output into a structured responses of type. The 20 * Converts the (raw) LLM output into a structured responses of type. The
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/Parser.java renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/Parser.java
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 -package cn.iocoder.yudao.framework.ai.parser; 17 +package org.springframework.ai.parser;
18 18
19 @FunctionalInterface 19 @FunctionalInterface
20 public interface Parser<T> { 20 public interface Parser<T> {
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/README.md renamed to yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/README.md
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/QianWenChatClientTests.java
1 package cn.iocoder.yudao.framework.ai.chat; 1 package cn.iocoder.yudao.framework.ai.chat;
2 2
3 -import cn.iocoder.yudao.framework.ai.chat.messages.SystemMessage;  
4 -import cn.iocoder.yudao.framework.ai.chat.messages.UserMessage;  
5 -import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;  
6 -import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenChatClient;  
7 -import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenChatModal;  
8 -import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenOptions;  
9 -import cn.iocoder.yudao.framework.ai.chatqianwen.api.QianWenApi; 3 +import org.springframework.ai.chat.ChatResponse;
  4 +import org.springframework.ai.chat.messages.SystemMessage;
  5 +import org.springframework.ai.chat.messages.UserMessage;
  6 +import org.springframework.ai.chat.prompt.Prompt;
  7 +import org.springframework.ai.models.tongyi.QianWenChatClient;
  8 +import org.springframework.ai.models.tongyi.QianWenChatModal;
  9 +import org.springframework.ai.models.tongyi.QianWenOptions;
  10 +import org.springframework.ai.models.tongyi.api.QianWenApi;
10 import com.alibaba.dashscope.aigc.generation.GenerationResult; 11 import com.alibaba.dashscope.aigc.generation.GenerationResult;
11 import com.alibaba.dashscope.aigc.generation.models.QwenParam; 12 import com.alibaba.dashscope.aigc.generation.models.QwenParam;
12 import com.alibaba.dashscope.common.Message; 13 import com.alibaba.dashscope.common.Message;
@@ -46,7 +47,7 @@ public class QianWenChatClientTests { @@ -46,7 +47,7 @@ public class QianWenChatClientTests {
46 47
47 @Test 48 @Test
48 public void callTest() { 49 public void callTest() {
49 - List<cn.iocoder.yudao.framework.ai.chat.messages.Message> messages = new ArrayList<>(); 50 + List<org.springframework.ai.chat.messages.Message> messages = new ArrayList<>();
50 messages.add(new SystemMessage("你是一个优质的小红书文艺作者,抒写着各城市的美好文化和风景。")); 51 messages.add(new SystemMessage("你是一个优质的小红书文艺作者,抒写着各城市的美好文化和风景。"));
51 messages.add(new UserMessage("长沙怎么样?")); 52 messages.add(new UserMessage("长沙怎么样?"));
52 53
@@ -56,7 +57,7 @@ public class QianWenChatClientTests { @@ -56,7 +57,7 @@ public class QianWenChatClientTests {
56 57
57 @Test 58 @Test
58 public void streamTest() { 59 public void streamTest() {
59 - List<cn.iocoder.yudao.framework.ai.chat.messages.Message> messages = new ArrayList<>(); 60 + List<org.springframework.ai.chat.messages.Message> messages = new ArrayList<>();
60 messages.add(new SystemMessage("你是一个优质的文言文作者,用文言文描述着各城市的人文风景。")); 61 messages.add(new SystemMessage("你是一个优质的文言文作者,用文言文描述着各城市的人文风景。"));
61 messages.add(new UserMessage("长沙怎么样?")); 62 messages.add(new UserMessage("长沙怎么样?"));
62 63
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoChatClientMainTests.java
@@ -2,8 +2,8 @@ package cn.iocoder.yudao.framework.ai.chat; @@ -2,8 +2,8 @@ package cn.iocoder.yudao.framework.ai.chat;
2 2
3 import cn.hutool.http.HttpUtil; 3 import cn.hutool.http.HttpUtil;
4 import cn.hutool.json.JSONUtil; 4 import cn.hutool.json.JSONUtil;
5 -import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletion;  
6 -import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletionRequest; 5 +import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletion;
  6 +import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletionRequest;
7 import org.springframework.web.reactive.socket.client.ReactorNettyWebSocketClient; 7 import org.springframework.web.reactive.socket.client.ReactorNettyWebSocketClient;
8 import org.springframework.web.reactive.socket.client.WebSocketClient; 8 import org.springframework.web.reactive.socket.client.WebSocketClient;
9 import reactor.core.publisher.Flux; 9 import reactor.core.publisher.Flux;
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoChatClientTests.java
1 package cn.iocoder.yudao.framework.ai.chat; 1 package cn.iocoder.yudao.framework.ai.chat;
2 2
3 -import cn.iocoder.yudao.framework.ai.chat.messages.Message;  
4 -import cn.iocoder.yudao.framework.ai.chat.messages.SystemMessage;  
5 -import cn.iocoder.yudao.framework.ai.chat.messages.UserMessage;  
6 -import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;  
7 -import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatClient;  
8 -import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatModel;  
9 -import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoOptions;  
10 -import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoApi; 3 +import org.springframework.ai.chat.ChatResponse;
  4 +import org.springframework.ai.chat.messages.Message;
  5 +import org.springframework.ai.chat.messages.SystemMessage;
  6 +import org.springframework.ai.chat.messages.UserMessage;
  7 +import org.springframework.ai.chat.prompt.Prompt;
  8 +import org.springframework.ai.models.xinghuo.XingHuoChatClient;
  9 +import org.springframework.ai.models.xinghuo.XingHuoChatModel;
  10 +import org.springframework.ai.models.xinghuo.XingHuoOptions;
  11 +import org.springframework.ai.models.xinghuo.api.XingHuoApi;
11 import org.junit.Before; 12 import org.junit.Before;
12 import org.junit.Test; 13 import org.junit.Test;
13 import reactor.core.publisher.Flux; 14 import reactor.core.publisher.Flux;
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoOkHttpTests.java
@@ -2,9 +2,9 @@ package cn.iocoder.yudao.framework.ai.chat; @@ -2,9 +2,9 @@ package cn.iocoder.yudao.framework.ai.chat;
2 2
3 import cn.hutool.http.HttpUtil; 3 import cn.hutool.http.HttpUtil;
4 import cn.hutool.json.JSONUtil; 4 import cn.hutool.json.JSONUtil;
5 -import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatClient;  
6 -import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletion;  
7 -import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletionRequest; 5 +import org.springframework.ai.models.xinghuo.XingHuoChatClient;
  6 +import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletion;
  7 +import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletionRequest;
8 import okhttp3.*; 8 import okhttp3.*;
9 import org.jetbrains.annotations.NotNull; 9 import org.jetbrains.annotations.NotNull;
10 10
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/YiYanChatTests.java
1 package cn.iocoder.yudao.framework.ai.chat; 1 package cn.iocoder.yudao.framework.ai.chat;
2 2
3 -import cn.iocoder.yudao.framework.ai.chat.messages.Message;  
4 -import cn.iocoder.yudao.framework.ai.chat.messages.SystemMessage;  
5 -import cn.iocoder.yudao.framework.ai.chat.messages.UserMessage;  
6 -import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;  
7 -import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatClient;  
8 -import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatModel;  
9 -import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanOptions;  
10 -import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanApi; 3 +import org.springframework.ai.chat.ChatResponse;
  4 +import org.springframework.ai.chat.messages.Message;
  5 +import org.springframework.ai.chat.messages.SystemMessage;
  6 +import org.springframework.ai.chat.messages.UserMessage;
  7 +import org.springframework.ai.chat.prompt.Prompt;
  8 +import org.springframework.ai.models.yiyan.YiYanChatClient;
  9 +import org.springframework.ai.models.yiyan.YiYanChatModel;
  10 +import org.springframework.ai.models.yiyan.YiYanOptions;
  11 +import org.springframework.ai.models.yiyan.api.YiYanApi;
11 import org.junit.Before; 12 import org.junit.Before;
12 import org.junit.Test; 13 import org.junit.Test;
13 import reactor.core.publisher.Flux; 14 import reactor.core.publisher.Flux;
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyInteractionsTests.java
@@ -2,11 +2,12 @@ package cn.iocoder.yudao.framework.ai.midjourney; @@ -2,11 +2,12 @@ package cn.iocoder.yudao.framework.ai.midjourney;
2 2
3 import cn.hutool.core.io.FileUtil; 3 import cn.hutool.core.io.FileUtil;
4 import cn.hutool.core.util.IdUtil; 4 import cn.hutool.core.util.IdUtil;
5 -import cn.iocoder.yudao.framework.ai.midjourney.api.MidjourneyInteractionsApi;  
6 -import cn.iocoder.yudao.framework.ai.midjourney.api.req.AttachmentsReq;  
7 -import cn.iocoder.yudao.framework.ai.midjourney.api.req.DescribeReq;  
8 -import cn.iocoder.yudao.framework.ai.midjourney.api.req.ReRollReq;  
9 -import cn.iocoder.yudao.framework.ai.midjourney.api.res.UploadAttachmentsRes; 5 +import org.springframework.ai.models.midjourney.MidjourneyConfig;
  6 +import org.springframework.ai.models.midjourney.api.MidjourneyInteractionsApi;
  7 +import org.springframework.ai.models.midjourney.api.req.AttachmentsReq;
  8 +import org.springframework.ai.models.midjourney.api.req.DescribeReq;
  9 +import org.springframework.ai.models.midjourney.api.req.ReRollReq;
  10 +import org.springframework.ai.models.midjourney.api.res.UploadAttachmentsRes;
10 import cn.iocoder.yudao.framework.common.util.json.JsonUtils; 11 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
11 import org.junit.Before; 12 import org.junit.Before;
12 import org.junit.Test; 13 import org.junit.Test;
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyUtilTests.java
1 package cn.iocoder.yudao.framework.ai.midjourney; 1 package cn.iocoder.yudao.framework.ai.midjourney;
2 2
3 -import cn.iocoder.yudao.framework.ai.midjourney.util.MidjourneyUtil; 3 +import org.springframework.ai.models.midjourney.util.MidjourneyUtil;
4 import org.junit.Test; 4 import org.junit.Test;
5 5
6 /** 6 /**
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyWebSocketTests.java
1 package cn.iocoder.yudao.framework.ai.midjourney; 1 package cn.iocoder.yudao.framework.ai.midjourney;
2 2
3 import cn.hutool.core.io.FileUtil; 3 import cn.hutool.core.io.FileUtil;
4 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.WssNotify;  
5 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.listener.MidjourneyMessageListener;  
6 -import cn.iocoder.yudao.framework.ai.midjourney.webSocket.MidjourneyWebSocketStarter; 4 +import org.springframework.ai.models.midjourney.MidjourneyConfig;
  5 +import org.springframework.ai.models.midjourney.webSocket.WssNotify;
  6 +import org.springframework.ai.models.midjourney.webSocket.listener.MidjourneyMessageListener;
  7 +import org.springframework.ai.models.midjourney.webSocket.MidjourneyWebSocketStarter;
7 import org.junit.Before; 8 import org.junit.Before;
8 import org.junit.Test; 9 import org.junit.Test;
9 10
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/openAiImage/OpenAiImageClientTests.java
1 package cn.iocoder.yudao.framework.ai.openAiImage; 1 package cn.iocoder.yudao.framework.ai.openAiImage;
2 2
3 -import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageApi;  
4 -import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageClient;  
5 -import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageOptions;  
6 -import cn.iocoder.yudao.framework.ai.image.ImagePrompt;  
7 -import cn.iocoder.yudao.framework.ai.image.ImageResponse; 3 +import org.springframework.ai.models.openai.OpenAiImageApi;
  4 +import org.springframework.ai.models.openai.OpenAiImageClient;
  5 +import org.springframework.ai.models.openai.OpenAiImageOptions;
  6 +import org.springframework.ai.image.ImagePrompt;
  7 +import org.springframework.ai.image.ImageResponse;
8 import org.junit.Before; 8 import org.junit.Before;
9 import org.junit.Test; 9 import org.junit.Test;
10 10