修复ollama会话背景未保存问题

This commit is contained in:
junleea 2025-03-25 14:55:33 +08:00
parent d0d9cbd294
commit 746df74b83
1 changed files with 7 additions and 6 deletions

View File

@ -107,6 +107,7 @@ func subscribeAndHandleIMMessages(ws *websocket.Conn, userId int) {
//defer ticker.Stop()
var sessionID uint
sessionID = 0
//接收客户端消息,发送消息
done := make(chan struct{})
@ -124,7 +125,7 @@ func subscribeAndHandleIMMessages(ws *websocket.Conn, userId int) {
if err1 != nil {
log.Println("Error parsing JSON:", err1)
}
err = doReceiveGenChatMessage(userId, sessionID, &data)
err = doReceiveGenChatMessage(userId, &sessionID, &data)
if err != nil {
log.Println("do receive gen chat message error:", err)
return
@ -182,12 +183,12 @@ func subscribeAndHandleIMMessages(ws *websocket.Conn, userId int) {
}
func doReceiveGenChatMessage(userId int, sessionID uint, data *proto.WSMessageReq) error {
func doReceiveGenChatMessage(userId int, sessionID *uint, data *proto.WSMessageReq) error {
var err error
chanel := "user_" + strconv.Itoa(userId) + "_ai_chat_msg"
if sessionID == 0 {
if *sessionID == 0 {
//创建会话
err, sessionID = service.CreateSession(userId, data.Msg)
err, *sessionID = service.CreateSession(userId, data.Msg)
log.Println("create session id:", sessionID)
if err != nil {
log.Println("Create session error:", err)
@ -210,12 +211,12 @@ func doReceiveGenChatMessage(userId int, sessionID uint, data *proto.WSMessageRe
var userMsgID uint
//将消息存入数据库
err, userMsgID = service.CreateMessage(proto.UserAndModelMsgType, int(sessionID), userId, int(model.ID), data.Msg, proto.MsgHasRead)
err, userMsgID = service.CreateMessage(proto.UserAndModelMsgType, int(*sessionID), userId, int(model.ID), data.Msg, proto.MsgHasRead)
log.Println("create user message id:", userMsgID)
if err != nil {
return err
} //机器人id为2,消息类型为1,状态为1
//需要后续处理
err, _ = service.WSReceiveMessageService(userId, int(sessionID), chanel, *data, model, modelParam)
err, _ = service.WSReceiveMessageService(userId, int(*sessionID), chanel, *data, model, modelParam)
return err
}