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