mirror of
https://github.com/linux-do/new-api.git
synced 2025-11-09 23:53:41 +08:00
feat: 初步兼容敏感词过滤
This commit is contained in:
@@ -1,27 +1,26 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"one-api/dto"
|
||||
"one-api/relay/constant"
|
||||
)
|
||||
|
||||
func GetPromptTokens(textRequest dto.GeneralOpenAIRequest, relayMode int) (int, error) {
|
||||
switch relayMode {
|
||||
case constant.RelayModeChatCompletions:
|
||||
return CountTokenMessages(textRequest.Messages, textRequest.Model)
|
||||
case constant.RelayModeCompletions:
|
||||
return CountTokenInput(textRequest.Prompt, textRequest.Model), nil
|
||||
case constant.RelayModeModerations:
|
||||
return CountTokenInput(textRequest.Input, textRequest.Model), nil
|
||||
}
|
||||
return 0, errors.New("unknown relay mode")
|
||||
}
|
||||
//func GetPromptTokens(textRequest dto.GeneralOpenAIRequest, relayMode int) (int, error) {
|
||||
// switch relayMode {
|
||||
// case constant.RelayModeChatCompletions:
|
||||
// return CountTokenMessages(textRequest.Messages, textRequest.Model)
|
||||
// case constant.RelayModeCompletions:
|
||||
// return CountTokenInput(textRequest.Prompt, textRequest.Model), nil
|
||||
// case constant.RelayModeModerations:
|
||||
// return CountTokenInput(textRequest.Input, textRequest.Model), nil
|
||||
// }
|
||||
// return 0, errors.New("unknown relay mode")
|
||||
//}
|
||||
|
||||
func ResponseText2Usage(responseText string, modeName string, promptTokens int) *dto.Usage {
|
||||
func ResponseText2Usage(responseText string, modeName string, promptTokens int) (*dto.Usage, error) {
|
||||
usage := &dto.Usage{}
|
||||
usage.PromptTokens = promptTokens
|
||||
usage.CompletionTokens = CountTokenText(responseText, modeName)
|
||||
ctkm, err := CountTokenText(responseText, modeName, false)
|
||||
usage.CompletionTokens = ctkm
|
||||
usage.TotalTokens = usage.PromptTokens + usage.CompletionTokens
|
||||
return usage
|
||||
return usage, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user