diff --git a/api/handler/chatimpl/chat_handler.go b/api/handler/chatimpl/chat_handler.go index d56d00aa..ebbf9f2a 100644 --- a/api/handler/chatimpl/chat_handler.go +++ b/api/handler/chatimpl/chat_handler.go @@ -252,15 +252,17 @@ func (h *ChatHandler) sendMessage(ctx context.Context, session *types.ChatSessio // loading the role context var messages []types.Message - err := utils.JsonDecode(role.Context, &messages) - if err == nil { - for _, v := range messages { - tks, _ := utils.CalcTokens(v.Content, req.Model) - if tokens+tks >= types.ModelToTokens[req.Model] { - break + if len(messages) > 0 { + err := utils.JsonDecode(role.Context, &messages) + if err == nil { + for _, v := range messages { + tks, _ := utils.CalcTokens(v.Content, req.Model) + if tokens+tks >= types.ModelToTokens[req.Model] { + break + } + tokens += tks + chatCtx = append(chatCtx, v) } - tokens += tks - chatCtx = append(chatCtx, v) } }