Browse Source

Merge pull request #590 from iszcz/new512

realtime令牌额度检测和http
Calcium-Ion 1 year ago
parent
commit
ee99041910
2 changed files with 10 additions and 6 deletions
  1. 9 5
      relay/channel/openai/adaptor.go
  2. 1 1
      service/quota.go

+ 9 - 5
relay/channel/openai/adaptor.go

@@ -32,11 +32,15 @@ func (a *Adaptor) Init(info *relaycommon.RelayInfo) {
 
 func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error) {
 	if info.RelayMode == constant.RelayModeRealtime {
-		// trim https
-		baseUrl := strings.TrimPrefix(info.BaseUrl, "https://")
-		baseUrl = strings.TrimPrefix(baseUrl, "http://")
-		baseUrl = "wss://" + baseUrl
-		info.BaseUrl = baseUrl
+		if strings.HasPrefix(info.BaseUrl, "https://") {
+			baseUrl := strings.TrimPrefix(info.BaseUrl, "https://")
+			baseUrl = "wss://" + baseUrl
+			info.BaseUrl = baseUrl
+		} else if strings.HasPrefix(info.BaseUrl, "http://") {
+			baseUrl := strings.TrimPrefix(info.BaseUrl, "http://")
+			baseUrl = "ws://" + baseUrl
+			info.BaseUrl = baseUrl
+		}
 	}
 	switch info.ChannelType {
 	case common.ChannelTypeAzure:

+ 1 - 1
service/quota.go

@@ -53,7 +53,7 @@ func PreWssConsumeQuota(ctx *gin.Context, relayInfo *relaycommon.RelayInfo, usag
 		return errors.New(fmt.Sprintf("用户额度不足,剩余额度为 %d", userQuota))
 	}
 
-	if token.RemainQuota < quota {
+	if !token.UnlimitedQuota && token.RemainQuota < quota {
 		return errors.New(fmt.Sprintf("令牌额度不足,剩余额度为 %d", token.RemainQuota))
 	}