fix: Improve error handling and logging in channel update abilities

- Improve error handling in `UpdateAbilities()` method
- Log model name change request to the mapped model
This commit is contained in:
Laisky.Cai 2024-02-29 06:44:31 +00:00
parent 4625a0b97d
commit 3da0f62055
2 changed files with 16 additions and 3 deletions

View File

@ -3,6 +3,8 @@ package model
import ( import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"github.com/pkg/errors"
"github.com/songquanpeng/one-api/common" "github.com/songquanpeng/one-api/common"
"github.com/songquanpeng/one-api/common/config" "github.com/songquanpeng/one-api/common/config"
"github.com/songquanpeng/one-api/common/helper" "github.com/songquanpeng/one-api/common/helper"
@ -122,8 +124,12 @@ func (channel *Channel) Update() error {
return err return err
} }
DB.Model(channel).First(channel, "id = ?", channel.Id) DB.Model(channel).First(channel, "id = ?", channel.Id)
err = channel.UpdateAbilities() if err = channel.UpdateAbilities(); err != nil {
return err logger.SysError("failed to update abilities: " + err.Error())
return errors.Wrap(err, "failed to update abilities")
}
return nil
} }
func (channel *Channel) UpdateResponseTime(responseTime int64) { func (channel *Channel) UpdateResponseTime(responseTime int64) {

View File

@ -29,9 +29,16 @@ func RelayTextHelper(c *gin.Context) *model.ErrorWithStatusCode {
meta.IsStream = textRequest.Stream meta.IsStream = textRequest.Stream
// map model name // map model name
var isModelMapped bool var (
originRequestModel = textRequest.Model
isModelMapped bool
)
meta.OriginModelName = textRequest.Model meta.OriginModelName = textRequest.Model
textRequest.Model, isModelMapped = util.GetMappedModelName(textRequest.Model, meta.ModelMapping) textRequest.Model, isModelMapped = util.GetMappedModelName(textRequest.Model, meta.ModelMapping)
if isModelMapped {
logger.Info(c.Request.Context(), fmt.Sprintf("rewrite model name from %s to %s", originRequestModel, textRequest.Model))
}
meta.ActualModelName = textRequest.Model meta.ActualModelName = textRequest.Model
// get model ratio & group ratio // get model ratio & group ratio
modelRatio := common.GetModelRatio(textRequest.Model) modelRatio := common.GetModelRatio(textRequest.Model)