28e53d90fc
- 统一 OpenAI 兼容 /v1 中继 + 渠道/额度/令牌/流水 - 各领域包:relay 模型网关、model 数据层、controller 管理 API
42 lines
826 B
Go
42 lines
826 B
Go
package reasonmap
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"github.com/QuantumNous/new-api/relaykit/types"
|
|
)
|
|
|
|
func ClaudeStopReasonToOpenAIFinishReason(stopReason string) string {
|
|
switch strings.ToLower(stopReason) {
|
|
case "stop_sequence":
|
|
return "stop"
|
|
case "end_turn":
|
|
return "stop"
|
|
case "max_tokens":
|
|
return "length"
|
|
case "tool_use":
|
|
return "tool_calls"
|
|
case "refusal":
|
|
return types.FinishReasonContentFilter
|
|
default:
|
|
return stopReason
|
|
}
|
|
}
|
|
|
|
func OpenAIFinishReasonToClaudeStopReason(finishReason string) string {
|
|
switch strings.ToLower(finishReason) {
|
|
case "stop":
|
|
return "end_turn"
|
|
case "stop_sequence":
|
|
return "stop_sequence"
|
|
case "length", "max_tokens":
|
|
return "max_tokens"
|
|
case types.FinishReasonContentFilter:
|
|
return "refusal"
|
|
case "tool_calls":
|
|
return "tool_use"
|
|
default:
|
|
return finishReason
|
|
}
|
|
}
|