model_mapped.go 614 B

12345678910111213141516171819202122232425
  1. package helper
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "github.com/gin-gonic/gin"
  6. "one-api/relay/common"
  7. )
  8. func ModelMappedHelper(c *gin.Context, info *common.RelayInfo) error {
  9. // map model name
  10. modelMapping := c.GetString("model_mapping")
  11. if modelMapping != "" && modelMapping != "{}" {
  12. modelMap := make(map[string]string)
  13. err := json.Unmarshal([]byte(modelMapping), &modelMap)
  14. if err != nil {
  15. return fmt.Errorf("unmarshal_model_mapping_failed")
  16. }
  17. if modelMap[info.OriginModelName] != "" {
  18. info.UpstreamModelName = modelMap[info.OriginModelName]
  19. info.IsModelMapped = true
  20. }
  21. }
  22. return nil
  23. }