HynoR 1 год назад
Родитель
Сommit
35277f2b4a
3 измененных файлов с 11 добавлено и 1 удалено
  1. 1 0
      dto/openai_request.go
  2. 9 1
      relay/channel/openai/adaptor.go
  3. 1 0
      relay/channel/openai/constant.go

+ 1 - 0
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"`

+ 9 - 1
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
 }
 

+ 1 - 0
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",