mirror of
https://github.com/songquanpeng/one-api.git
synced 2025-09-17 01:06:37 +08:00
fix: update system prompt handling by renaming field and ensuring proper usage in request processing (close #2069)
This commit is contained in:
parent
20435fcbfc
commit
bf45a955c3
@ -38,7 +38,7 @@ func RelayTextHelper(c *gin.Context) *model.ErrorWithStatusCode {
|
|||||||
textRequest.Model, _ = getMappedModelName(textRequest.Model, meta.ModelMapping)
|
textRequest.Model, _ = getMappedModelName(textRequest.Model, meta.ModelMapping)
|
||||||
meta.ActualModelName = textRequest.Model
|
meta.ActualModelName = textRequest.Model
|
||||||
// set system prompt if not empty
|
// set system prompt if not empty
|
||||||
systemPromptReset := setSystemPrompt(ctx, textRequest, meta.SystemPrompt)
|
systemPromptReset := setSystemPrompt(ctx, textRequest, meta.ForcedSystemPrompt)
|
||||||
// get model ratio & group ratio
|
// get model ratio & group ratio
|
||||||
modelRatio := billingratio.GetModelRatio(textRequest.Model, meta.ChannelType)
|
modelRatio := billingratio.GetModelRatio(textRequest.Model, meta.ChannelType)
|
||||||
groupRatio := billingratio.GetGroupRatio(meta.Group)
|
groupRatio := billingratio.GetGroupRatio(meta.Group)
|
||||||
@ -88,7 +88,11 @@ func RelayTextHelper(c *gin.Context) *model.ErrorWithStatusCode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getRequestBody(c *gin.Context, meta *meta.Meta, textRequest *model.GeneralOpenAIRequest, adaptor adaptor.Adaptor) (io.Reader, error) {
|
func getRequestBody(c *gin.Context, meta *meta.Meta, textRequest *model.GeneralOpenAIRequest, adaptor adaptor.Adaptor) (io.Reader, error) {
|
||||||
if !config.EnforceIncludeUsage && meta.APIType == apitype.OpenAI && meta.OriginModelName == meta.ActualModelName && meta.ChannelType != channeltype.Baichuan {
|
if !config.EnforceIncludeUsage &&
|
||||||
|
meta.APIType == apitype.OpenAI &&
|
||||||
|
meta.OriginModelName == meta.ActualModelName &&
|
||||||
|
meta.ChannelType != channeltype.Baichuan &&
|
||||||
|
meta.ForcedSystemPrompt == "" {
|
||||||
// no need to convert request for openai
|
// no need to convert request for openai
|
||||||
return c.Request.Body, nil
|
return c.Request.Body, nil
|
||||||
}
|
}
|
||||||
|
@ -30,29 +30,29 @@ type Meta struct {
|
|||||||
// OriginModelName is the model name from the raw user request
|
// OriginModelName is the model name from the raw user request
|
||||||
OriginModelName string
|
OriginModelName string
|
||||||
// ActualModelName is the model name after mapping
|
// ActualModelName is the model name after mapping
|
||||||
ActualModelName string
|
ActualModelName string
|
||||||
RequestURLPath string
|
RequestURLPath string
|
||||||
PromptTokens int // only for DoResponse
|
PromptTokens int // only for DoResponse
|
||||||
SystemPrompt string
|
ForcedSystemPrompt string
|
||||||
StartTime time.Time
|
StartTime time.Time
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetByContext(c *gin.Context) *Meta {
|
func GetByContext(c *gin.Context) *Meta {
|
||||||
meta := Meta{
|
meta := Meta{
|
||||||
Mode: relaymode.GetByPath(c.Request.URL.Path),
|
Mode: relaymode.GetByPath(c.Request.URL.Path),
|
||||||
ChannelType: c.GetInt(ctxkey.Channel),
|
ChannelType: c.GetInt(ctxkey.Channel),
|
||||||
ChannelId: c.GetInt(ctxkey.ChannelId),
|
ChannelId: c.GetInt(ctxkey.ChannelId),
|
||||||
TokenId: c.GetInt(ctxkey.TokenId),
|
TokenId: c.GetInt(ctxkey.TokenId),
|
||||||
TokenName: c.GetString(ctxkey.TokenName),
|
TokenName: c.GetString(ctxkey.TokenName),
|
||||||
UserId: c.GetInt(ctxkey.Id),
|
UserId: c.GetInt(ctxkey.Id),
|
||||||
Group: c.GetString(ctxkey.Group),
|
Group: c.GetString(ctxkey.Group),
|
||||||
ModelMapping: c.GetStringMapString(ctxkey.ModelMapping),
|
ModelMapping: c.GetStringMapString(ctxkey.ModelMapping),
|
||||||
OriginModelName: c.GetString(ctxkey.RequestModel),
|
OriginModelName: c.GetString(ctxkey.RequestModel),
|
||||||
BaseURL: c.GetString(ctxkey.BaseURL),
|
BaseURL: c.GetString(ctxkey.BaseURL),
|
||||||
APIKey: strings.TrimPrefix(c.Request.Header.Get("Authorization"), "Bearer "),
|
APIKey: strings.TrimPrefix(c.Request.Header.Get("Authorization"), "Bearer "),
|
||||||
RequestURLPath: c.Request.URL.String(),
|
RequestURLPath: c.Request.URL.String(),
|
||||||
SystemPrompt: c.GetString(ctxkey.SystemPrompt),
|
ForcedSystemPrompt: c.GetString(ctxkey.SystemPrompt),
|
||||||
StartTime: time.Now(),
|
StartTime: time.Now(),
|
||||||
}
|
}
|
||||||
cfg, ok := c.Get(ctxkey.Config)
|
cfg, ok := c.Get(ctxkey.Config)
|
||||||
if ok {
|
if ok {
|
||||||
|
Loading…
Reference in New Issue
Block a user