fix(小程序): 1. 修复小程序一直停留在加载页面 2. 修复小程序无法正常对话

This commit is contained in:
ageer
2025-03-28 22:25:32 +08:00
parent 065ff3bed0
commit bd6f8a9558
6 changed files with 30 additions and 18 deletions

View File

@@ -61,7 +61,7 @@ public class PlusWebSocketHandler extends AbstractWebSocketHandler {
}
ChatCompletion chatCompletion = ChatCompletion
.builder()
.model(ChatCompletion.Model.GPT_3_5_TURBO.getName())
.model("gpt-4o-mini")
.messages(messages)
.temperature(0.2)
.stream(true)

View File

@@ -9,6 +9,7 @@ import okhttp3.sse.EventSource;
import okhttp3.sse.EventSourceListener;
import org.ruoyi.common.chat.constant.OpenAIConst;
import org.ruoyi.common.chat.entity.chat.ChatCompletionResponse;
import org.ruoyi.common.chat.entity.chat.Message;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
@@ -57,7 +58,12 @@ public class WebSocketEventListener extends EventSourceListener {
ObjectMapper mapper = new ObjectMapper();
// 读取Json
ChatCompletionResponse completionResponse = mapper.readValue(data, ChatCompletionResponse.class);
String delta = mapper.writeValueAsString(completionResponse.getChoices().get(0).getDelta());
String delta = "";
try {
delta = mapper.writeValueAsString(completionResponse.getChoices().get(0).getDelta());
}catch (Exception e){
log.error("转换失败{}",e.getMessage());
}
session.sendMessage(new TextMessage(delta));
}
@@ -75,18 +81,9 @@ public class WebSocketEventListener extends EventSourceListener {
return;
}
ResponseBody body = response.body();
if (Objects.nonNull(body)) {
// 返回非流式回复内容
if(response.code() == OpenAIConst.SUCCEED_CODE){
ObjectMapper mapper = new ObjectMapper();
ChatCompletionResponse completionResponse = mapper.readValue(body.string(), ChatCompletionResponse.class);
String delta = mapper.writeValueAsString(completionResponse.getChoices().get(0).getMessage().getContent());
session.sendMessage(new TextMessage(delta));
}else {
log.error("Socket连接异常data{},异常:{}", body.string(), t);
}
log.error("Socket连接异常data{},异常:{}", body.string(), t);
} else {
log.error("Socket连接异常data{},异常:{}", response, t);
}

View File

@@ -37,6 +37,12 @@ public class ChatMessage extends BaseEntity {
@NotBlank(message = "用户ID", groups = { AddGroup.class, EditGroup.class })
private Long UserId;
/**
* 对话角色
*/
private String role;
/**
* 消息内容
*/

View File

@@ -30,13 +30,17 @@ public class ChatMessageBo extends BaseEntity {
/**
* 用户ID
*/
@NotBlank(message = "用户ID", groups = { AddGroup.class, EditGroup.class })
private Long UserId;
private Long userId;
/**
* 用户名称
*/
private String UserName;
private String userName;
/**
* 对话角色
*/
private String role;
/**
* 消息内容
@@ -52,19 +56,16 @@ public class ChatMessageBo extends BaseEntity {
/**
* 累计 Tokens
*/
@NotNull(message = "累计 Tokens不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer totalTokens;
/**
* 模型名称
*/
@NotBlank(message = "模型名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String modelName;
/**
* 备注
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark;
}

View File

@@ -46,6 +46,12 @@ public class ChatMessageVo implements Serializable {
@NotBlank(message = "用户名称")
private String userName;
/**
* 对话角色
*/
private String role;
/**
* 消息内容
*/

View File

@@ -0,0 +1,2 @@
ALTER TABLE `chat_message`
ADD COLUMN `role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '对话角色' AFTER `content`;