| package service |
|
|
| import ( |
| "github.com/QuantumNous/new-api/common" |
| "github.com/QuantumNous/new-api/constant" |
| "github.com/QuantumNous/new-api/dto" |
| "github.com/gin-gonic/gin" |
| ) |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| func ResponseText2Usage(c *gin.Context, responseText string, modeName string, promptTokens int) *dto.Usage { |
| common.SetContextKey(c, constant.ContextKeyLocalCountTokens, true) |
| usage := &dto.Usage{} |
| usage.PromptTokens = promptTokens |
| usage.CompletionTokens = EstimateTokenByModel(modeName, responseText) |
| usage.TotalTokens = usage.PromptTokens + usage.CompletionTokens |
| return usage |
| } |
|
|
| func ValidUsage(usage *dto.Usage) bool { |
| return usage != nil && (usage.PromptTokens != 0 || usage.CompletionTokens != 0) |
| } |
|
|