From 35277f2b4a85bb08f3842c66f40f01c06b43ec5c Mon Sep 17 00:00:00 2001 From: HynoR <20227709+HynoR@users.noreply.github.com> Date: Fri, 20 Dec 2024 22:07:53 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=E9=80=82=E9=85=8Do1=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dto/openai_request.go | 1 + relay/channel/openai/adaptor.go | 10 +++++++++- relay/channel/openai/constant.go | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/dto/openai_request.go b/dto/openai_request.go index da14cdfe..5d0419fe 100644 --- a/dto/openai_request.go +++ b/dto/openai_request.go @@ -14,6 +14,7 @@ type GeneralOpenAIRequest struct { StreamOptions *StreamOptions `json:"stream_options,omitempty"` MaxTokens uint `json:"max_tokens,omitempty"` MaxCompletionTokens uint `json:"max_completion_tokens,omitempty"` + ReasoningEffort string `json:"reasoning_effort,omitempty"` Temperature float64 `json:"temperature,omitempty"` TopP float64 `json:"top_p,omitempty"` TopK int `json:"top_k,omitempty"` diff --git a/relay/channel/openai/adaptor.go b/relay/channel/openai/adaptor.go index 9c4369dc..52ab542d 100644 --- a/relay/channel/openai/adaptor.go +++ b/relay/channel/openai/adaptor.go @@ -109,12 +109,20 @@ func (a *Adaptor) ConvertRequest(c *gin.Context, info *relaycommon.RelayInfo, re if info.ChannelType != common.ChannelTypeOpenAI { request.StreamOptions = nil } - if strings.HasPrefix(request.Model, "o1-") { + if strings.HasPrefix(request.Model, "o1") { if request.MaxCompletionTokens == 0 && request.MaxTokens != 0 { request.MaxCompletionTokens = request.MaxTokens request.MaxTokens = 0 } } + if request.Model == "o1" || request.Model == "o1-2024-12-17" { + //修改第一个Message的内容,将system改为developer + if len(request.Messages) > 0 { + if request.Messages[0].Role == "system" { + request.Messages[0].Role = "developer" + } + } + } return request, nil } diff --git a/relay/channel/openai/constant.go b/relay/channel/openai/constant.go index 400121b1..5af47522 100644 --- a/relay/channel/openai/constant.go +++ b/relay/channel/openai/constant.go @@ -13,6 +13,7 @@ var ModelList = []string{ "gpt-4o-mini", "gpt-4o-mini-2024-07-18", "o1-preview", "o1-preview-2024-09-12", "o1-mini", "o1-mini-2024-09-12", + "o1", "o1-2024-12-17", "gpt-4o-audio-preview", "gpt-4o-audio-preview-2024-10-01", "gpt-4o-realtime-preview", "gpt-4o-realtime-preview-2024-10-01", "text-embedding-ada-002", "text-embedding-3-small", "text-embedding-3-large", From 0b1ba2eeb98d40f8486d8285f356ae2ee76efa5b Mon Sep 17 00:00:00 2001 From: HynoR <20227709+HynoR@users.noreply.github.com> Date: Fri, 20 Dec 2024 22:07:53 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=E9=80=82=E9=85=8Do1=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/model-ratio.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/model-ratio.go b/common/model-ratio.go index fff2ebca..e9cabfe2 100644 --- a/common/model-ratio.go +++ b/common/model-ratio.go @@ -46,6 +46,8 @@ var defaultModelRatio = map[string]float64{ "gpt-4o-2024-08-06": 1.25, // $2.5 / 1M tokens "gpt-4o-2024-11-20": 1.25, // $2.5 / 1M tokens "gpt-4o-realtime-preview": 2.5, + "o1": 7.5, + "o1-2024-12-17": 7.5, "o1-preview": 7.5, "o1-preview-2024-09-12": 7.5, "o1-mini": 1.5, From 1fa478af20ec9b7892bca6a9daaaf34599805ca9 Mon Sep 17 00:00:00 2001 From: HynoR <20227709+HynoR@users.noreply.github.com> Date: Fri, 20 Dec 2024 23:14:10 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20=E9=80=82=E9=85=8Do1=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- relay/channel/openai/adaptor.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/relay/channel/openai/adaptor.go b/relay/channel/openai/adaptor.go index 52ab542d..27a79f8e 100644 --- a/relay/channel/openai/adaptor.go +++ b/relay/channel/openai/adaptor.go @@ -117,12 +117,11 @@ func (a *Adaptor) ConvertRequest(c *gin.Context, info *relaycommon.RelayInfo, re } if request.Model == "o1" || request.Model == "o1-2024-12-17" { //修改第一个Message的内容,将system改为developer - if len(request.Messages) > 0 { - if request.Messages[0].Role == "system" { - request.Messages[0].Role = "developer" - } + if len(request.Messages) > 0 && request.Messages[0].Role == "system" { + request.Messages[0].Role = "developer" } } + return request, nil }