refactor: simplify model prefix checks and update message role for o-series models
This commit is contained in:
@@ -186,7 +186,7 @@ func buildTestRequest(model string) *dto.GeneralOpenAIRequest {
|
|||||||
return testRequest
|
return testRequest
|
||||||
}
|
}
|
||||||
// 并非Embedding 模型
|
// 并非Embedding 模型
|
||||||
if strings.HasPrefix(model, "o1") || strings.HasPrefix(model, "o3") {
|
if strings.HasPrefix(model, "o") {
|
||||||
testRequest.MaxCompletionTokens = 10
|
testRequest.MaxCompletionTokens = 10
|
||||||
} else if strings.Contains(model, "thinking") {
|
} else if strings.Contains(model, "thinking") {
|
||||||
if !strings.Contains(model, "claude") {
|
if !strings.Contains(model, "claude") {
|
||||||
|
|||||||
@@ -147,14 +147,12 @@ func (a *Adaptor) ConvertOpenAIRequest(c *gin.Context, info *relaycommon.RelayIn
|
|||||||
if info.ChannelType != common.ChannelTypeOpenAI && info.ChannelType != common.ChannelTypeAzure {
|
if info.ChannelType != common.ChannelTypeOpenAI && info.ChannelType != common.ChannelTypeAzure {
|
||||||
request.StreamOptions = nil
|
request.StreamOptions = nil
|
||||||
}
|
}
|
||||||
if strings.HasPrefix(request.Model, "o1") || strings.HasPrefix(request.Model, "o3") {
|
if strings.HasPrefix(request.Model, "o") {
|
||||||
if request.MaxCompletionTokens == 0 && request.MaxTokens != 0 {
|
if request.MaxCompletionTokens == 0 && request.MaxTokens != 0 {
|
||||||
request.MaxCompletionTokens = request.MaxTokens
|
request.MaxCompletionTokens = request.MaxTokens
|
||||||
request.MaxTokens = 0
|
request.MaxTokens = 0
|
||||||
}
|
}
|
||||||
if strings.HasPrefix(request.Model, "o3") || strings.HasPrefix(request.Model, "o1") {
|
request.Temperature = nil
|
||||||
request.Temperature = nil
|
|
||||||
}
|
|
||||||
if strings.HasSuffix(request.Model, "-high") {
|
if strings.HasSuffix(request.Model, "-high") {
|
||||||
request.ReasoningEffort = "high"
|
request.ReasoningEffort = "high"
|
||||||
request.Model = strings.TrimSuffix(request.Model, "-high")
|
request.Model = strings.TrimSuffix(request.Model, "-high")
|
||||||
@@ -167,11 +165,13 @@ func (a *Adaptor) ConvertOpenAIRequest(c *gin.Context, info *relaycommon.RelayIn
|
|||||||
}
|
}
|
||||||
info.ReasoningEffort = request.ReasoningEffort
|
info.ReasoningEffort = request.ReasoningEffort
|
||||||
info.UpstreamModelName = request.Model
|
info.UpstreamModelName = request.Model
|
||||||
}
|
|
||||||
if request.Model == "o1" || request.Model == "o1-2024-12-17" || strings.HasPrefix(request.Model, "o3") {
|
// o系列模型developer适配(o1-mini除外)
|
||||||
//修改第一个Message的内容,将system改为developer
|
if !strings.HasPrefix(request.Model, "o1-mini") {
|
||||||
if len(request.Messages) > 0 && request.Messages[0].Role == "system" {
|
//修改第一个Message的内容,将system改为developer
|
||||||
request.Messages[0].Role = "developer"
|
if len(request.Messages) > 0 && request.Messages[0].Role == "system" {
|
||||||
|
request.Messages[0].Role = "developer"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ func InitTokenEncoders() {
|
|||||||
} else {
|
} else {
|
||||||
tokenEncoderMap[model] = defaultTokenEncoder
|
tokenEncoderMap[model] = defaultTokenEncoder
|
||||||
}
|
}
|
||||||
} else if strings.HasPrefix(model, "o1") {
|
} else if strings.HasPrefix(model, "o") {
|
||||||
tokenEncoderMap[model] = o200kTokenEncoder
|
tokenEncoderMap[model] = o200kTokenEncoder
|
||||||
} else {
|
} else {
|
||||||
tokenEncoderMap[model] = defaultTokenEncoder
|
tokenEncoderMap[model] = defaultTokenEncoder
|
||||||
|
|||||||
Reference in New Issue
Block a user