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 }