From e087c9fe9efb313e7176f624de7f84a44c4c8982 Mon Sep 17 00:00:00 2001 From: CaIon Date: Tue, 26 Aug 2025 18:15:18 +0800 Subject: [PATCH] fix: update web search handling and request structure in adaptor and openai_request --- dto/openai_request.go | 16 +++++++++++----- relay/channel/baidu_v2/adaptor.go | 19 +++++++++++-------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/dto/openai_request.go b/dto/openai_request.go index ca503b259..cd05a63c9 100644 --- a/dto/openai_request.go +++ b/dto/openai_request.go @@ -57,18 +57,24 @@ type GeneralOpenAIRequest struct { Dimensions int `json:"dimensions,omitempty"` Modalities json.RawMessage `json:"modalities,omitempty"` Audio json.RawMessage `json:"audio,omitempty"` - EnableThinking any `json:"enable_thinking,omitempty"` // ali - THINKING json.RawMessage `json:"thinking,omitempty"` // doubao,zhipu_v4 - ExtraBody json.RawMessage `json:"extra_body,omitempty"` - SearchParameters any `json:"search_parameters,omitempty"` //xai - WebSearchOptions *WebSearchOptions `json:"web_search_options,omitempty"` + // gemini + ExtraBody json.RawMessage `json:"extra_body,omitempty"` + //xai + SearchParameters json.RawMessage `json:"search_parameters,omitempty"` + // claude + WebSearchOptions *WebSearchOptions `json:"web_search_options,omitempty"` // OpenRouter Params Usage json.RawMessage `json:"usage,omitempty"` Reasoning json.RawMessage `json:"reasoning,omitempty"` // Ali Qwen Params VlHighResolutionImages json.RawMessage `json:"vl_high_resolution_images,omitempty"` + EnableThinking any `json:"enable_thinking,omitempty"` // ollama Params Think json.RawMessage `json:"think,omitempty"` + // baidu v2 + WebSearch json.RawMessage `json:"web_search,omitempty"` + // doubao,zhipu_v4 + THINKING json.RawMessage `json:"thinking,omitempty"` } func (r *GeneralOpenAIRequest) GetTokenCountMeta() *types.TokenCountMeta { diff --git a/relay/channel/baidu_v2/adaptor.go b/relay/channel/baidu_v2/adaptor.go index 6744f8ba6..0577ebcb7 100644 --- a/relay/channel/baidu_v2/adaptor.go +++ b/relay/channel/baidu_v2/adaptor.go @@ -81,20 +81,23 @@ func (a *Adaptor) ConvertOpenAIRequest(c *gin.Context, info *relaycommon.RelayIn if strings.HasSuffix(info.UpstreamModelName, "-search") { info.UpstreamModelName = strings.TrimSuffix(info.UpstreamModelName, "-search") request.Model = info.UpstreamModelName - toMap := request.ToMap() - toMap["web_search"] = map[string]any{ - "enable": true, - "enable_citation": true, - "enable_trace": true, - "enable_status": false, + if len(request.WebSearch) == 0 { + toMap := request.ToMap() + toMap["web_search"] = map[string]any{ + "enable": true, + "enable_citation": true, + "enable_trace": true, + "enable_status": false, + } + return toMap, nil } - return toMap, nil + return request, nil } return request, nil } func (a *Adaptor) ConvertRerankRequest(c *gin.Context, relayMode int, request dto.RerankRequest) (any, error) { - return nil, nil + return nil, errors.New("not implemented") } func (a *Adaptor) ConvertEmbeddingRequest(c *gin.Context, info *relaycommon.RelayInfo, request dto.EmbeddingRequest) (any, error) {