diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/config/AiChatClientFactory.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/config/AiChatClientFactory.java
index 6ee9489..e15eff5 100644
--- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/config/AiChatClientFactory.java
+++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/config/AiChatClientFactory.java
@@ -1,11 +1,11 @@
package cn.iocoder.yudao.module.ai.config;
-import cn.iocoder.yudao.framework.ai.AiPlatformEnum;
-import cn.iocoder.yudao.framework.ai.chat.ChatClient;
-import cn.iocoder.yudao.framework.ai.chat.StreamingChatClient;
-import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenChatClient;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatClient;
-import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatClient;
+import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
+import org.springframework.ai.chat.ChatClient;
+import org.springframework.ai.chat.StreamingChatClient;
+import org.springframework.ai.models.tongyi.QianWenChatClient;
+import org.springframework.ai.models.xinghuo.XingHuoChatClient;
+import org.springframework.ai.models.yiyan.YiYanChatClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/AiImageConvert.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/AiImageConvert.java
index 27bf111..b0f8abc 100644
--- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/AiImageConvert.java
+++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/AiImageConvert.java
@@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.ai.convert;
-import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyMessage;
+import org.springframework.ai.models.midjourney.MidjourneyMessage;
import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDallDrawingReqVO;
import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDallDrawingRespVO;
import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageListRespVO;
diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/chat/AiChatMessageDO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/chat/AiChatMessageDO.java
index 7e57f7e..831b762 100644
--- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/chat/AiChatMessageDO.java
+++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/chat/AiChatMessageDO.java
@@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.ai.dal.dataobject.chat;
-import cn.iocoder.yudao.framework.ai.chat.messages.MessageType;
+import org.springframework.ai.chat.messages.MessageType;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO;
import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatRoleDO;
diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiApiKeyDO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiApiKeyDO.java
index 306c1e0..e251d55 100644
--- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiApiKeyDO.java
+++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiApiKeyDO.java
@@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.ai.dal.dataobject.model;
-import cn.iocoder.yudao.framework.ai.AiPlatformEnum;
+import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiChatModelDO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiChatModelDO.java
index 8c86127..7234280 100644
--- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiChatModelDO.java
+++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiChatModelDO.java
@@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.ai.dal.dataobject.model;
-import cn.iocoder.yudao.framework.ai.AiPlatformEnum;
+import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/vo/AiChatModalConfigVO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/vo/AiChatModalConfigVO.java
index 1b6e957..ed5ecf2 100644
--- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/vo/AiChatModalConfigVO.java
+++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/vo/AiChatModalConfigVO.java
@@ -1,7 +1,10 @@
package cn.iocoder.yudao.module.ai.dal.vo;
+import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
import lombok.Data;
import lombok.experimental.Accessors;
+import org.springframework.ai.models.xinghuo.XingHuoChatModel;
+import org.springframework.ai.models.yiyan.YiYanChatModel;
/**
* modal config
@@ -16,13 +19,13 @@ public class AiChatModalConfigVO {
/**
* 模型平台 (冗余,方便类型转换)
- * 参考:{@link cn.iocoder.yudao.framework.ai.AiPlatformEnum}
+ * 参考:{@link AiPlatformEnum}
*/
private String platform;
/**
* 模型类型(冗余,方便类型转换)
- * {@link cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatModel}
- * {@link cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatModel}
+ * {@link YiYanChatModel}
+ * {@link XingHuoChatModel}
*/
private String type;
}
diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/vo/AiChatModalDallConfigVO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/vo/AiChatModalDallConfigVO.java
index c7dce40..d77b4ec 100644
--- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/vo/AiChatModalDallConfigVO.java
+++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/vo/AiChatModalDallConfigVO.java
@@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.ai.dal.vo;
-import cn.iocoder.yudao.framework.ai.imageopenai.enums.OpenAiImageStyleEnum;
+import org.springframework.ai.models.openai.enums.OpenAiImageStyleEnum;
import lombok.Data;
import lombok.experimental.Accessors;
diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiChatServiceImpl.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiChatServiceImpl.java
index a7dcd12..36316dc 100644
--- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiChatServiceImpl.java
+++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiChatServiceImpl.java
@@ -1,12 +1,12 @@
package cn.iocoder.yudao.module.ai.service.impl;
import cn.hutool.core.exceptions.ExceptionUtil;
-import cn.iocoder.yudao.framework.ai.AiPlatformEnum;
-import cn.iocoder.yudao.framework.ai.chat.ChatClient;
-import cn.iocoder.yudao.framework.ai.chat.ChatResponse;
-import cn.iocoder.yudao.framework.ai.chat.StreamingChatClient;
-import cn.iocoder.yudao.framework.ai.chat.messages.MessageType;
-import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;
+import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
+import org.springframework.ai.chat.ChatClient;
+import org.springframework.ai.chat.ChatResponse;
+import org.springframework.ai.chat.StreamingChatClient;
+import org.springframework.ai.chat.messages.MessageType;
+import org.springframework.ai.chat.prompt.Prompt;
import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.ai.ErrorCodeConstants;
diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiImageServiceImpl.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiImageServiceImpl.java
index d306b4b..4727127 100644
--- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiImageServiceImpl.java
+++ b/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;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
-import cn.iocoder.yudao.framework.ai.exception.AiException;
-import cn.iocoder.yudao.framework.ai.image.ImageGeneration;
-import cn.iocoder.yudao.framework.ai.image.ImagePrompt;
-import cn.iocoder.yudao.framework.ai.image.ImageResponse;
-import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageClient;
-import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageOptions;
-import cn.iocoder.yudao.framework.ai.imageopenai.enums.OpenAiImageModelEnum;
-import cn.iocoder.yudao.framework.ai.imageopenai.enums.OpenAiImageStyleEnum;
-import cn.iocoder.yudao.framework.ai.midjourney.api.MidjourneyInteractionsApi;
-import cn.iocoder.yudao.framework.ai.midjourney.api.req.ReRollReq;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.MidjourneyWebSocketStarter;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.WssNotify;
+import cn.iocoder.yudao.framework.ai.core.exception.AiException;
+import org.springframework.ai.image.ImageGeneration;
+import org.springframework.ai.image.ImagePrompt;
+import org.springframework.ai.image.ImageResponse;
+import org.springframework.ai.models.openai.OpenAiImageClient;
+import org.springframework.ai.models.openai.OpenAiImageOptions;
+import org.springframework.ai.models.openai.enums.OpenAiImageModelEnum;
+import org.springframework.ai.models.openai.enums.OpenAiImageStyleEnum;
+import org.springframework.ai.models.midjourney.api.MidjourneyInteractionsApi;
+import org.springframework.ai.models.midjourney.api.req.ReRollReq;
+import org.springframework.ai.models.midjourney.webSocket.MidjourneyWebSocketStarter;
+import org.springframework.ai.models.midjourney.webSocket.WssNotify;
import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/midjourneyHandler/YuDaoMidjourneyMessageHandler.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/midjourneyHandler/YuDaoMidjourneyMessageHandler.java
index 0260a15..d1ccc08 100644
--- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/midjourneyHandler/YuDaoMidjourneyMessageHandler.java
+++ b/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;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
-import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyMessage;
-import cn.iocoder.yudao.framework.ai.midjourney.constants.MidjourneyGennerateStatusEnum;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.MidjourneyMessageHandler;
+import org.springframework.ai.models.midjourney.MidjourneyMessage;
+import org.springframework.ai.models.midjourney.constants.MidjourneyGennerateStatusEnum;
+import org.springframework.ai.models.midjourney.webSocket.MidjourneyMessageHandler;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageMidjourneyOperationsVO;
import cn.iocoder.yudao.module.ai.convert.AiImageConvert;
diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiChatModelServiceImpl.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiChatModelServiceImpl.java
index ed6e16c..c185ffe 100644
--- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiChatModelServiceImpl.java
+++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiChatModelServiceImpl.java
@@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.ai.service.model;
-import cn.iocoder.yudao.framework.ai.AiPlatformEnum;
+import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
@@ -14,7 +14,6 @@ import org.springframework.validation.annotation.Validated;
import java.util.List;
-import java.util.List;
import java.util.Set;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml b/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml
index 3a52489..2195b4b 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml
@@ -10,6 +10,7 @@
yudao-spring-boot-starter-ai
+
21
@@ -17,6 +18,7 @@
UTF-8
+
org.springframework
spring-core
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiAutoConfiguration.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiAutoConfiguration.java
index 6eedb59..88581f8 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiAutoConfiguration.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiAutoConfiguration.java
@@ -1,25 +1,25 @@
package cn.iocoder.yudao.framework.ai.config;
import cn.hutool.core.io.IoUtil;
-import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenChatClient;
-import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenChatModal;
-import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenOptions;
-import cn.iocoder.yudao.framework.ai.chatqianwen.api.QianWenApi;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatClient;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoOptions;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoApi;
-import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatClient;
-import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanOptions;
-import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanApi;
-import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageApi;
-import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageClient;
-import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageOptions;
-import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyConfig;
-import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyMessage;
-import cn.iocoder.yudao.framework.ai.midjourney.api.MidjourneyInteractionsApi;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.MidjourneyMessageHandler;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.MidjourneyWebSocketStarter;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.listener.MidjourneyMessageListener;
+import org.springframework.ai.models.tongyi.QianWenChatClient;
+import org.springframework.ai.models.tongyi.QianWenChatModal;
+import org.springframework.ai.models.tongyi.QianWenOptions;
+import org.springframework.ai.models.tongyi.api.QianWenApi;
+import org.springframework.ai.models.xinghuo.XingHuoChatClient;
+import org.springframework.ai.models.xinghuo.XingHuoOptions;
+import org.springframework.ai.models.xinghuo.api.XingHuoApi;
+import org.springframework.ai.models.yiyan.YiYanChatClient;
+import org.springframework.ai.models.yiyan.YiYanOptions;
+import org.springframework.ai.models.yiyan.api.YiYanApi;
+import org.springframework.ai.models.openai.OpenAiImageApi;
+import org.springframework.ai.models.openai.OpenAiImageClient;
+import org.springframework.ai.models.openai.OpenAiImageOptions;
+import org.springframework.ai.models.midjourney.MidjourneyConfig;
+import org.springframework.ai.models.midjourney.MidjourneyMessage;
+import org.springframework.ai.models.midjourney.api.MidjourneyInteractionsApi;
+import org.springframework.ai.models.midjourney.webSocket.MidjourneyMessageHandler;
+import org.springframework.ai.models.midjourney.webSocket.MidjourneyWebSocketStarter;
+import org.springframework.ai.models.midjourney.webSocket.listener.MidjourneyMessageListener;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springframework.boot.autoconfigure.AutoConfiguration;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiImageProperties.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiImageProperties.java
index 11246df..1f17a12 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiImageProperties.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiImageProperties.java
@@ -1,12 +1,11 @@
package cn.iocoder.yudao.framework.ai.config;
-import cn.iocoder.yudao.framework.ai.AiPlatformEnum;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatModel;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoOptions;
-import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatModel;
+import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
+import org.springframework.ai.models.xinghuo.XingHuoChatModel;
+import org.springframework.ai.models.xinghuo.XingHuoOptions;
+import org.springframework.ai.models.yiyan.YiYanChatModel;
import lombok.Data;
import lombok.experimental.Accessors;
-import org.springframework.boot.context.properties.ConfigurationProperties;
import java.util.LinkedHashMap;
import java.util.Map;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiProperties.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiProperties.java
index 57ef69e..a23b910 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiProperties.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiProperties.java
@@ -1,10 +1,10 @@
package cn.iocoder.yudao.framework.ai.config;
-import cn.iocoder.yudao.framework.ai.AiPlatformEnum;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatModel;
-import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatModel;
-import cn.iocoder.yudao.framework.ai.imageopenai.enums.OpenAiImageModelEnum;
-import cn.iocoder.yudao.framework.ai.imageopenai.enums.OpenAiImageStyleEnum;
+import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum;
+import org.springframework.ai.models.xinghuo.XingHuoChatModel;
+import org.springframework.ai.models.yiyan.YiYanChatModel;
+import org.springframework.ai.models.openai.enums.OpenAiImageModelEnum;
+import org.springframework.ai.models.openai.enums.OpenAiImageStyleEnum;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/AiPlatformEnum.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/enums/AiPlatformEnum.java
index 3882e1a..590797d 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/AiPlatformEnum.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/enums/AiPlatformEnum.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai;
+package cn.iocoder.yudao.framework.ai.core.enums;
import com.google.common.collect.Lists;
import lombok.AllArgsConstructor;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/exception/AiException.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/exception/AiException.java
index d98b7af..bad13c6 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/exception/AiException.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/exception/AiException.java
@@ -1,5 +1,6 @@
-package cn.iocoder.yudao.framework.ai.exception;
+package cn.iocoder.yudao.framework.ai.core.exception;
+// TODO @fan:这个有办法干掉么?
/**
* ai 异常
*
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/package-info.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/package-info.java
new file mode 100644
index 0000000..b728517
--- /dev/null
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 芋道 AI Starter,整体参考 spring-ai 拓展
+ */
+package cn.iocoder.yudao.framework.ai.core;
\ No newline at end of file
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/package-info.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/package-info.java
deleted file mode 100644
index ffd2ac9..0000000
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/package-info.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * author: fansili
- * time: 2024/3/12 20:29
- *
- * TODO @fansili:包的想法,需要重点看看
- *
- * 1. org.springframework.ai:包括 chat、image、model、parser、util 部分
- *
- * 2. yudao.framework.models
- * \qianwen 通义千问
- * \yiyan 文心一言
- * \xinghuo 星火
- * \midjourney
- */
-package cn.iocoder.yudao.framework.ai;
\ No newline at end of file
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/ChatClient.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/ChatClient.java
index 6fd8e89..bd6aa3e 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/ChatClient.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/ChatClient.java
@@ -14,12 +14,12 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat;
+package org.springframework.ai.chat;
-import cn.iocoder.yudao.framework.ai.chat.messages.UserMessage;
-import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;
-import cn.iocoder.yudao.framework.ai.model.ModelClient;
+import org.springframework.ai.chat.messages.UserMessage;
+import org.springframework.ai.chat.prompt.Prompt;
+import org.springframework.ai.model.ModelClient;
@FunctionalInterface
public interface ChatClient extends ModelClient {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/ChatException.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/ChatException.java
index 2b96601..bc92226 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/ChatException.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/ChatException.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chat;
+package org.springframework.ai.chat;
/**
* 聊天异常
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/ChatResponse.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/ChatResponse.java
index a6de72d..641212b 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/ChatResponse.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/ChatResponse.java
@@ -13,13 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat;
+package org.springframework.ai.chat;
-import cn.iocoder.yudao.framework.ai.chat.metadata.ChatResponseMetadata;
-import cn.iocoder.yudao.framework.ai.model.ModelResponse;
+import org.springframework.ai.chat.metadata.ChatResponseMetadata;
+import org.springframework.ai.model.ModelResponse;
import org.springframework.util.CollectionUtils;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/Generation.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/Generation.java
index 1835d16..ca17848 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/Generation.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/Generation.java
@@ -14,11 +14,11 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat;
+package org.springframework.ai.chat;
-import cn.iocoder.yudao.framework.ai.chat.messages.AssistantMessage;
-import cn.iocoder.yudao.framework.ai.chat.metadata.ChatGenerationMetadata;
-import cn.iocoder.yudao.framework.ai.model.ModelResult;
+import org.springframework.ai.chat.messages.AssistantMessage;
+import org.springframework.ai.chat.metadata.ChatGenerationMetadata;
+import org.springframework.ai.model.ModelResult;
import org.springframework.lang.Nullable;
import java.util.Map;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/StreamingChatClient.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/StreamingChatClient.java
index fdd604f..079989d 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/StreamingChatClient.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/StreamingChatClient.java
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat;
+package org.springframework.ai.chat;
-import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;
-import cn.iocoder.yudao.framework.ai.model.StreamingModelClient;
+import org.springframework.ai.chat.prompt.Prompt;
+import org.springframework.ai.model.StreamingModelClient;
import reactor.core.publisher.Flux;
@FunctionalInterface
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/AbstractMessage.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/AbstractMessage.java
index 8c8e60d..7cc9360 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/AbstractMessage.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/AbstractMessage.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.messages;
+package org.springframework.ai.chat.messages;
import org.springframework.core.io.Resource;
import org.springframework.util.Assert;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/AssistantMessage.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/AssistantMessage.java
index 6a18eeb..28710db 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/AssistantMessage.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/AssistantMessage.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.messages;
+package org.springframework.ai.chat.messages;
import java.util.Map;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/ChatMessage.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/ChatMessage.java
index 1647013..194aa54 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/ChatMessage.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/ChatMessage.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.messages;
+package org.springframework.ai.chat.messages;
import java.util.Map;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/FunctionMessage.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/FunctionMessage.java
index d8b6fcc..1faba6a 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/FunctionMessage.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/FunctionMessage.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.messages;
+package org.springframework.ai.chat.messages;
import java.util.Map;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/MediaData.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/MediaData.java
index fed6022..9acd9b1 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/MediaData.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/MediaData.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.messages;
+package org.springframework.ai.chat.messages;
import org.springframework.util.Assert;
import org.springframework.util.MimeType;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/Message.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/Message.java
index 89c7b4f..10c893a 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/Message.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/Message.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.messages;
+package org.springframework.ai.chat.messages;
import java.util.List;
import java.util.Map;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/MessageType.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/MessageType.java
index 2c803a0..a227c45 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/MessageType.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/MessageType.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.messages;
+package org.springframework.ai.chat.messages;
public enum MessageType {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/SystemMessage.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/SystemMessage.java
index c474f24..f8c67f2 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/SystemMessage.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/SystemMessage.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.messages;
+package org.springframework.ai.chat.messages;
import org.springframework.core.io.Resource;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/UserMessage.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/UserMessage.java
index 2b8f547..ca7f360 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/messages/UserMessage.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/messages/UserMessage.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.messages;
+package org.springframework.ai.chat.messages;
import org.springframework.core.io.Resource;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/ChatGenerationMetadata.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/ChatGenerationMetadata.java
index a90dda5..d9f5fc5 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/ChatGenerationMetadata.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/ChatGenerationMetadata.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.metadata;
+package org.springframework.ai.chat.metadata;
-import cn.iocoder.yudao.framework.ai.model.ResultMetadata;
+import org.springframework.ai.model.ResultMetadata;
import org.springframework.lang.Nullable;
/**
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/ChatResponseMetadata.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/ChatResponseMetadata.java
index ebcb4ab..38eb1fd 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/ChatResponseMetadata.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/ChatResponseMetadata.java
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.metadata;
+package org.springframework.ai.chat.metadata;
-import cn.iocoder.yudao.framework.ai.model.ResponseMetadata;
+import org.springframework.ai.model.ResponseMetadata;
/**
* Abstract Data Type (ADT) modeling common AI provider metadata returned in an AI
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/EmptyRateLimit.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/EmptyRateLimit.java
index 62aeeb5..480a94d 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/EmptyRateLimit.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/EmptyRateLimit.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.metadata;
+package org.springframework.ai.chat.metadata;
import java.time.Duration;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/EmptyUsage.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/EmptyUsage.java
index 11f0255..027e302 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/EmptyUsage.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/EmptyUsage.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.metadata;
+package org.springframework.ai.chat.metadata;
/**
* A EmpytUsage implementation that returns zero for all property getters
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/PromptMetadata.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/PromptMetadata.java
index 94bad3a..becb12d 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/PromptMetadata.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/PromptMetadata.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.metadata;
+package org.springframework.ai.chat.metadata;
import org.springframework.util.Assert;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/RateLimit.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/RateLimit.java
index 6842783..22dd64b 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/RateLimit.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/RateLimit.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.metadata;
+package org.springframework.ai.chat.metadata;
import java.time.Duration;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/Usage.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/Usage.java
index cecbc82..de4fb9a 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/metadata/Usage.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/metadata/Usage.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.metadata;
+package org.springframework.ai.chat.metadata;
/**
* 抽象数据类型(ADT)封装关于人工智能提供商API使用的元数据根据AI请求。
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/package-info.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/package-info.java
index 17c341f..98d92eb 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/package-info.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/package-info.java
@@ -11,4 +11,4 @@
* This bounded context is designed to encapsulate all aspects of chat-based AI
* functionalities, maintaining a clear boundary from other contexts within the AI domain.
*/
-package cn.iocoder.yudao.framework.ai.chat;
\ No newline at end of file
+package org.springframework.ai.chat;
\ No newline at end of file
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/AssistantPromptTemplate.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/AssistantPromptTemplate.java
index cfe9152..ae6373c 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/AssistantPromptTemplate.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/AssistantPromptTemplate.java
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.prompt;
+package org.springframework.ai.chat.prompt;
-import cn.iocoder.yudao.framework.ai.chat.messages.AssistantMessage;
-import cn.iocoder.yudao.framework.ai.chat.messages.Message;
+import org.springframework.ai.chat.messages.AssistantMessage;
+import org.springframework.ai.chat.messages.Message;
import org.springframework.core.io.Resource;
import java.util.Map;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/ChatOptions.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/ChatOptions.java
index 979ca6b..5c45a37 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/ChatOptions.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/ChatOptions.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.prompt;
+package org.springframework.ai.chat.prompt;
-import cn.iocoder.yudao.framework.ai.model.ModelOptions;
+import org.springframework.ai.model.ModelOptions;
/**
* 聊天选项代表了常见的选项,可在不同的聊天模式中移植。
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/ChatOptionsBuilder.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/ChatOptionsBuilder.java
index c3e236e..f702f63 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/ChatOptionsBuilder.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/ChatOptionsBuilder.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.prompt;
+package org.springframework.ai.chat.prompt;
public class ChatOptionsBuilder {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/ChatPromptTemplate.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/ChatPromptTemplate.java
index a06c981..15f9ca5 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/ChatPromptTemplate.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/ChatPromptTemplate.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.prompt;
+package org.springframework.ai.chat.prompt;
-import cn.iocoder.yudao.framework.ai.chat.messages.Message;
+import org.springframework.ai.chat.messages.Message;
import java.util.ArrayList;
import java.util.List;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/FunctionPromptTemplate.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/FunctionPromptTemplate.java
index e94545c..4c7ce98 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/FunctionPromptTemplate.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/FunctionPromptTemplate.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.prompt;
+package org.springframework.ai.chat.prompt;
public class FunctionPromptTemplate extends PromptTemplate {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/Prompt.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/Prompt.java
index 95b5cd8..a598b3c 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/Prompt.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/Prompt.java
@@ -14,13 +14,12 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.prompt;
+package org.springframework.ai.chat.prompt;
-import cn.iocoder.yudao.framework.ai.chat.ChatResponse;
-import cn.iocoder.yudao.framework.ai.chat.messages.Message;
-import cn.iocoder.yudao.framework.ai.chat.messages.UserMessage;
-import cn.iocoder.yudao.framework.ai.model.ModelOptions;
-import cn.iocoder.yudao.framework.ai.model.ModelRequest;
+import org.springframework.ai.chat.messages.Message;
+import org.springframework.ai.chat.messages.UserMessage;
+import org.springframework.ai.model.ModelOptions;
+import org.springframework.ai.model.ModelRequest;
import java.util.Collections;
import java.util.List;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplate.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplate.java
index 7c0c0f7..f1e910d 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplate.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplate.java
@@ -14,11 +14,11 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.prompt;
+package org.springframework.ai.chat.prompt;
-import cn.iocoder.yudao.framework.ai.chat.messages.Message;
-import cn.iocoder.yudao.framework.ai.chat.messages.UserMessage;
-import cn.iocoder.yudao.framework.ai.parser.OutputParser;
+import org.springframework.ai.chat.messages.Message;
+import org.springframework.ai.chat.messages.UserMessage;
+import org.springframework.ai.parser.OutputParser;
import org.antlr.runtime.Token;
import org.antlr.runtime.TokenStream;
import org.springframework.core.io.Resource;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplateActions.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateActions.java
index bdee00a..8097e3f 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplateActions.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateActions.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.prompt;
+package org.springframework.ai.chat.prompt;
import java.util.Map;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplateChatActions.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateChatActions.java
index 922d57c..24d9f90 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplateChatActions.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateChatActions.java
@@ -1,6 +1,6 @@
-package cn.iocoder.yudao.framework.ai.chat.prompt;
+package org.springframework.ai.chat.prompt;
-import cn.iocoder.yudao.framework.ai.chat.messages.Message;
+import org.springframework.ai.chat.messages.Message;
import java.util.List;
import java.util.Map;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplateMessageActions.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateMessageActions.java
index 8de851a..17ff492 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplateMessageActions.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateMessageActions.java
@@ -1,6 +1,6 @@
-package cn.iocoder.yudao.framework.ai.chat.prompt;
+package org.springframework.ai.chat.prompt;
-import cn.iocoder.yudao.framework.ai.chat.messages.Message;
+import org.springframework.ai.chat.messages.Message;
import java.util.Map;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplateStringActions.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateStringActions.java
index 58015b4..0cd9df3 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/PromptTemplateStringActions.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/PromptTemplateStringActions.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chat.prompt;
+package org.springframework.ai.chat.prompt;
import java.util.Map;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/SystemPromptTemplate.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/SystemPromptTemplate.java
index cafade4..539287d 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/SystemPromptTemplate.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/SystemPromptTemplate.java
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.prompt;
+package org.springframework.ai.chat.prompt;
-import cn.iocoder.yudao.framework.ai.chat.messages.Message;
-import cn.iocoder.yudao.framework.ai.chat.messages.SystemMessage;
+import org.springframework.ai.chat.messages.Message;
+import org.springframework.ai.chat.messages.SystemMessage;
import org.springframework.core.io.Resource;
import java.util.Map;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/TemplateFormat.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/TemplateFormat.java
index c22a78d..1001ee2 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chat/prompt/TemplateFormat.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/chat/prompt/TemplateFormat.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.chat.prompt;
+package org.springframework.ai.chat.prompt;
public enum TemplateFormat {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/Image.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/Image.java
index d6fc44d..3c6ae1e 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/Image.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/Image.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.image;
+package org.springframework.ai.image;
import java.util.Objects;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageClient.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageClient.java
index 98fc44f..1993fbe 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageClient.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageClient.java
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.image;
+package org.springframework.ai.image;
-import cn.iocoder.yudao.framework.ai.model.ModelClient;
+import org.springframework.ai.model.ModelClient;
public interface ImageClient extends ModelClient {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageGeneration.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageGeneration.java
index 5ec655d..924f587 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageGeneration.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageGeneration.java
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.image;
+package org.springframework.ai.image;
-import cn.iocoder.yudao.framework.ai.model.ModelResult;
+import org.springframework.ai.model.ModelResult;
public class ImageGeneration implements ModelResult {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageGenerationMetadata.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageGenerationMetadata.java
index 1d620d2..e140aa8 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageGenerationMetadata.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageGenerationMetadata.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.image;
+package org.springframework.ai.image;
-import cn.iocoder.yudao.framework.ai.model.ResultMetadata;
+import org.springframework.ai.model.ResultMetadata;
public interface ImageGenerationMetadata extends ResultMetadata {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageMessage.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageMessage.java
index 6a01c6c..51d378b 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageMessage.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageMessage.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.image;
+package org.springframework.ai.image;
import java.util.Objects;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageOptions.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageOptions.java
index d9cfd0e..4283763 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageOptions.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageOptions.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.image;
+package org.springframework.ai.image;
-import cn.iocoder.yudao.framework.ai.model.ModelOptions;
+import org.springframework.ai.model.ModelOptions;
/**
* ImageOptions represent the common options, portable across different image generation
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageOptionsBuilder.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageOptionsBuilder.java
index d1bc474..49dc349 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageOptionsBuilder.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageOptionsBuilder.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.image;
+package org.springframework.ai.image;
public class ImageOptionsBuilder {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImagePrompt.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImagePrompt.java
index 75ec519..4f9dcdc 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImagePrompt.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImagePrompt.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.image;
+package org.springframework.ai.image;
-import cn.iocoder.yudao.framework.ai.model.ModelRequest;
+import org.springframework.ai.model.ModelRequest;
import java.util.Collections;
import java.util.List;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageResponse.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageResponse.java
index ca91be5..d3e3145 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageResponse.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageResponse.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.image;
+package org.springframework.ai.image;
-import cn.iocoder.yudao.framework.ai.model.ModelResponse;
+import org.springframework.ai.model.ModelResponse;
import java.util.List;
import java.util.Objects;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageResponseMetadata.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageResponseMetadata.java
index c4332c6..78fa5e7 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/image/ImageResponseMetadata.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/image/ImageResponseMetadata.java
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.image;
+package org.springframework.ai.image;
-import cn.iocoder.yudao.framework.ai.model.ResponseMetadata;
+import org.springframework.ai.model.ResponseMetadata;
public interface ImageResponseMetadata extends ResponseMetadata {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelClient.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelClient.java
index 705a7a9..03bec4c 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelClient.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelClient.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model;
+package org.springframework.ai.model;
/**
* The ModelClient interface provides a generic API for invoking AI models. It is designed
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelOptions.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelOptions.java
index 6a5a738..96b301b 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelOptions.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelOptions.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model;
+package org.springframework.ai.model;
/**
* Interface representing the customizable options for AI model interactions. This marker
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelOptionsUtils.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelOptionsUtils.java
index 0d6f740..9360399 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelOptionsUtils.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelOptionsUtils.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model;
+package org.springframework.ai.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonProcessingException;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelRequest.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelRequest.java
index 915aba2..b3c4969 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelRequest.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelRequest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model;
+package org.springframework.ai.model;
/**
* 表示对AI模型的请求的接口。此接口封装了 与人工智能模型交互所需的必要信息,包括指令或 输入(通用类型T)和附加模型选项。它提供了一种标准化的方式
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelResponse.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelResponse.java
index 0bc0cc5..b3f40ff 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelResponse.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelResponse.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model;
+package org.springframework.ai.model;
import java.util.List;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelResult.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelResult.java
index 616be18..5a5613a 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ModelResult.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ModelResult.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model;
+package org.springframework.ai.model;
/**
* This interface provides methods to access the main output of the AI model and the
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ResponseMetadata.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ResponseMetadata.java
index 2a85cdf..15e685d 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ResponseMetadata.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ResponseMetadata.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model;
+package org.springframework.ai.model;
/**
* 表示与AI模型的响应相关联的元数据的接口。此接口 旨在提供有关人工智能生成反应的附加信息 模型,包括处理细节和模型特定数据。它是一种价值
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ResultMetadata.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ResultMetadata.java
index 528b764..78d5f7f 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/ResultMetadata.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/ResultMetadata.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model;
+package org.springframework.ai.model;
/**
* Interface representing metadata associated with the results of an AI model. This
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/StreamingModelClient.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/StreamingModelClient.java
index abbe859..da1db15 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/StreamingModelClient.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/StreamingModelClient.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model;
+package org.springframework.ai.model;
import reactor.core.publisher.Flux;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/AbstractFunctionCallSupport.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/AbstractFunctionCallSupport.java
index 33409f7..67a34b1 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/AbstractFunctionCallSupport.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/AbstractFunctionCallSupport.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model.function;
+package org.springframework.ai.model.function;
import org.springframework.util.CollectionUtils;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/AbstractFunctionCallback.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/AbstractFunctionCallback.java
index 044c181..801ea3c 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/AbstractFunctionCallback.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/AbstractFunctionCallback.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model.function;
+package org.springframework.ai.model.function;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallback.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallback.java
index a14a59b..91fc3ba 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallback.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallback.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model.function;
+package org.springframework.ai.model.function;
/**
*
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallbackContext.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallbackContext.java
index ca24e26..5524182 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallbackContext.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallbackContext.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model.function;
+package org.springframework.ai.model.function;
import com.fasterxml.jackson.annotation.JsonClassDescription;
import org.springframework.beans.BeansException;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallbackWrapper.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallbackWrapper.java
index d824121..23c981b 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallbackWrapper.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallbackWrapper.java
@@ -1,6 +1,6 @@
-package cn.iocoder.yudao.framework.ai.model.function;
+package org.springframework.ai.model.function;
-import cn.iocoder.yudao.framework.ai.model.ModelOptionsUtils;
+import org.springframework.ai.model.ModelOptionsUtils;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.util.Assert;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallingOptions.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallingOptions.java
index fdb42d6..c66a4f5 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallingOptions.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallingOptions.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model.function;
+package org.springframework.ai.model.function;
import java.util.List;
import java.util.Set;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallingOptionsBuilder.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallingOptionsBuilder.java
index 4fc258b..4404440 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/FunctionCallingOptionsBuilder.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/FunctionCallingOptionsBuilder.java
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model.function;
+package org.springframework.ai.model.function;
-import cn.iocoder.yudao.framework.ai.chat.prompt.ChatOptions;
+import org.springframework.ai.chat.prompt.ChatOptions;
import org.springframework.util.Assert;
import java.util.ArrayList;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/TypeResolverHelper.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/TypeResolverHelper.java
index e1c8c49..604ce0a 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/function/TypeResolverHelper.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/function/TypeResolverHelper.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.model.function;
+package org.springframework.ai.model.function;
import net.jodah.typetools.TypeResolver;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/package-info.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/package-info.java
index d2cf8e3..12eaa53 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/model/package-info.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/model/package-info.java
@@ -8,4 +8,4 @@
* ensuring a broad applicability across diverse AI scenarios.
*
*/
-package cn.iocoder.yudao.framework.ai.model;
\ No newline at end of file
+package org.springframework.ai.model;
\ No newline at end of file
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyConfig.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/MidjourneyConfig.java
index 8f749ba..ea35c77 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyConfig.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/MidjourneyConfig.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.midjourney;
+package org.springframework.ai.models.midjourney;
import lombok.Data;
import lombok.experimental.Accessors;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyMessage.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/MidjourneyMessage.java
index 3ee83be..30ce8ce 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyMessage.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/MidjourneyMessage.java
@@ -1,6 +1,6 @@
-package cn.iocoder.yudao.framework.ai.midjourney;
+package org.springframework.ai.models.midjourney;
-import cn.iocoder.yudao.framework.ai.midjourney.constants.MidjourneyGennerateStatusEnum;
+import org.springframework.ai.models.midjourney.constants.MidjourneyGennerateStatusEnum;
import lombok.Data;
import lombok.experimental.Accessors;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/MidjourneyInteractions.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/MidjourneyInteractions.java
index 7654923..6e64b2c 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/MidjourneyInteractions.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/MidjourneyInteractions.java
@@ -1,8 +1,8 @@
-package cn.iocoder.yudao.framework.ai.midjourney.api;
+package org.springframework.ai.models.midjourney.api;
import cn.hutool.core.util.IdUtil;
-import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyConfig;
-import cn.iocoder.yudao.framework.ai.midjourney.constants.MidjourneyConstants;
+import org.springframework.ai.models.midjourney.MidjourneyConfig;
+import org.springframework.ai.models.midjourney.constants.MidjourneyConstants;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpHeaders;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/MidjourneyInteractionsApi.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/MidjourneyInteractionsApi.java
index 7a578c8..3771113 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/MidjourneyInteractionsApi.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/MidjourneyInteractionsApi.java
@@ -1,12 +1,12 @@
-package cn.iocoder.yudao.framework.ai.midjourney.api;
+package org.springframework.ai.models.midjourney.api;
import cn.hutool.core.util.StrUtil;
-import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyConfig;
-import cn.iocoder.yudao.framework.ai.midjourney.api.req.AttachmentsReq;
-import cn.iocoder.yudao.framework.ai.midjourney.api.req.DescribeReq;
-import cn.iocoder.yudao.framework.ai.midjourney.api.req.ReRollReq;
-import cn.iocoder.yudao.framework.ai.midjourney.api.res.UploadAttachmentsRes;
-import cn.iocoder.yudao.framework.ai.midjourney.util.MidjourneyUtil;
+import org.springframework.ai.models.midjourney.MidjourneyConfig;
+import org.springframework.ai.models.midjourney.api.req.AttachmentsReq;
+import org.springframework.ai.models.midjourney.api.req.DescribeReq;
+import org.springframework.ai.models.midjourney.api.req.ReRollReq;
+import org.springframework.ai.models.midjourney.api.res.UploadAttachmentsRes;
+import org.springframework.ai.models.midjourney.util.MidjourneyUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.google.common.collect.Lists;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/req/AttachmentsReq.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/req/AttachmentsReq.java
index ed18a48..97de61b 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/req/AttachmentsReq.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/req/AttachmentsReq.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.midjourney.api.req;
+package org.springframework.ai.models.midjourney.api.req;
import lombok.Data;
import lombok.experimental.Accessors;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/req/DescribeReq.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/req/DescribeReq.java
index 49a4ab3..62e13c8 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/req/DescribeReq.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/req/DescribeReq.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.midjourney.api.req;
+package org.springframework.ai.models.midjourney.api.req;
import lombok.Data;
import lombok.experimental.Accessors;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/req/ReRollReq.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/req/ReRollReq.java
index 0d83689..990b60e 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/req/ReRollReq.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/req/ReRollReq.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.midjourney.api.req;
+package org.springframework.ai.models.midjourney.api.req;
import lombok.Data;
import lombok.experimental.Accessors;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/res/UploadAttachmentsRes.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/res/UploadAttachmentsRes.java
index cba21c9..6d8c0e9 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/res/UploadAttachmentsRes.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/api/res/UploadAttachmentsRes.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.midjourney.api.res;
+package org.springframework.ai.models.midjourney.api.res;
import lombok.Data;
import lombok.experimental.Accessors;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyConstants.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyConstants.java
index 29387a2..b80ae6e 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyConstants.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyConstants.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.midjourney.constants;
+package org.springframework.ai.models.midjourney.constants;
public final class MidjourneyConstants {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyGennerateStatusEnum.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyGennerateStatusEnum.java
index ef7147b..1d2d36b 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyGennerateStatusEnum.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyGennerateStatusEnum.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.midjourney.constants;
+package org.springframework.ai.models.midjourney.constants;
import lombok.AllArgsConstructor;
import lombok.Getter;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyInteractionsEnum.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyInteractionsEnum.java
index 08832e7..1f5bbc4 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyInteractionsEnum.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyInteractionsEnum.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.midjourney.constants;
+package org.springframework.ai.models.midjourney.constants;
import lombok.Getter;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyMessageTypeEnum.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyMessageTypeEnum.java
index 9c8eb9e..b13a4ef 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyMessageTypeEnum.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyMessageTypeEnum.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.midjourney.constants;
+package org.springframework.ai.models.midjourney.constants;
public enum MidjourneyMessageTypeEnum {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyNotifyCode.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyNotifyCode.java
index 1dccb8a..b2cc65a 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/constants/MidjourneyNotifyCode.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/constants/MidjourneyNotifyCode.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.midjourney.constants;
+package org.springframework.ai.models.midjourney.constants;
import lombok.experimental.UtilityClass;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/util/MidjourneyUtil.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/util/MidjourneyUtil.java
index 7e4c94e..50376b3 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/util/MidjourneyUtil.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/util/MidjourneyUtil.java
@@ -1,7 +1,7 @@
-package cn.iocoder.yudao.framework.ai.midjourney.util;
+package org.springframework.ai.models.midjourney.util;
import cn.hutool.core.text.CharSequenceUtil;
-import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyMessage;
+import org.springframework.ai.models.midjourney.MidjourneyMessage;
import java.util.Map;
import java.util.regex.Matcher;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/FailureCallback.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/FailureCallback.java
index 29bdb06..9e03c07 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/FailureCallback.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/FailureCallback.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.midjourney.webSocket;
+package org.springframework.ai.models.midjourney.webSocket;
public interface FailureCallback {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/MidjourneyMessageHandler.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/MidjourneyMessageHandler.java
index d5522fc..efb7948 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/MidjourneyMessageHandler.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/MidjourneyMessageHandler.java
@@ -1,6 +1,6 @@
-package cn.iocoder.yudao.framework.ai.midjourney.webSocket;
+package org.springframework.ai.models.midjourney.webSocket;
-import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyMessage;
+import org.springframework.ai.models.midjourney.MidjourneyMessage;
/**
* message handler
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/MidjourneyWebSocketStarter.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/MidjourneyWebSocketStarter.java
index ddf7f3f..d4c81f3 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/MidjourneyWebSocketStarter.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/MidjourneyWebSocketStarter.java
@@ -1,12 +1,12 @@
-package cn.iocoder.yudao.framework.ai.midjourney.webSocket;
+package org.springframework.ai.models.midjourney.webSocket;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.thread.ThreadUtil;
-import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyConfig;
-import cn.iocoder.yudao.framework.ai.midjourney.constants.MidjourneyNotifyCode;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.handler.MidjourneyWebSocketHandler;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.listener.MidjourneyMessageListener;
+import org.springframework.ai.models.midjourney.MidjourneyConfig;
+import org.springframework.ai.models.midjourney.constants.MidjourneyNotifyCode;
+import org.springframework.ai.models.midjourney.webSocket.handler.MidjourneyWebSocketHandler;
+import org.springframework.ai.models.midjourney.webSocket.listener.MidjourneyMessageListener;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.apache.tomcat.websocket.Constants;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/SuccessCallback.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/SuccessCallback.java
index 729498f..3b0426d 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/SuccessCallback.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/SuccessCallback.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.midjourney.webSocket;
+package org.springframework.ai.models.midjourney.webSocket;
public interface SuccessCallback {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/WebSocketStarter.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/WebSocketStarter.java
index 5a438aa..0b48eaa 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/WebSocketStarter.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/WebSocketStarter.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.midjourney.webSocket;
+package org.springframework.ai.models.midjourney.webSocket;
public interface WebSocketStarter {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/WssNotify.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/WssNotify.java
index 33c8a29..8b85c39 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/WssNotify.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/WssNotify.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.midjourney.webSocket;
+package org.springframework.ai.models.midjourney.webSocket;
/**
* 通知信息
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/handler/MidjourneyWebSocketHandler.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/handler/MidjourneyWebSocketHandler.java
index b6fbf5c..8f985c4 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/handler/MidjourneyWebSocketHandler.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/handler/MidjourneyWebSocketHandler.java
@@ -1,14 +1,14 @@
-package cn.iocoder.yudao.framework.ai.midjourney.webSocket.handler;
+package org.springframework.ai.models.midjourney.webSocket.handler;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.http.useragent.UserAgent;
import cn.hutool.http.useragent.UserAgentUtil;
-import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyConfig;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.FailureCallback;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.SuccessCallback;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.listener.MidjourneyMessageListener;
+import org.springframework.ai.models.midjourney.MidjourneyConfig;
+import org.springframework.ai.models.midjourney.webSocket.FailureCallback;
+import org.springframework.ai.models.midjourney.webSocket.SuccessCallback;
+import org.springframework.ai.models.midjourney.webSocket.listener.MidjourneyMessageListener;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import net.dv8tion.jda.api.utils.data.DataArray;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/listener/MidjourneyMessageListener.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/listener/MidjourneyMessageListener.java
index 0d196fa..c99309e 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/webSocket/listener/MidjourneyMessageListener.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/midjourney/webSocket/listener/MidjourneyMessageListener.java
@@ -1,16 +1,16 @@
-package cn.iocoder.yudao.framework.ai.midjourney.webSocket.listener;
+package org.springframework.ai.models.midjourney.webSocket.listener;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.StrUtil;
-import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyConfig;
-import cn.iocoder.yudao.framework.ai.midjourney.MidjourneyMessage;
-import cn.iocoder.yudao.framework.ai.midjourney.constants.MidjourneyConstants;
-import cn.iocoder.yudao.framework.ai.midjourney.constants.MidjourneyGennerateStatusEnum;
-import cn.iocoder.yudao.framework.ai.midjourney.constants.MidjourneyMessageTypeEnum;
-import cn.iocoder.yudao.framework.ai.midjourney.util.MidjourneyUtil;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.MidjourneyMessageHandler;
+import org.springframework.ai.models.midjourney.MidjourneyConfig;
+import org.springframework.ai.models.midjourney.MidjourneyMessage;
+import org.springframework.ai.models.midjourney.constants.MidjourneyConstants;
+import org.springframework.ai.models.midjourney.constants.MidjourneyGennerateStatusEnum;
+import org.springframework.ai.models.midjourney.constants.MidjourneyMessageTypeEnum;
+import org.springframework.ai.models.midjourney.util.MidjourneyUtil;
+import org.springframework.ai.models.midjourney.webSocket.MidjourneyMessageHandler;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
import lombok.extern.slf4j.Slf4j;
import net.dv8tion.jda.api.utils.data.DataObject;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/OpenAiImageApi.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/OpenAiImageApi.java
index efc15a3..6cde315 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/OpenAiImageApi.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/OpenAiImageApi.java
@@ -1,8 +1,8 @@
-package cn.iocoder.yudao.framework.ai.imageopenai;
+package org.springframework.ai.models.openai;
import cn.hutool.json.JSONUtil;
-import cn.iocoder.yudao.framework.ai.imageopenai.api.OpenAiImageRequest;
-import cn.iocoder.yudao.framework.ai.imageopenai.api.OpenAiImageResponse;
+import org.springframework.ai.models.openai.api.OpenAiImageRequest;
+import org.springframework.ai.models.openai.api.OpenAiImageResponse;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
import io.netty.channel.ChannelOption;
import lombok.extern.slf4j.Slf4j;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/OpenAiImageClient.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/OpenAiImageClient.java
index 4dd536f..558a0e6 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/OpenAiImageClient.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/OpenAiImageClient.java
@@ -1,17 +1,17 @@
-package cn.iocoder.yudao.framework.ai.imageopenai;
+package org.springframework.ai.models.openai;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
-import cn.iocoder.yudao.framework.ai.chat.ChatException;
-import cn.iocoder.yudao.framework.ai.chatyiyan.exception.YiYanApiException;
-import cn.iocoder.yudao.framework.ai.exception.AiException;
-import cn.iocoder.yudao.framework.ai.image.*;
-import cn.iocoder.yudao.framework.ai.imageopenai.api.OpenAiImageRequest;
-import cn.iocoder.yudao.framework.ai.imageopenai.api.OpenAiImageResponse;
+import org.springframework.ai.chat.ChatException;
+import org.springframework.ai.models.yiyan.exception.YiYanApiException;
+import cn.iocoder.yudao.framework.ai.core.exception.AiException;
+import org.springframework.ai.models.openai.api.OpenAiImageRequest;
+import org.springframework.ai.models.openai.api.OpenAiImageResponse;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
+import org.springframework.ai.image.*;
import org.springframework.retry.RetryCallback;
import org.springframework.retry.RetryContext;
import org.springframework.retry.RetryListener;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/OpenAiImageOptions.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/OpenAiImageOptions.java
index c2fa748..c6c9030 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/OpenAiImageOptions.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/OpenAiImageOptions.java
@@ -1,8 +1,8 @@
-package cn.iocoder.yudao.framework.ai.imageopenai;
+package org.springframework.ai.models.openai;
-import cn.iocoder.yudao.framework.ai.image.ImageOptions;
-import cn.iocoder.yudao.framework.ai.imageopenai.enums.OpenAiImageModelEnum;
-import cn.iocoder.yudao.framework.ai.imageopenai.enums.OpenAiImageStyleEnum;
+import org.springframework.ai.image.ImageOptions;
+import org.springframework.ai.models.openai.enums.OpenAiImageModelEnum;
+import org.springframework.ai.models.openai.enums.OpenAiImageStyleEnum;
import lombok.Data;
import lombok.Getter;
import lombok.experimental.Accessors;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/api/OpenAiImageRequest.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/api/OpenAiImageRequest.java
index 44ee174..0c01e1e 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/api/OpenAiImageRequest.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/api/OpenAiImageRequest.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.imageopenai.api;
+package org.springframework.ai.models.openai.api;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/api/OpenAiImageResponse.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/api/OpenAiImageResponse.java
index 0269896..beab4cd 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/api/OpenAiImageResponse.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/api/OpenAiImageResponse.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.imageopenai.api;
+package org.springframework.ai.models.openai.api;
import lombok.Data;
import lombok.experimental.Accessors;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/enums/OpenAiImageModelEnum.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/enums/OpenAiImageModelEnum.java
index 08cd2ae..635c62b 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/enums/OpenAiImageModelEnum.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/enums/OpenAiImageModelEnum.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.imageopenai.enums;
+package org.springframework.ai.models.openai.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/enums/OpenAiImageStyleEnum.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/enums/OpenAiImageStyleEnum.java
index 63feb85..d7999cd 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/imageopenai/enums/OpenAiImageStyleEnum.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/openai/enums/OpenAiImageStyleEnum.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.imageopenai.enums;
+package org.springframework.ai.models.openai.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/QianWenChatClient.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/QianWenChatClient.java
index e18ebe0..7707d68 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/QianWenChatClient.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/QianWenChatClient.java
@@ -1,10 +1,11 @@
-package cn.iocoder.yudao.framework.ai.chatqianwen;
+package org.springframework.ai.models.tongyi;
import cn.iocoder.yudao.framework.ai.chat.*;
-import cn.iocoder.yudao.framework.ai.chat.prompt.ChatOptions;
-import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;
-import cn.iocoder.yudao.framework.ai.chatqianwen.api.QianWenApi;
-import cn.iocoder.yudao.framework.ai.chatyiyan.exception.YiYanApiException;
+import org.springframework.ai.chat.*;
+import org.springframework.ai.chat.prompt.ChatOptions;
+import org.springframework.ai.chat.prompt.Prompt;
+import org.springframework.ai.models.tongyi.api.QianWenApi;
+import org.springframework.ai.models.yiyan.exception.YiYanApiException;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.aigc.generation.models.QwenParam;
import com.alibaba.dashscope.common.Message;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/QianWenChatModal.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/QianWenChatModal.java
index 7fd9411..9474a8d 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/QianWenChatModal.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/QianWenChatModal.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chatqianwen;
+package org.springframework.ai.models.tongyi;
import lombok.AllArgsConstructor;
import lombok.Getter;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/QianWenOptions.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/QianWenOptions.java
index 4cec864..9a67760 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/QianWenOptions.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/QianWenOptions.java
@@ -1,6 +1,6 @@
-package cn.iocoder.yudao.framework.ai.chatqianwen;
+package org.springframework.ai.models.tongyi;
-import cn.iocoder.yudao.framework.ai.chat.prompt.ChatOptions;
+import org.springframework.ai.chat.prompt.ChatOptions;
import lombok.Data;
import lombok.experimental.Accessors;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/api/QianWenApi.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenApi.java
index c5d2bb6..2e90511 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/api/QianWenApi.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenApi.java
@@ -1,12 +1,10 @@
-package cn.iocoder.yudao.framework.ai.chatqianwen.api;
+package org.springframework.ai.models.tongyi.api;
-import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenChatModal;
-import cn.iocoder.yudao.framework.ai.exception.AiException;
+import org.springframework.ai.models.tongyi.QianWenChatModal;
+import cn.iocoder.yudao.framework.ai.core.exception.AiException;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.aigc.generation.models.QwenParam;
-import com.alibaba.dashscope.common.Message;
-import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import io.reactivex.Flowable;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/api/QianWenChatCompletion.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenChatCompletion.java
index 474a7d8..1c3c610 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/api/QianWenChatCompletion.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenChatCompletion.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chatqianwen.api;
+package org.springframework.ai.models.tongyi.api;
/**
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/api/QianWenChatCompletionMessage.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenChatCompletionMessage.java
index 07680cb..4e5d023 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/api/QianWenChatCompletionMessage.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenChatCompletionMessage.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chatqianwen.api;
+package org.springframework.ai.models.tongyi.api;
/**
* author: fansili
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/api/QianWenChatCompletionRequest.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenChatCompletionRequest.java
index 5017ea4..04b6984 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/api/QianWenChatCompletionRequest.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/api/QianWenChatCompletionRequest.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chatqianwen.api;
+package org.springframework.ai.models.tongyi.api;
import com.alibaba.dashscope.aigc.generation.models.QwenParam;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/package-info.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/package-info.java
index c22dbe0..8d7793b 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatqianwen/package-info.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/tongyi/package-info.java
@@ -8,4 +8,4 @@
* author: fansili
* time: 2024/3/13 21:05
*/
-package cn.iocoder.yudao.framework.ai.chatqianwen;
\ No newline at end of file
+package org.springframework.ai.models.tongyi;
\ No newline at end of file
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/XingHuoChatClient.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/XingHuoChatClient.java
index 90ae6df..9025d82 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/XingHuoChatClient.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/XingHuoChatClient.java
@@ -1,13 +1,14 @@
-package cn.iocoder.yudao.framework.ai.chatxinghuo;
+package org.springframework.ai.models.xinghuo;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.exceptions.ExceptionUtil;
import cn.iocoder.yudao.framework.ai.chat.*;
-import cn.iocoder.yudao.framework.ai.chat.prompt.ChatOptions;
-import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoApi;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletion;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletionRequest;
+import org.springframework.ai.chat.*;
+import org.springframework.ai.chat.prompt.ChatOptions;
+import org.springframework.ai.chat.prompt.Prompt;
+import org.springframework.ai.models.xinghuo.api.XingHuoApi;
+import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletion;
+import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletionRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.retry.RetryCallback;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/XingHuoChatModel.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/XingHuoChatModel.java
index 5be9f40..859e41c 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/XingHuoChatModel.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/XingHuoChatModel.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chatxinghuo;
+package org.springframework.ai.models.xinghuo;
import lombok.Getter;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/XingHuoOptions.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/XingHuoOptions.java
index 7d56032..8efa752 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/XingHuoOptions.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/XingHuoOptions.java
@@ -1,6 +1,6 @@
-package cn.iocoder.yudao.framework.ai.chatxinghuo;
+package org.springframework.ai.models.xinghuo;
-import cn.iocoder.yudao.framework.ai.chat.prompt.ChatOptions;
+import org.springframework.ai.chat.prompt.ChatOptions;
import lombok.Data;
import lombok.experimental.Accessors;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/api/XingHuoApi.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoApi.java
index e2a8577..027e8a2 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/api/XingHuoApi.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoApi.java
@@ -1,10 +1,8 @@
-package cn.iocoder.yudao.framework.ai.chatxinghuo.api;
+package org.springframework.ai.models.xinghuo.api;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatModel;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletion;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletionRequest;
+import org.springframework.ai.models.xinghuo.XingHuoChatModel;
import lombok.Data;
import org.springframework.http.HttpStatusCode;
import org.springframework.http.ResponseEntity;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/api/XingHuoChatCompletion.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoChatCompletion.java
index a0f9653..e419d52 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/api/XingHuoChatCompletion.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoChatCompletion.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chatxinghuo.api;
+package org.springframework.ai.models.xinghuo.api;
import lombok.Data;
import lombok.experimental.Accessors;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/api/XingHuoChatCompletionMessage.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoChatCompletionMessage.java
index faa3c8c..f0e0f8d 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/api/XingHuoChatCompletionMessage.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoChatCompletionMessage.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chatxinghuo.api;
+package org.springframework.ai.models.xinghuo.api;
/**
* author: fansili
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/api/XingHuoChatCompletionRequest.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoChatCompletionRequest.java
index a90697b..3f2b211 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatxinghuo/api/XingHuoChatCompletionRequest.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/xinghuo/api/XingHuoChatCompletionRequest.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chatxinghuo.api;
+package org.springframework.ai.models.xinghuo.api;
import lombok.Data;
import lombok.Getter;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/YiYanChatClient.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/YiYanChatClient.java
index d95e9fb..fecc6ac 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/YiYanChatClient.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/YiYanChatClient.java
@@ -1,15 +1,16 @@
-package cn.iocoder.yudao.framework.ai.chatyiyan;
+package org.springframework.ai.models.yiyan;
import cn.hutool.core.bean.BeanUtil;
import cn.iocoder.yudao.framework.ai.chat.*;
-import cn.iocoder.yudao.framework.ai.chat.messages.Message;
-import cn.iocoder.yudao.framework.ai.chat.messages.MessageType;
-import cn.iocoder.yudao.framework.ai.chat.prompt.ChatOptions;
-import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;
-import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanApi;
-import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanChatCompletion;
-import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanChatCompletionRequest;
-import cn.iocoder.yudao.framework.ai.chatyiyan.exception.YiYanApiException;
+import org.springframework.ai.chat.*;
+import org.springframework.ai.chat.messages.Message;
+import org.springframework.ai.chat.messages.MessageType;
+import org.springframework.ai.chat.prompt.ChatOptions;
+import org.springframework.ai.chat.prompt.Prompt;
+import org.springframework.ai.models.yiyan.api.YiYanApi;
+import org.springframework.ai.models.yiyan.api.YiYanChatCompletion;
+import org.springframework.ai.models.yiyan.api.YiYanChatCompletionRequest;
+import org.springframework.ai.models.yiyan.exception.YiYanApiException;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springframework.http.ResponseEntity;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/YiYanChatModel.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/YiYanChatModel.java
index 4c8b3aa..abed185 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/YiYanChatModel.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/YiYanChatModel.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chatyiyan;
+package org.springframework.ai.models.yiyan;
import lombok.AllArgsConstructor;
import lombok.Getter;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/YiYanOptions.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/YiYanOptions.java
index 84f0ced..aac8e49 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/YiYanOptions.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/YiYanOptions.java
@@ -1,7 +1,7 @@
-package cn.iocoder.yudao.framework.ai.chatyiyan;
+package org.springframework.ai.models.yiyan;
-import cn.iocoder.yudao.framework.ai.chat.prompt.ChatOptions;
-import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanChatCompletionRequest;
+import org.springframework.ai.chat.prompt.ChatOptions;
+import org.springframework.ai.models.yiyan.api.YiYanChatCompletionRequest;
import lombok.Data;
import lombok.experimental.Accessors;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanApi.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanApi.java
index ad1059b..a8f4aa3 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanApi.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanApi.java
@@ -1,10 +1,7 @@
-package cn.iocoder.yudao.framework.ai.chatyiyan.api;
+package org.springframework.ai.models.yiyan.api;
-import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatModel;
-import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanAuthRes;
-import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanChatCompletion;
-import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanChatCompletionRequest;
-import cn.iocoder.yudao.framework.ai.chatyiyan.exception.YiYanApiException;
+import org.springframework.ai.models.yiyan.YiYanChatModel;
+import org.springframework.ai.models.yiyan.exception.YiYanApiException;
import lombok.Data;
import org.springframework.http.HttpStatusCode;
import org.springframework.http.ResponseEntity;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanAuthRes.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanAuthRes.java
index e828858..f9f1f27 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanAuthRes.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanAuthRes.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chatyiyan.api;
+package org.springframework.ai.models.yiyan.api;
import lombok.Data;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanChatCompletion.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanChatCompletion.java
index b995da8..8e02db6 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanChatCompletion.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanChatCompletion.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chatyiyan.api;
+package org.springframework.ai.models.yiyan.api;
import lombok.Data;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanChatCompletionMessage.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanChatCompletionMessage.java
index ce6259c..278b1a7 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanChatCompletionMessage.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanChatCompletionMessage.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chatyiyan.api;
+package org.springframework.ai.models.yiyan.api;
/**
* author: fansili
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanChatCompletionRequest.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanChatCompletionRequest.java
index de6c19e..22e9188 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/api/YiYanChatCompletionRequest.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/api/YiYanChatCompletionRequest.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chatyiyan.api;
+package org.springframework.ai.models.yiyan.api;
import lombok.Data;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/exception/YiYanApiException.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/exception/YiYanApiException.java
index dbb8ed9..94850f5 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/chatyiyan/exception/YiYanApiException.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/models/yiyan/exception/YiYanApiException.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.framework.ai.chatyiyan.exception;
+package org.springframework.ai.models.yiyan.exception;
/**
* 一言 api 调用异常
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/package-info.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/package-info.java
new file mode 100644
index 0000000..b38419f
--- /dev/null
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/package-info.java
@@ -0,0 +1,15 @@
+/**
+ * 从 https://github.com/spring-projects/spring-ai 拷贝。
+ *
+ * 最大目的:适配 JDK8 兼容性
+ *
+ * 包路径:
+ * 1. chat、parser、model、parser 包:https://github.com/spring-projects/spring-ai/tree/main/spring-ai-core 拷贝
+ * 2. models 包:对标 https://github.com/spring-projects/spring-ai/tree/main/models 拷贝
+ * 2.1 tongyi 包:【阿里】通义千问,对标 spring-cloud-alibaba 提供的 ai 包
+ * 2.2 yiyan 包:【百度】文心一言,自己实现
+ * 2.3 xinghuo 包:【讯飞】星火,自己实现
+ * 2.4 openai 包:【OpenAI】ChatGPT,拷贝 spring-ai 提供的 models/openai 包
+ * 2.5 midjourney 包:Midjourney,参考 https://github.com/novicezk/midjourney-proxy 实现
+ */
+package org.springframework.ai;
\ No newline at end of file
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/AbstractConversionServiceOutputParser.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/AbstractConversionServiceOutputParser.java
index cee9fff..a06827f 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/AbstractConversionServiceOutputParser.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/AbstractConversionServiceOutputParser.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.parser;
+package org.springframework.ai.parser;
import org.springframework.core.convert.support.DefaultConversionService;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/AbstractMessageConverterOutputParser.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/AbstractMessageConverterOutputParser.java
index abe5005..01dbada 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/AbstractMessageConverterOutputParser.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/AbstractMessageConverterOutputParser.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.parser;
+package org.springframework.ai.parser;
import org.springframework.messaging.converter.MessageConverter;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/BeanOutputParser.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/BeanOutputParser.java
index 109e75f..fa09c26 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/BeanOutputParser.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/BeanOutputParser.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.parser;
+package org.springframework.ai.parser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.util.DefaultIndenter;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/FormatProvider.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/FormatProvider.java
index 53d0017..8d0cb76 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/FormatProvider.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/FormatProvider.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.parser;
+package org.springframework.ai.parser;
/**
* Implementations of this interface provides instructions for how the output of a
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/ListOutputParser.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/ListOutputParser.java
index 37fd49b..d112257 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/ListOutputParser.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/ListOutputParser.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.parser;
+package org.springframework.ai.parser;
import org.springframework.core.convert.support.DefaultConversionService;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/MapOutputParser.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/MapOutputParser.java
index bd57b3b..90f017f 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/MapOutputParser.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/MapOutputParser.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.parser;
+package org.springframework.ai.parser;
import org.springframework.messaging.Message;
import org.springframework.messaging.converter.MappingJackson2MessageConverter;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/OutputParser.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/OutputParser.java
index 1543532..cbc7e6e 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/OutputParser.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/OutputParser.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.parser;
+package org.springframework.ai.parser;
/**
* Converts the (raw) LLM output into a structured responses of type. The
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/Parser.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/Parser.java
index 6016ee5..559473f 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/Parser.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/Parser.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package cn.iocoder.yudao.framework.ai.parser;
+package org.springframework.ai.parser;
@FunctionalInterface
public interface Parser {
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/README.md b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/README.md
index 740e330..740e330 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/parser/README.md
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/org/springframework/ai/parser/README.md
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/QianWenChatClientTests.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/QianWenChatClientTests.java
index 16ddfa4..0882f72 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/QianWenChatClientTests.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/QianWenChatClientTests.java
@@ -1,12 +1,13 @@
package cn.iocoder.yudao.framework.ai.chat;
-import cn.iocoder.yudao.framework.ai.chat.messages.SystemMessage;
-import cn.iocoder.yudao.framework.ai.chat.messages.UserMessage;
-import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;
-import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenChatClient;
-import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenChatModal;
-import cn.iocoder.yudao.framework.ai.chatqianwen.QianWenOptions;
-import cn.iocoder.yudao.framework.ai.chatqianwen.api.QianWenApi;
+import org.springframework.ai.chat.ChatResponse;
+import org.springframework.ai.chat.messages.SystemMessage;
+import org.springframework.ai.chat.messages.UserMessage;
+import org.springframework.ai.chat.prompt.Prompt;
+import org.springframework.ai.models.tongyi.QianWenChatClient;
+import org.springframework.ai.models.tongyi.QianWenChatModal;
+import org.springframework.ai.models.tongyi.QianWenOptions;
+import org.springframework.ai.models.tongyi.api.QianWenApi;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.aigc.generation.models.QwenParam;
import com.alibaba.dashscope.common.Message;
@@ -46,7 +47,7 @@ public class QianWenChatClientTests {
@Test
public void callTest() {
- List messages = new ArrayList<>();
+ List messages = new ArrayList<>();
messages.add(new SystemMessage("你是一个优质的小红书文艺作者,抒写着各城市的美好文化和风景。"));
messages.add(new UserMessage("长沙怎么样?"));
@@ -56,7 +57,7 @@ public class QianWenChatClientTests {
@Test
public void streamTest() {
- List messages = new ArrayList<>();
+ List messages = new ArrayList<>();
messages.add(new SystemMessage("你是一个优质的文言文作者,用文言文描述着各城市的人文风景。"));
messages.add(new UserMessage("长沙怎么样?"));
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoChatClientMainTests.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoChatClientMainTests.java
index 674e4dc..77cf9ef 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoChatClientMainTests.java
+++ b/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;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletion;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletionRequest;
+import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletion;
+import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletionRequest;
import org.springframework.web.reactive.socket.client.ReactorNettyWebSocketClient;
import org.springframework.web.reactive.socket.client.WebSocketClient;
import reactor.core.publisher.Flux;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoChatClientTests.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoChatClientTests.java
index ee32b67..4479390 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoChatClientTests.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoChatClientTests.java
@@ -1,13 +1,14 @@
package cn.iocoder.yudao.framework.ai.chat;
-import cn.iocoder.yudao.framework.ai.chat.messages.Message;
-import cn.iocoder.yudao.framework.ai.chat.messages.SystemMessage;
-import cn.iocoder.yudao.framework.ai.chat.messages.UserMessage;
-import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatClient;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatModel;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoOptions;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoApi;
+import org.springframework.ai.chat.ChatResponse;
+import org.springframework.ai.chat.messages.Message;
+import org.springframework.ai.chat.messages.SystemMessage;
+import org.springframework.ai.chat.messages.UserMessage;
+import org.springframework.ai.chat.prompt.Prompt;
+import org.springframework.ai.models.xinghuo.XingHuoChatClient;
+import org.springframework.ai.models.xinghuo.XingHuoChatModel;
+import org.springframework.ai.models.xinghuo.XingHuoOptions;
+import org.springframework.ai.models.xinghuo.api.XingHuoApi;
import org.junit.Before;
import org.junit.Test;
import reactor.core.publisher.Flux;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoOkHttpTests.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoOkHttpTests.java
index 3f29032..f45f964 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoOkHttpTests.java
+++ b/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;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.XingHuoChatClient;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletion;
-import cn.iocoder.yudao.framework.ai.chatxinghuo.api.XingHuoChatCompletionRequest;
+import org.springframework.ai.models.xinghuo.XingHuoChatClient;
+import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletion;
+import org.springframework.ai.models.xinghuo.api.XingHuoChatCompletionRequest;
import okhttp3.*;
import org.jetbrains.annotations.NotNull;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/YiYanChatTests.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/YiYanChatTests.java
index df98541..f54ae39 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/YiYanChatTests.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/YiYanChatTests.java
@@ -1,13 +1,14 @@
package cn.iocoder.yudao.framework.ai.chat;
-import cn.iocoder.yudao.framework.ai.chat.messages.Message;
-import cn.iocoder.yudao.framework.ai.chat.messages.SystemMessage;
-import cn.iocoder.yudao.framework.ai.chat.messages.UserMessage;
-import cn.iocoder.yudao.framework.ai.chat.prompt.Prompt;
-import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatClient;
-import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanChatModel;
-import cn.iocoder.yudao.framework.ai.chatyiyan.YiYanOptions;
-import cn.iocoder.yudao.framework.ai.chatyiyan.api.YiYanApi;
+import org.springframework.ai.chat.ChatResponse;
+import org.springframework.ai.chat.messages.Message;
+import org.springframework.ai.chat.messages.SystemMessage;
+import org.springframework.ai.chat.messages.UserMessage;
+import org.springframework.ai.chat.prompt.Prompt;
+import org.springframework.ai.models.yiyan.YiYanChatClient;
+import org.springframework.ai.models.yiyan.YiYanChatModel;
+import org.springframework.ai.models.yiyan.YiYanOptions;
+import org.springframework.ai.models.yiyan.api.YiYanApi;
import org.junit.Before;
import org.junit.Test;
import reactor.core.publisher.Flux;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyInteractionsTests.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyInteractionsTests.java
index fda7818..d93ac0b 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyInteractionsTests.java
+++ b/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;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil;
-import cn.iocoder.yudao.framework.ai.midjourney.api.MidjourneyInteractionsApi;
-import cn.iocoder.yudao.framework.ai.midjourney.api.req.AttachmentsReq;
-import cn.iocoder.yudao.framework.ai.midjourney.api.req.DescribeReq;
-import cn.iocoder.yudao.framework.ai.midjourney.api.req.ReRollReq;
-import cn.iocoder.yudao.framework.ai.midjourney.api.res.UploadAttachmentsRes;
+import org.springframework.ai.models.midjourney.MidjourneyConfig;
+import org.springframework.ai.models.midjourney.api.MidjourneyInteractionsApi;
+import org.springframework.ai.models.midjourney.api.req.AttachmentsReq;
+import org.springframework.ai.models.midjourney.api.req.DescribeReq;
+import org.springframework.ai.models.midjourney.api.req.ReRollReq;
+import org.springframework.ai.models.midjourney.api.res.UploadAttachmentsRes;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
import org.junit.Before;
import org.junit.Test;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyUtilTests.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyUtilTests.java
index 39d6493..b5604b8 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyUtilTests.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyUtilTests.java
@@ -1,6 +1,6 @@
package cn.iocoder.yudao.framework.ai.midjourney;
-import cn.iocoder.yudao.framework.ai.midjourney.util.MidjourneyUtil;
+import org.springframework.ai.models.midjourney.util.MidjourneyUtil;
import org.junit.Test;
/**
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyWebSocketTests.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyWebSocketTests.java
index cf90b17..ff03956 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyWebSocketTests.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyWebSocketTests.java
@@ -1,9 +1,10 @@
package cn.iocoder.yudao.framework.ai.midjourney;
import cn.hutool.core.io.FileUtil;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.WssNotify;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.listener.MidjourneyMessageListener;
-import cn.iocoder.yudao.framework.ai.midjourney.webSocket.MidjourneyWebSocketStarter;
+import org.springframework.ai.models.midjourney.MidjourneyConfig;
+import org.springframework.ai.models.midjourney.webSocket.WssNotify;
+import org.springframework.ai.models.midjourney.webSocket.listener.MidjourneyMessageListener;
+import org.springframework.ai.models.midjourney.webSocket.MidjourneyWebSocketStarter;
import org.junit.Before;
import org.junit.Test;
diff --git a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/openAiImage/OpenAiImageClientTests.java b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/openAiImage/OpenAiImageClientTests.java
index b85ec88..ba439c6 100644
--- a/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/openAiImage/OpenAiImageClientTests.java
+++ b/yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/openAiImage/OpenAiImageClientTests.java
@@ -1,10 +1,10 @@
package cn.iocoder.yudao.framework.ai.openAiImage;
-import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageApi;
-import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageClient;
-import cn.iocoder.yudao.framework.ai.imageopenai.OpenAiImageOptions;
-import cn.iocoder.yudao.framework.ai.image.ImagePrompt;
-import cn.iocoder.yudao.framework.ai.image.ImageResponse;
+import org.springframework.ai.models.openai.OpenAiImageApi;
+import org.springframework.ai.models.openai.OpenAiImageClient;
+import org.springframework.ai.models.openai.OpenAiImageOptions;
+import org.springframework.ai.image.ImagePrompt;
+import org.springframework.ai.image.ImageResponse;
import org.junit.Before;
import org.junit.Test;