From 6bf99f218c244e83f57823a052a32378f24566b9 Mon Sep 17 00:00:00 2001 From: "1808837298@qq.com" <1808837298@qq.com> Date: Sat, 15 Feb 2025 00:10:58 +0800 Subject: [PATCH] feat: Enhance VolcEngine channel support with bot model routing (fix #757) --- relay/channel/openai/relay-openai.go | 2 +- relay/channel/volcengine/adaptor.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/relay/channel/openai/relay-openai.go b/relay/channel/openai/relay-openai.go index 64972074..6c9359f3 100644 --- a/relay/channel/openai/relay-openai.go +++ b/relay/channel/openai/relay-openai.go @@ -90,7 +90,7 @@ func OaiStreamHandler(c *gin.Context, resp *http.Response, info *relaycommon.Rel if len(data) < 6 { // ignore blank line or wrong format continue } - if data[:5] != "data: " && data[:6] != "[DONE]" { + if data[:5] != "data:" && data[:6] != "[DONE]" { continue } mu.Lock() diff --git a/relay/channel/volcengine/adaptor.go b/relay/channel/volcengine/adaptor.go index 8cffebba..3b57c67c 100644 --- a/relay/channel/volcengine/adaptor.go +++ b/relay/channel/volcengine/adaptor.go @@ -11,6 +11,7 @@ import ( "one-api/relay/channel/openai" relaycommon "one-api/relay/common" "one-api/relay/constant" + "strings" ) type Adaptor struct { @@ -32,6 +33,9 @@ func (a *Adaptor) Init(info *relaycommon.RelayInfo) { func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error) { switch info.RelayMode { case constant.RelayModeChatCompletions: + if strings.HasPrefix(info.UpstreamModelName, "bot") { + return fmt.Sprintf("%s/api/v3/bots/chat/completions", info.BaseUrl), nil + } return fmt.Sprintf("%s/api/v3/chat/completions", info.BaseUrl), nil case constant.RelayModeEmbeddings: return fmt.Sprintf("%s/api/v3/embeddings", info.BaseUrl), nil