抱歉,经测试这样才没有问题

This commit is contained in:
sijinhui
2025-02-21 22:51:53 +08:00
parent 4625aa9fa8
commit 33fd5d5913

View File

@@ -19,7 +19,7 @@ import (
)
const (
dataPrefix = "data: "
dataPrefix = "data:"
done = "[DONE]"
dataPrefixLength = len(dataPrefix)
)
@@ -38,15 +38,17 @@ func StreamHandler(c *gin.Context, resp *http.Response, relayMode int) (*model.E
if len(data) < dataPrefixLength { // ignore blank line or wrong format
continue
}
if data[:dataPrefixLength] != dataPrefix {
if strings.HasPrefix(data, done) {
render.StringData(c, data)
doneRendered = true
}
continue
if data[:dataPrefixLength] != dataPrefix && data[:dataPrefixLength] != done {
continue
} else {
payload := strings.TrimLeft(data[len(dataPrefix):], " ")
// 这里处理标准的data:开头,标准化为 data: + 单空格格式
data = dataPrefix + " " + strings.TrimLeft(data[len(dataPrefix):], " ")
if strings.HasPrefix(payload, done) {
render.StringData(c, data)
doneRendered = true
continue
}
}
switch relayMode {
case relaymode.ChatCompletions: