mirror of
https://gitcode.com/ageerle/ruoyi-ai.git
synced 2026-03-14 05:03:43 +08:00
feat: 对话时记录对话角色
This commit is contained in:
@@ -67,6 +67,12 @@ public class ChatRequest {
|
||||
*/
|
||||
private String appId;
|
||||
|
||||
/**
|
||||
* 对话角色
|
||||
*/
|
||||
private String role;
|
||||
|
||||
|
||||
/**
|
||||
* 上下文的条数
|
||||
*/
|
||||
|
||||
@@ -5,14 +5,15 @@ import java.math.BigDecimal;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.ruoyi.domain.ChatMessage;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
/**
|
||||
@@ -83,4 +84,11 @@ public class ChatMessageVo implements Serializable {
|
||||
private String remark;
|
||||
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -12,8 +12,8 @@ import okhttp3.sse.EventSource;
|
||||
import okhttp3.sse.EventSourceListener;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.ruoyi.chat.service.chat.IChatCostService;
|
||||
import org.ruoyi.chat.util.SSEUtil;
|
||||
import org.ruoyi.common.chat.entity.chat.ChatCompletionResponse;
|
||||
import org.ruoyi.common.chat.entity.chat.Message;
|
||||
import org.ruoyi.common.chat.request.ChatRequest;
|
||||
import org.ruoyi.common.core.utils.SpringUtils;
|
||||
import org.ruoyi.common.core.utils.StringUtils;
|
||||
@@ -67,6 +67,8 @@ public class SSEEventSourceListener extends EventSourceListener {
|
||||
emitter.complete();
|
||||
// 扣除费用
|
||||
ChatRequest chatRequest = new ChatRequest();
|
||||
// 设置对话角色
|
||||
chatRequest.setRole(Message.Role.ASSISTANT.getName());
|
||||
chatRequest.setModel(modelName);
|
||||
chatRequest.setPrompt(stringBuffer.toString());
|
||||
chatCostService.deductToken(chatRequest);
|
||||
|
||||
@@ -90,6 +90,8 @@ public class SseServiceImpl implements ISseService {
|
||||
chatRequest.setSessionId(chatSessionBo.getId());
|
||||
}
|
||||
LocalCache.CACHE.put("sessionId", chatRequest.getSessionId());
|
||||
// 设置对话角色
|
||||
chatRequest.setRole(Message.Role.USER.getName());
|
||||
// 保存消息记录 并扣除费用
|
||||
chatCostService.deductToken(chatRequest);
|
||||
// 根据模型分类调用不同的处理逻辑
|
||||
|
||||
Reference in New Issue
Block a user