From 47918f3143b41f1489aabc018a8714578e0b9c74 Mon Sep 17 00:00:00 2001 From: JustSong Date: Fri, 31 Jan 2025 17:10:01 +0800 Subject: [PATCH] chore: rename metalib to relaymeta --- relay/adaptor/openai/adaptor.go | 5 ++++- relay/constant/role/define.go | 1 + relay/controller/image.go | 9 +++++---- relay/controller/text.go | 7 ++++--- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/relay/adaptor/openai/adaptor.go b/relay/adaptor/openai/adaptor.go index b54c71ee..ab4b5858 100644 --- a/relay/adaptor/openai/adaptor.go +++ b/relay/adaptor/openai/adaptor.go @@ -8,12 +8,14 @@ import ( "strings" "github.com/gin-gonic/gin" + "github.com/songquanpeng/one-api/common/config" "github.com/songquanpeng/one-api/relay/adaptor" "github.com/songquanpeng/one-api/relay/adaptor/doubao" "github.com/songquanpeng/one-api/relay/adaptor/minimax" "github.com/songquanpeng/one-api/relay/adaptor/novita" "github.com/songquanpeng/one-api/relay/channeltype" + "github.com/songquanpeng/one-api/relay/constant/role" "github.com/songquanpeng/one-api/relay/meta" "github.com/songquanpeng/one-api/relay/model" "github.com/songquanpeng/one-api/relay/relaymode" @@ -85,11 +87,12 @@ func (a *Adaptor) ConvertRequest(c *gin.Context, relayMode int, request *model.G } // o1/o1-mini/o1-preview do not support system prompt and max_tokens + // refer: https://platform.openai.com/docs/api-reference/chat/create#chat-create-messages if strings.HasPrefix(request.Model, "o1") { request.MaxTokens = 0 request.Messages = func(raw []model.Message) (filtered []model.Message) { for i := range raw { - if raw[i].Role != "system" { + if raw[i].Role != role.System { filtered = append(filtered, raw[i]) } } diff --git a/relay/constant/role/define.go b/relay/constant/role/define.go index 5097c97e..918870c5 100644 --- a/relay/constant/role/define.go +++ b/relay/constant/role/define.go @@ -3,4 +3,5 @@ package role const ( System = "system" Assistant = "assistant" + Developer = "developer" ) diff --git a/relay/controller/image.go b/relay/controller/image.go index 581859f1..df2f58d1 100644 --- a/relay/controller/image.go +++ b/relay/controller/image.go @@ -10,6 +10,7 @@ import ( "net/http" "github.com/gin-gonic/gin" + "github.com/songquanpeng/one-api/common" "github.com/songquanpeng/one-api/common/ctxkey" "github.com/songquanpeng/one-api/common/logger" @@ -18,7 +19,7 @@ import ( "github.com/songquanpeng/one-api/relay/adaptor/openai" billingratio "github.com/songquanpeng/one-api/relay/billing/ratio" "github.com/songquanpeng/one-api/relay/channeltype" - metalib "github.com/songquanpeng/one-api/relay/meta" + relaymeta "github.com/songquanpeng/one-api/relay/meta" relaymodel "github.com/songquanpeng/one-api/relay/model" ) @@ -65,7 +66,7 @@ func getImageSizeRatio(model string, size string) float64 { return 1 } -func validateImageRequest(imageRequest *relaymodel.ImageRequest, _ *metalib.Meta) *relaymodel.ErrorWithStatusCode { +func validateImageRequest(imageRequest *relaymodel.ImageRequest, _ *relaymeta.Meta) *relaymodel.ErrorWithStatusCode { // check prompt length if imageRequest.Prompt == "" { return openai.ErrorWrapper(errors.New("prompt is required"), "prompt_missing", http.StatusBadRequest) @@ -104,7 +105,7 @@ func getImageCostRatio(imageRequest *relaymodel.ImageRequest) (float64, error) { func RelayImageHelper(c *gin.Context, relayMode int) *relaymodel.ErrorWithStatusCode { ctx := c.Request.Context() - meta := metalib.GetByContext(c) + meta := relaymeta.GetByContext(c) imageRequest, err := getImageRequest(c, meta.Mode) if err != nil { logger.Errorf(ctx, "getImageRequest failed: %s", err.Error()) @@ -131,7 +132,7 @@ func RelayImageHelper(c *gin.Context, relayMode int) *relaymodel.ErrorWithStatus imageModel := imageRequest.Model // Convert the original image model - imageRequest.Model = metalib.GetMappedModelName(imageRequest.Model, billingratio.ImageOriginModelName) + imageRequest.Model = relaymeta.GetMappedModelName(imageRequest.Model, billingratio.ImageOriginModelName) c.Set("response_format", imageRequest.ResponseFormat) var requestBody io.Reader diff --git a/relay/controller/text.go b/relay/controller/text.go index 69a51386..78a58161 100644 --- a/relay/controller/text.go +++ b/relay/controller/text.go @@ -8,6 +8,7 @@ import ( "net/http" "github.com/gin-gonic/gin" + "github.com/songquanpeng/one-api/common/config" "github.com/songquanpeng/one-api/common/logger" "github.com/songquanpeng/one-api/relay" @@ -17,13 +18,13 @@ import ( "github.com/songquanpeng/one-api/relay/billing" billingratio "github.com/songquanpeng/one-api/relay/billing/ratio" "github.com/songquanpeng/one-api/relay/channeltype" - metalib "github.com/songquanpeng/one-api/relay/meta" + relaymeta "github.com/songquanpeng/one-api/relay/meta" relaymodel "github.com/songquanpeng/one-api/relay/model" ) func RelayTextHelper(c *gin.Context) *relaymodel.ErrorWithStatusCode { ctx := c.Request.Context() - meta := metalib.GetByContext(c) + meta := relaymeta.GetByContext(c) // get & validate textRequest textRequest, err := getAndValidateTextRequest(c, meta.Mode) if err != nil { @@ -86,7 +87,7 @@ func RelayTextHelper(c *gin.Context) *relaymodel.ErrorWithStatusCode { return nil } -func getRequestBody(c *gin.Context, meta *metalib.Meta, textRequest *relaymodel.GeneralOpenAIRequest, adaptor adaptor.Adaptor) (io.Reader, error) { +func getRequestBody(c *gin.Context, meta *relaymeta.Meta, textRequest *relaymodel.GeneralOpenAIRequest, adaptor adaptor.Adaptor) (io.Reader, error) { if !config.EnforceIncludeUsage && meta.APIType == apitype.OpenAI && meta.OriginModelName == meta.ActualModelName &&