GetModelNames godoc @Summary List all available models @Description Get a list of all available AI models grouped by vendor @Tags models @Produce json @Success 200 {object} map[string]interface{} "Returns models (array) and vendors (map)" @Failure 500 {object} map[string]string @Security ApiKeyAuth
(c *gin.Context)
| 27 | // @Security ApiKeyAuth |
| 28 | // @Router /models/names [get] |
| 29 | func (h *ModelsHandler) GetModelNames(c *gin.Context) { |
| 30 | vendorsModels, err := h.vendorManager.GetModels() |
| 31 | if err != nil { |
| 32 | c.JSON(500, gin.H{"error": "Server failed to retrieve model names"}) |
| 33 | return |
| 34 | } |
| 35 | |
| 36 | response := make(map[string]any) |
| 37 | vendors := make(map[string][]string) |
| 38 | |
| 39 | for _, groupItems := range vendorsModels.GroupsItems { |
| 40 | vendors[groupItems.Group] = groupItems.Items |
| 41 | } |
| 42 | |
| 43 | response["models"] = h.getAllModelNames(vendorsModels) |
| 44 | response["vendors"] = vendors |
| 45 | c.JSON(200, response) |
| 46 | } |
| 47 | |
| 48 | func (h *ModelsHandler) getAllModelNames(vendorsModels *ai.VendorsModels) []string { |
| 49 | var allModelNames []string |
nothing calls this directly
no test coverage detected