aiproxy支持vip地址(配置渠道时在key后加上 #vip 后缀)

This commit is contained in:
mlkt 2024-05-26 05:57:05 +08:00
parent 076ec68989
commit e54abc0f89
3 changed files with 19 additions and 5 deletions

View File

@ -9,6 +9,7 @@ import (
"github.com/songquanpeng/one-api/relay/model" "github.com/songquanpeng/one-api/relay/model"
"io" "io"
"net/http" "net/http"
"strings"
) )
type Adaptor struct { type Adaptor struct {
@ -20,12 +21,18 @@ func (a *Adaptor) Init(meta *meta.Meta) {
} }
func (a *Adaptor) GetRequestURL(meta *meta.Meta) (string, error) { func (a *Adaptor) GetRequestURL(meta *meta.Meta) (string, error) {
return fmt.Sprintf("%s/api/library/ask", meta.BaseURL), nil baseURL := meta.BaseURL
if strings.HasSuffix(meta.APIKey, "#vip") {
baseURL = "https://apivip.aiproxy.io"
}
return fmt.Sprintf("%s/api/library/ask", baseURL), nil
} }
func (a *Adaptor) SetupRequestHeader(c *gin.Context, req *http.Request, meta *meta.Meta) error { func (a *Adaptor) SetupRequestHeader(c *gin.Context, req *http.Request, meta *meta.Meta) error {
adaptor.SetupCommonRequestHeader(c, req, meta) adaptor.SetupCommonRequestHeader(c, req, meta)
req.Header.Set("Authorization", "Bearer "+meta.APIKey) apiKey := meta.APIKey
apiKey = strings.TrimSuffix(apiKey, "#vip")
req.Header.Set("Authorization", "Bearer "+apiKey)
return nil return nil
} }

View File

@ -48,6 +48,11 @@ func (a *Adaptor) GetRequestURL(meta *meta.Meta) (string, error) {
return minimax.GetRequestURL(meta) return minimax.GetRequestURL(meta)
case channeltype.Doubao: case channeltype.Doubao:
return doubao.GetRequestURL(meta) return doubao.GetRequestURL(meta)
case channeltype.AIProxy:
if strings.HasSuffix(meta.APIKey, "#vip") {
return GetFullRequestURL("https://apivip.aiproxy.io", meta.RequestURLPath, meta.ChannelType), nil
}
fallthrough
default: default:
return GetFullRequestURL(meta.BaseURL, meta.RequestURLPath, meta.ChannelType), nil return GetFullRequestURL(meta.BaseURL, meta.RequestURLPath, meta.ChannelType), nil
} }
@ -59,7 +64,11 @@ func (a *Adaptor) SetupRequestHeader(c *gin.Context, req *http.Request, meta *me
req.Header.Set("api-key", meta.APIKey) req.Header.Set("api-key", meta.APIKey)
return nil return nil
} }
req.Header.Set("Authorization", "Bearer "+meta.APIKey) apiKey := meta.APIKey
if meta.ChannelType == channeltype.AIProxy {
apiKey = strings.TrimSuffix(apiKey, "#vip")
}
req.Header.Set("Authorization", "Bearer "+apiKey)
if meta.ChannelType == channeltype.OpenRouter { if meta.ChannelType == channeltype.OpenRouter {
req.Header.Set("HTTP-Referer", "https://github.com/songquanpeng/one-api") req.Header.Set("HTTP-Referer", "https://github.com/songquanpeng/one-api")
req.Header.Set("X-Title", "One API") req.Header.Set("X-Title", "One API")

View File

@ -51,6 +51,4 @@ var ImagePromptLengthLimitations = map[string]int{
} }
var ImageOriginModelName = map[string]string{ var ImageOriginModelName = map[string]string{
"ali-stable-diffusion-xl": "stable-diffusion-xl",
"ali-stable-diffusion-v1.5": "stable-diffusion-v1.5",
} }