From c7498b768ca427ce10bf11b9b192a688b1974e33 Mon Sep 17 00:00:00 2001 From: CaIon Date: Sun, 10 Aug 2025 21:09:16 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20Update=20Azure=20responses?= =?UTF-8?q?=20API=20version=20handling=20in=20adaptor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- relay/channel/openai/adaptor.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/relay/channel/openai/adaptor.go b/relay/channel/openai/adaptor.go index e6b551b6..2a7193bc 100644 --- a/relay/channel/openai/adaptor.go +++ b/relay/channel/openai/adaptor.go @@ -129,10 +129,18 @@ func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error) { // 特殊处理 responses API if info.RelayMode == relayconstant.RelayModeResponses { responsesApiVersion := "preview" + + subUrl := "/openai/v1/responses" + if strings.Contains(info.BaseUrl, "cognitiveservices.azure.com") { + subUrl = "/openai/responses" + responsesApiVersion = apiVersion + } + if info.ChannelOtherSettings.AzureResponsesVersion != "" { responsesApiVersion = info.ChannelOtherSettings.AzureResponsesVersion } - requestURL = fmt.Sprintf("/openai/v1/responses?api-version=%s", responsesApiVersion) + + requestURL = fmt.Sprintf("%s?api-version=%s", subUrl, responsesApiVersion) return relaycommon.GetFullRequestURL(info.BaseUrl, requestURL, info.ChannelType), nil }