diff --git a/service/tongyi.go b/service/tongyi.go index 7f7e50f..b234b49 100644 --- a/service/tongyi.go +++ b/service/tongyi.go @@ -61,10 +61,10 @@ func Tongyi(modelParam proto.ModelParam, imCtx *proto.IMParamContext) { log.Println("tongyi stream err:", stream.Err()) } //将消息存入数据库 - DOSaveMessageAndToken(imCtx, answer, "tongyi", tokens, PromptTokens) + DoSaveMessageAndToken(imCtx, answer, "tongyi", tokens, PromptTokens) } -func DOSaveMessageAndToken(imCtx *proto.IMParamContext, answer, platform string, tokens, PromptTokens int64) { +func DoSaveMessageAndToken(imCtx *proto.IMParamContext, answer, platform string, tokens, PromptTokens int64) { msg := dao.Message{SessionID: imCtx.SessionID, FromID: imCtx.UserID, ToID: imCtx.ModelID, Msg: answer, Type: proto.ModelToUserMsgType, FunctionID: imCtx.FunctionID, Token: int(tokens), Status: proto.UserToModelMsgType} err2, msgID := dao.CreateMessageV2(msg) if err2 != nil { @@ -132,7 +132,7 @@ func TongyiToGeneralMassageAndSendMsgQueue(data *openai.ChatCompletionChunk, cha var apiMsg api.GenerateResponse apiMsg.Model = proto.ModelTypeSpark apiMsg.Response = data.Choices[0].Delta.Content - if data.Created < 0 { //这里由于没有返回结束标志,所以用该字段来判断 + if data.Created < 0 || data.Choices[0].FinishReason != "" { //这里由于没有返回结束标志,所以用该字段来判断 apiMsg.Done = true } else { apiMsg.Done = false