diff --git a/relay/channel/openai/relay-openai.go b/relay/channel/openai/relay-openai.go index bd39b904..d8b1aef3 100644 --- a/relay/channel/openai/relay-openai.go +++ b/relay/channel/openai/relay-openai.go @@ -65,8 +65,12 @@ func OaiStreamHandler(c *gin.Context, resp *http.Response, info *relaycommon.Rel scanner.Split(bufio.ScanLines) service.SetEventStreamHeaders(c) - - ticker := time.NewTicker(time.Duration(constant.StreamingTimeout) * time.Second) + streamingTimeout := time.Duration(constant.StreamingTimeout) * time.Second + if strings.HasPrefix(info.UpstreamModelName, "o1") || strings.HasPrefix(info.UpstreamModelName, "o3") { + // twice timeout for o1 model + streamingTimeout *= 2 + } + ticker := time.NewTicker(streamingTimeout) defer ticker.Stop() stopChan := make(chan bool)