Browse Source

refactor(gemini): 更新 GeminiModelsResponse 以使用 dto.GeminiModel 类型

RedwindA 1 month ago
parent
commit
07e77b3c6f
1 changed files with 6 additions and 12 deletions
  1. 6 12
      relay/channel/gemini/relay-gemini.go

+ 6 - 12
relay/channel/gemini/relay-gemini.go

@@ -1366,18 +1366,8 @@ func GeminiImageHandler(c *gin.Context, info *relaycommon.RelayInfo, resp *http.
 	return usage, nil
 }
 
-type GeminiModelInfo struct {
-	Name                       string   `json:"name"`
-	Version                    string   `json:"version"`
-	DisplayName                string   `json:"displayName"`
-	Description                string   `json:"description"`
-	InputTokenLimit            int      `json:"inputTokenLimit"`
-	OutputTokenLimit           int      `json:"outputTokenLimit"`
-	SupportedGenerationMethods []string `json:"supportedGenerationMethods"`
-}
-
 type GeminiModelsResponse struct {
-	Models        []GeminiModelInfo `json:"models"`
+	Models        []dto.GeminiModel `json:"models"`
 	NextPageToken string            `json:"nextPageToken"`
 }
 
@@ -1432,7 +1422,11 @@ func FetchGeminiModels(baseURL, apiKey, proxyURL string) ([]string, error) {
 		}
 
 		for _, model := range modelsResponse.Models {
-			modelName := strings.TrimPrefix(model.Name, "models/")
+			modelNameValue, ok := model.Name.(string)
+			if !ok {
+				continue
+			}
+			modelName := strings.TrimPrefix(modelNameValue, "models/")
 			allModels = append(allModels, modelName)
 		}