diff --git a/constant/azure.go b/constant/azure.go
new file mode 100644
index 00000000..d84040ce
--- /dev/null
+++ b/constant/azure.go
@@ -0,0 +1,5 @@
+package constant
+
+import "time"
+
+var AzureNoRemoveDotTime = time.Date(2025, time.May, 10, 0, 0, 0, 0, time.UTC).Unix()
diff --git a/middleware/distributor.go b/middleware/distributor.go
index 51fd8fd1..34882381 100644
--- a/middleware/distributor.go
+++ b/middleware/distributor.go
@@ -213,6 +213,7 @@ func SetupContextForSelectedChannel(c *gin.Context, channel *model.Channel, mode
c.Set("channel_id", channel.Id)
c.Set("channel_name", channel.Name)
c.Set("channel_type", channel.Type)
+ c.Set("channel_create_time", channel.CreatedTime)
c.Set("channel_setting", channel.GetSetting())
c.Set("param_override", channel.GetParamOverride())
if nil != channel.OpenAIOrganization && "" != *channel.OpenAIOrganization {
diff --git a/relay/channel/openai/adaptor.go b/relay/channel/openai/adaptor.go
index c81b9366..da92692b 100644
--- a/relay/channel/openai/adaptor.go
+++ b/relay/channel/openai/adaptor.go
@@ -8,6 +8,7 @@ import (
"io"
"mime/multipart"
"net/http"
+ "net/textproto"
"one-api/common"
constant2 "one-api/constant"
"one-api/dto"
@@ -25,8 +26,6 @@ import (
"path/filepath"
"strings"
- "net/textproto"
-
"github.com/gin-gonic/gin"
)
@@ -93,7 +92,10 @@ func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error) {
requestURL = fmt.Sprintf("%s?api-version=%s", requestURL, apiVersion)
task := strings.TrimPrefix(requestURL, "/v1/")
model_ := info.UpstreamModelName
- model_ = strings.Replace(model_, ".", "", -1)
+ // 2025年5月10日后创建的渠道不移除.
+ if info.ChannelCreateTime < constant2.AzureNoRemoveDotTime {
+ model_ = strings.Replace(model_, ".", "", -1)
+ }
// https://github.com/songquanpeng/one-api/issues/67
requestURL = fmt.Sprintf("/openai/deployments/%s/%s", model_, task)
if info.RelayMode == constant.RelayModeRealtime {
diff --git a/relay/common/relay_info.go b/relay/common/relay_info.go
index 04e28980..f4fc3c1e 100644
--- a/relay/common/relay_info.go
+++ b/relay/common/relay_info.go
@@ -98,6 +98,7 @@ type RelayInfo struct {
UserQuota int
RelayFormat string
SendResponseCount int
+ ChannelCreateTime int64
ThinkingContentInfo
*ClaudeConvertInfo
*RerankerInfo
@@ -209,14 +210,15 @@ func GenRelayInfo(c *gin.Context) *RelayInfo {
OriginModelName: c.GetString("original_model"),
UpstreamModelName: c.GetString("original_model"),
//RecodeModelName: c.GetString("original_model"),
- IsModelMapped: false,
- ApiType: apiType,
- ApiVersion: c.GetString("api_version"),
- ApiKey: strings.TrimPrefix(c.Request.Header.Get("Authorization"), "Bearer "),
- Organization: c.GetString("channel_organization"),
- ChannelSetting: channelSetting,
- ParamOverride: paramOverride,
- RelayFormat: RelayFormatOpenAI,
+ IsModelMapped: false,
+ ApiType: apiType,
+ ApiVersion: c.GetString("api_version"),
+ ApiKey: strings.TrimPrefix(c.Request.Header.Get("Authorization"), "Bearer "),
+ Organization: c.GetString("channel_organization"),
+ ChannelSetting: channelSetting,
+ ChannelCreateTime: c.GetInt64("channel_create_time"),
+ ParamOverride: paramOverride,
+ RelayFormat: RelayFormatOpenAI,
ThinkingContentInfo: ThinkingContentInfo{
IsFirstThinkingContent: true,
SendLastThinkingContent: false,
diff --git a/web/src/i18n/locales/en.json b/web/src/i18n/locales/en.json
index e9975f61..eedf1196 100644
--- a/web/src/i18n/locales/en.json
+++ b/web/src/i18n/locales/en.json
@@ -493,6 +493,7 @@
"默认": "default",
"图片演示": "Image demo",
"注意,系统请求的时模型名称中的点会被剔除,例如:gpt-4.1会请求为gpt-41,所以在Azure部署的时候,部署模型名称需要手动改为gpt-41": "Note that the dot in the model name requested by the system will be removed, for example: gpt-4.1 will be requested as gpt-41, so when deploying on Azure, the deployment model name needs to be manually changed to gpt-41",
+ "2025年5月10日后添加的渠道,不需要再在部署的时候移除模型名称中的\".\"": "After May 10, 2025, channels added do not need to remove the dot in the model name during deployment",
"模型映射必须是合法的 JSON 格式!": "Model mapping must be in valid JSON format!",
"取消无限额度": "Cancel unlimited quota",
"取消": "Cancel",
diff --git a/web/src/pages/Channel/EditChannel.js b/web/src/pages/Channel/EditChannel.js
index a793e149..cba787fc 100644
--- a/web/src/pages/Channel/EditChannel.js
+++ b/web/src/pages/Channel/EditChannel.js
@@ -477,24 +477,24 @@ const EditChannel = (props) => {
type={'warning'}
description={
<>
- {t('注意,系统请求的时模型名称中的点会被剔除,例如:gpt-4.1会请求为gpt-41,所以在Azure部署的时候,部署模型名称需要手动改为gpt-41')}
-
- {
- setModalImageUrl(
- '/azure_model_name.png',
- );
- setIsModalOpenurl(true)
+ {t('2025年5月10日后添加的渠道,不需要再在部署的时候移除模型名称中的"."')}
+ {/*
*/}
+ {/* {*/}
+ {/* setModalImageUrl(*/}
+ {/* '/azure_model_name.png',*/}
+ {/* );*/}
+ {/* setIsModalOpenurl(true)*/}
- }}
- >
- {t('查看示例')}
-
+ {/* }}*/}
+ {/*>*/}
+ {/* {t('查看示例')}*/}
+ {/**/}
>
}
>