|
|
@@ -182,7 +182,7 @@ func TextHelper(c *gin.Context) *dto.OpenAIErrorWithStatusCode {
|
|
|
service.ResetStatusCode(openaiErr, statusCodeMappingStr)
|
|
|
return openaiErr
|
|
|
}
|
|
|
- postConsumeQuota(c, relayInfo, *textRequest, usage, ratio, preConsumedQuota, userQuota, modelRatio, groupRatio, modelPrice, success)
|
|
|
+ postConsumeQuota(c, relayInfo, textRequest.Model, usage, ratio, preConsumedQuota, userQuota, modelRatio, groupRatio, modelPrice, success)
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
@@ -272,7 +272,7 @@ func returnPreConsumedQuota(c *gin.Context, tokenId int, userQuota int, preConsu
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func postConsumeQuota(ctx *gin.Context, relayInfo *relaycommon.RelayInfo, textRequest dto.GeneralOpenAIRequest,
|
|
|
+func postConsumeQuota(ctx *gin.Context, relayInfo *relaycommon.RelayInfo, modelName string,
|
|
|
usage *dto.Usage, ratio float64, preConsumedQuota int, userQuota int, modelRatio float64, groupRatio float64,
|
|
|
modelPrice float64, usePrice bool) {
|
|
|
|
|
|
@@ -281,7 +281,7 @@ func postConsumeQuota(ctx *gin.Context, relayInfo *relaycommon.RelayInfo, textRe
|
|
|
completionTokens := usage.CompletionTokens
|
|
|
|
|
|
tokenName := ctx.GetString("token_name")
|
|
|
- completionRatio := common.GetCompletionRatio(textRequest.Model)
|
|
|
+ completionRatio := common.GetCompletionRatio(modelName)
|
|
|
|
|
|
quota := 0
|
|
|
if !usePrice {
|
|
|
@@ -307,7 +307,8 @@ func postConsumeQuota(ctx *gin.Context, relayInfo *relaycommon.RelayInfo, textRe
|
|
|
// we cannot just return, because we may have to return the pre-consumed quota
|
|
|
quota = 0
|
|
|
logContent += fmt.Sprintf("(可能是上游超时)")
|
|
|
- common.LogError(ctx, fmt.Sprintf("total tokens is 0, cannot consume quota, userId %d, channelId %d, tokenId %d, model %s, pre-consumed quota %d", relayInfo.UserId, relayInfo.ChannelId, relayInfo.TokenId, textRequest.Model, preConsumedQuota))
|
|
|
+ common.LogError(ctx, fmt.Sprintf("total tokens is 0, cannot consume quota, userId %d, channelId %d, "+
|
|
|
+ "tokenId %d, model %s, pre-consumed quota %d", relayInfo.UserId, relayInfo.ChannelId, relayInfo.TokenId, modelName, preConsumedQuota))
|
|
|
} else {
|
|
|
//if sensitiveResp != nil {
|
|
|
// logContent += fmt.Sprintf(",敏感词:%s", strings.Join(sensitiveResp.SensitiveWords, ", "))
|
|
|
@@ -327,13 +328,14 @@ func postConsumeQuota(ctx *gin.Context, relayInfo *relaycommon.RelayInfo, textRe
|
|
|
model.UpdateChannelUsedQuota(relayInfo.ChannelId, quota)
|
|
|
}
|
|
|
|
|
|
- logModel := textRequest.Model
|
|
|
+ logModel := modelName
|
|
|
if strings.HasPrefix(logModel, "gpt-4-gizmo") {
|
|
|
logModel = "gpt-4-gizmo-*"
|
|
|
- logContent += fmt.Sprintf(",模型 %s", textRequest.Model)
|
|
|
+ logContent += fmt.Sprintf(",模型 %s", modelName)
|
|
|
}
|
|
|
other := service.GenerateTextOtherInfo(ctx, relayInfo, modelRatio, groupRatio, completionRatio, modelPrice)
|
|
|
- model.RecordConsumeLog(ctx, relayInfo.UserId, relayInfo.ChannelId, promptTokens, completionTokens, logModel, tokenName, quota, logContent, relayInfo.TokenId, userQuota, int(useTimeSeconds), relayInfo.IsStream, other)
|
|
|
+ model.RecordConsumeLog(ctx, relayInfo.UserId, relayInfo.ChannelId, promptTokens, completionTokens, logModel,
|
|
|
+ tokenName, quota, logContent, relayInfo.TokenId, userQuota, int(useTimeSeconds), relayInfo.IsStream, other)
|
|
|
|
|
|
//if quota != 0 {
|
|
|
//
|