Преглед изворни кода

Merge remote-tracking branch 'origin/alpha' into alpha

t0ng7u пре 8 месеци
родитељ
комит
d6276c4692
4 измењених фајлова са 4 додато и 3 уклоњено
  1. 1 1
      middleware/auth.go
  2. 1 1
      middleware/distributor.go
  3. 1 1
      relay/constant/relay_mode.go
  4. 1 0
      router/relay-router.go

+ 1 - 1
middleware/auth.go

@@ -184,7 +184,7 @@ func TokenAuth() func(c *gin.Context) {
 			}
 			}
 		}
 		}
 		// gemini api 从query中获取key
 		// gemini api 从query中获取key
-		if strings.HasPrefix(c.Request.URL.Path, "/v1beta/models/") {
+		if strings.HasPrefix(c.Request.URL.Path, "/v1beta/models/") || strings.HasPrefix(c.Request.URL.Path, "/v1/models/") {
 			skKey := c.Query("key")
 			skKey := c.Query("key")
 			if skKey != "" {
 			if skKey != "" {
 				c.Request.Header.Set("Authorization", "Bearer "+skKey)
 				c.Request.Header.Set("Authorization", "Bearer "+skKey)

+ 1 - 1
middleware/distributor.go

@@ -179,7 +179,7 @@ func getModelRequest(c *gin.Context) (*ModelRequest, bool, error) {
 		}
 		}
 		c.Set("platform", string(constant.TaskPlatformKling))
 		c.Set("platform", string(constant.TaskPlatformKling))
 		c.Set("relay_mode", relayMode)
 		c.Set("relay_mode", relayMode)
-	} else if strings.HasPrefix(c.Request.URL.Path, "/v1beta/models/") {
+	} else if strings.HasPrefix(c.Request.URL.Path, "/v1beta/models/") || strings.HasPrefix(c.Request.URL.Path, "/v1/models/") {
 		// Gemini API 路径处理: /v1beta/models/gemini-2.0-flash:generateContent
 		// Gemini API 路径处理: /v1beta/models/gemini-2.0-flash:generateContent
 		relayMode := relayconstant.RelayModeGemini
 		relayMode := relayconstant.RelayModeGemini
 		modelName := extractModelNameFromGeminiPath(c.Request.URL.Path)
 		modelName := extractModelNameFromGeminiPath(c.Request.URL.Path)

+ 1 - 1
relay/constant/relay_mode.go

@@ -80,7 +80,7 @@ func Path2RelayMode(path string) int {
 		relayMode = RelayModeRerank
 		relayMode = RelayModeRerank
 	} else if strings.HasPrefix(path, "/v1/realtime") {
 	} else if strings.HasPrefix(path, "/v1/realtime") {
 		relayMode = RelayModeRealtime
 		relayMode = RelayModeRealtime
-	} else if strings.HasPrefix(path, "/v1beta/models") {
+	} else if strings.HasPrefix(path, "/v1beta/models") || strings.HasPrefix(path, "/v1/models") {
 		relayMode = RelayModeGemini
 		relayMode = RelayModeGemini
 	}
 	}
 	return relayMode
 	return relayMode

+ 1 - 0
router/relay-router.go

@@ -63,6 +63,7 @@ func SetRelayRouter(router *gin.Engine) {
 		httpRouter.DELETE("/models/:model", controller.RelayNotImplemented)
 		httpRouter.DELETE("/models/:model", controller.RelayNotImplemented)
 		httpRouter.POST("/moderations", controller.Relay)
 		httpRouter.POST("/moderations", controller.Relay)
 		httpRouter.POST("/rerank", controller.Relay)
 		httpRouter.POST("/rerank", controller.Relay)
+		httpRouter.POST("/models/*path", controller.Relay)
 	}
 	}
 
 
 	relayMjRouter := router.Group("/mj")
 	relayMjRouter := router.Group("/mj")