diff --git a/relay/controller/text.go b/relay/controller/text.go index 0e018651..23e94234 100644 --- a/relay/controller/text.go +++ b/relay/controller/text.go @@ -6,6 +6,7 @@ import ( "fmt" "io" "net/http" + "strings" "github.com/gin-gonic/gin" "github.com/songquanpeng/one-api/common/logger" @@ -87,7 +88,7 @@ func RelayTextHelper(c *gin.Context) *model.ErrorWithStatusCode { return openai.ErrorWrapper(err, "do_request_failed", http.StatusInternalServerError) } if resp != nil { - errorHappened := (resp.StatusCode != http.StatusOK) || (meta.IsStream && resp.Header.Get("Content-Type") == "application/json") + errorHappened := (resp.StatusCode != http.StatusOK) || (meta.IsStream && strings.HasPrefix(resp.Header.Get("Content-Type"), "application/json")) if errorHappened { billing.ReturnPreConsumedQuota(ctx, preConsumedQuota, meta.TokenId) return RelayErrorHandler(resp)