fixed model visibility
This commit is contained in:
+16
-14
@@ -246,13 +246,16 @@ func (s *Server) handleListModels(c *gin.Context) {
|
||||
OwnedBy string `json:"owned_by"`
|
||||
}
|
||||
|
||||
var data []OpenAIModel
|
||||
modelMap := make(map[string]OpenAIModel)
|
||||
allowedProviders := map[string]bool{
|
||||
"openai": true,
|
||||
"google": true, // Models from models.dev use 'google' ID for Gemini
|
||||
"deepseek": true,
|
||||
"moonshot": true,
|
||||
"moonshotai": true, // Official moonshotai ID in models.dev
|
||||
"moonshotai-cn": true, // Official moonshotai-cn ID in models.dev
|
||||
"xai": true, // Models from models.dev use 'xai' ID for Grok
|
||||
"llmgateway": true, // Catch-all for newer models
|
||||
"ollama": true,
|
||||
}
|
||||
|
||||
@@ -262,12 +265,14 @@ func (s *Server) handleListModels(c *gin.Context) {
|
||||
continue
|
||||
}
|
||||
for mID := range pInfo.Models {
|
||||
data = append(data, OpenAIModel{
|
||||
if _, exists := modelMap[mID]; !exists {
|
||||
modelMap[mID] = OpenAIModel{
|
||||
ID: mID,
|
||||
Object: "model",
|
||||
Created: 1700000000,
|
||||
OwnedBy: pID,
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -275,24 +280,21 @@ func (s *Server) handleListModels(c *gin.Context) {
|
||||
// Add configured Ollama models
|
||||
if s.cfg.Providers.Ollama.Enabled {
|
||||
for _, mID := range s.cfg.Providers.Ollama.Models {
|
||||
// Check if already added
|
||||
exists := false
|
||||
for _, d := range data {
|
||||
if d.ID == mID {
|
||||
exists = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !exists {
|
||||
data = append(data, OpenAIModel{
|
||||
if _, exists := modelMap[mID]; !exists {
|
||||
modelMap[mID] = OpenAIModel{
|
||||
ID: mID,
|
||||
Object: "model",
|
||||
Created: 1700000000,
|
||||
OwnedBy: "ollama",
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var data []OpenAIModel
|
||||
for _, m := range modelMap {
|
||||
data = append(data, m)
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"object": "list",
|
||||
|
||||
Reference in New Issue
Block a user