From 00447c2617ad0557ecbc09a39649b1d99b87bc71 Mon Sep 17 00:00:00 2001 From: Zhong Liu Date: Wed, 12 Jun 2024 18:17:09 +0800 Subject: [PATCH] fix: Support for Spark Lite model --- relay/adaptor/xunfei/main.go | 22 ++++++++++------------ relay/adaptor/xunfei/model.go | 8 +++++--- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/relay/adaptor/xunfei/main.go b/relay/adaptor/xunfei/main.go index c3e768b7..04fc3a64 100644 --- a/relay/adaptor/xunfei/main.go +++ b/relay/adaptor/xunfei/main.go @@ -6,6 +6,12 @@ import ( "encoding/base64" "encoding/json" "fmt" + "io" + "net/http" + "net/url" + "strings" + "time" + "github.com/gin-gonic/gin" "github.com/gorilla/websocket" "github.com/songquanpeng/one-api/common" @@ -16,11 +22,6 @@ import ( "github.com/songquanpeng/one-api/relay/constant" "github.com/songquanpeng/one-api/relay/meta" "github.com/songquanpeng/one-api/relay/model" - "io" - "net/http" - "net/url" - "strings" - "time" ) // https://console.xfyun.cn/services/cbm @@ -28,11 +29,7 @@ import ( func requestOpenAI2Xunfei(request model.GeneralOpenAIRequest, xunfeiAppId string, domain string) *ChatRequest { messages := make([]Message, 0, len(request.Messages)) - var lastToolCalls []model.Tool for _, message := range request.Messages { - if message.ToolCalls != nil { - lastToolCalls = message.ToolCalls - } messages = append(messages, Message{ Role: message.Role, Content: message.StringContent(), @@ -45,9 +42,10 @@ func requestOpenAI2Xunfei(request model.GeneralOpenAIRequest, xunfeiAppId string xunfeiRequest.Parameter.Chat.TopK = request.N xunfeiRequest.Parameter.Chat.MaxTokens = request.MaxTokens xunfeiRequest.Payload.Message.Text = messages - if len(lastToolCalls) != 0 { - for _, toolCall := range lastToolCalls { - xunfeiRequest.Payload.Functions.Text = append(xunfeiRequest.Payload.Functions.Text, toolCall.Function) + + if strings.HasPrefix(domain, "generalv3") { + xunfeiRequest.Payload.Functions = &Functions{ + Text: request.Tools, } } diff --git a/relay/adaptor/xunfei/model.go b/relay/adaptor/xunfei/model.go index 97a43154..681c0c05 100644 --- a/relay/adaptor/xunfei/model.go +++ b/relay/adaptor/xunfei/model.go @@ -9,6 +9,10 @@ type Message struct { Content string `json:"content"` } +type Functions struct { + Text []model.Tool `json:"text,omitempty"` +} + type ChatRequest struct { Header struct { AppId string `json:"app_id"` @@ -26,9 +30,7 @@ type ChatRequest struct { Message struct { Text []Message `json:"text"` } `json:"message"` - Functions struct { - Text []model.Function `json:"text,omitempty"` - } `json:"functions,omitempty"` + Functions *Functions `json:"functions,omitempty"` } `json:"payload"` }