From 9d5d4eb4867bc540df71b5a973f1df3e911025f4 Mon Sep 17 00:00:00 2001 From: andie Date: Tue, 31 Oct 2023 14:52:02 +0800 Subject: [PATCH] improvement: azure api result transformation --- controller/relay-openai.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/controller/relay-openai.go b/controller/relay-openai.go index da593fe2..ae576c7d 100644 --- a/controller/relay-openai.go +++ b/controller/relay-openai.go @@ -40,6 +40,14 @@ func openaiStreamHandler(c *gin.Context, resp *http.Response, relayMode int) (*O if data[:6] != "data: " && data[:6] != "[DONE]" { continue } + // Ignore invalid results in the first line of azure api results. + if c.GetInt("channel") == common.ChannelTypeAzure && !strings.HasPrefix(data[6:], "[DONE]") { + var streamResponse ChatCompletionsStreamResponse + err := json.Unmarshal([]byte(data[6:]), &streamResponse) + if err == nil && streamResponse.Id == "" { + continue + } + } dataChan <- data data = data[6:] if !strings.HasPrefix(data, "[DONE]") {