Skip to content

Commit 5a628f6

Browse files
feat(serve): add 'GET /models' support
1 parent 2b138bf commit 5a628f6

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

runner/server/handler/model.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,30 @@ import (
99
"strings"
1010

1111
"github.com/gin-gonic/gin"
12+
"github.com/openai/openai-go"
1213

1314
"github.com/NexaAI/nexa-sdk/runner/internal/store"
1415
"github.com/NexaAI/nexa-sdk/runner/internal/types"
1516
)
1617

1718
func ListModels(c *gin.Context) {
19+
s := store.Get()
20+
21+
models, err := s.List()
22+
if err != nil {
23+
c.JSON(http.StatusInternalServerError, map[string]any{"error": err.Error()})
24+
return
25+
}
26+
27+
res := make([]openai.Model, 0, len(models))
28+
for _, m := range models {
29+
res = append(res, openai.Model{
30+
ID: m.Name,
31+
OwnedBy: strings.Split(m.Name, "/")[0],
32+
})
33+
}
1834

35+
c.JSON(http.StatusOK, res)
1936
}
2037

2138
func RetrieveModel(c *gin.Context) {

runner/server/route.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,7 @@ func RegisterAPIv1(r *gin.Engine) {
3838
//g.POST("/reranking", handler.Reranking)
3939

4040
g.GET("/models/*model", handler.RetrieveModel)
41+
g.GET("/models", handler.ListModels)
42+
// extend for pull model
4143
g.POST("/models", handler.PullModel)
4244
}

0 commit comments

Comments
 (0)