diff --git a/controller/relay.go b/controller/relay.go index 0af8d48a4185..a8320f40c6f2 100644 --- a/controller/relay.go +++ b/controller/relay.go @@ -293,6 +293,10 @@ func shouldRetry(c *gin.Context, openaiErr *dto.OpenAIErrorWithStatusCode, retry if openaiErr.StatusCode == 307 { return true } + if strings.Contains(openaiErr.Error.Message, "deadline exceeded") || strings.Contains(openaiErr.Error.Message, "request canceled") { + common.LogInfo(c, "客户端请求下游超时,不再重试") + return false + } if openaiErr.StatusCode/100 == 5 { // 超时不重试 if openaiErr.StatusCode == 504 || openaiErr.StatusCode == 524 { @@ -314,10 +318,6 @@ func shouldRetry(c *gin.Context, openaiErr *dto.OpenAIErrorWithStatusCode, retry if openaiErr.StatusCode/100 == 2 { return false } - if strings.Contains(openaiErr.Error.Message, "deadline exceeded") || strings.Contains(openaiErr.Error.Message, "request canceled") { - common.LogInfo(c, "客户端请求下游超时,不再重试") - return false - } return true } diff --git a/service/error.go b/service/error.go index c76013496d71..6ff49f66169d 100644 --- a/service/error.go +++ b/service/error.go @@ -30,8 +30,7 @@ func OpenAIErrorWrapper(err error, code string, statusCode int) *dto.OpenAIError text := err.Error() lowerText := strings.ToLower(text) if strings.Contains(lowerText, "post") || strings.Contains(lowerText, "dial") || strings.Contains(lowerText, "http") { - common.SysLog(fmt.Sprintf("error: %s", text)) - text = "请求上游地址失败" + text = fmt.Sprintf("请求上游地址失败,错误信息:%s", text) } openAIError := dto.OpenAIError{ Message: text,