ai-servers/llm-gateway/internal/proxy/models.go

36 lines
747 B
Go

package proxy
import (
"encoding/json"
"net/http"
"time"
"llm-gateway/internal/provider"
)
type ModelsHandler struct {
registry *provider.Registry
}
func NewModelsHandler(registry *provider.Registry) *ModelsHandler {
return &ModelsHandler{registry: registry}
}
func (h *ModelsHandler) ListModels(w http.ResponseWriter, r *http.Request) {
names := h.registry.ModelNames()
models := make([]map[string]any, len(names))
for i, name := range names {
models[i] = map[string]any{
"id": name,
"object": "model",
"created": time.Now().Unix(),
"owned_by": "llm-gateway",
}
}
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(map[string]any{
"object": "list",
"data": models,
})
}