diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/MsgHandler.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/MsgHandler.java index 6527371e..39182174 100644 --- a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/MsgHandler.java +++ b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/handler/MsgHandler.java @@ -8,6 +8,7 @@ import me.chanjar.weixin.cp.bean.message.WxCpXmlMessage; import me.chanjar.weixin.cp.bean.message.WxCpXmlOutMessage; import org.ruoyi.builder.TextBuilder; + import org.ruoyi.service.IChatVxService; import org.springframework.stereotype.Component; diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/IChatVxService.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/IChatVxService.java new file mode 100644 index 00000000..60ed4ff4 --- /dev/null +++ b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/IChatVxService.java @@ -0,0 +1,19 @@ +package org.ruoyi.service; + +/** + * 企业微信聊天管理Service接口 + * + * @author ageerle + * @date 2025-04-08 + */ +public interface IChatVxService { + + + /** + * 企业微信应用回复 + * @param prompt 提示词 + * @return 回复内容 + */ + String chat(String prompt); + +} diff --git a/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/impl/ChatVxServiceImpl.java b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/impl/ChatVxServiceImpl.java new file mode 100644 index 00000000..4ffe8d0c --- /dev/null +++ b/ruoyi-modules/ruoyi-wechat/src/main/java/org/ruoyi/service/impl/ChatVxServiceImpl.java @@ -0,0 +1,38 @@ +package org.ruoyi.service.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +import org.ruoyi.common.chat.entity.chat.ChatCompletion; +import org.ruoyi.common.chat.entity.chat.ChatCompletionResponse; +import org.ruoyi.common.chat.entity.chat.Message; +import org.ruoyi.common.chat.openai.OpenAiStreamClient; +import org.ruoyi.service.IChatVxService; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +@Slf4j +@RequiredArgsConstructor +public class ChatVxServiceImpl implements IChatVxService { + + private final OpenAiStreamClient openAiStreamClient; + + @Override + public String chat(String prompt) { + List messageList = new ArrayList<>(); + Message message = Message.builder().role(Message.Role.USER).content(prompt).build(); + messageList.add(message); + ChatCompletion chatCompletion = ChatCompletion + .builder() + .messages(messageList) + .model("gpt-4o-mini") + .stream(false) + .build(); + ChatCompletionResponse chatCompletionResponse = openAiStreamClient.chatCompletion(chatCompletion); + return chatCompletionResponse.getChoices().get(0).getMessage().getContent().toString(); + } + +}