model-registry: add upstream check endpoint

This commit is contained in:
zenfun
2025-12-18 16:43:12 +08:00
parent a61eff27e7
commit 7dd3fac24e
5 changed files with 221 additions and 20 deletions

View File

@@ -43,12 +43,13 @@ type LogConfig struct {
}
type ModelRegistryConfig struct {
Enabled bool
RefreshSeconds int
ModelsDevBaseURL string
ModelsDevRef string
CacheDir string
TimeoutSeconds int
Enabled bool
RefreshSeconds int
ModelsDevBaseURL string
ModelsDevAPIBaseURL string
ModelsDevRef string
CacheDir string
TimeoutSeconds int
}
func Load() (*Config, error) {
@@ -66,6 +67,7 @@ func Load() (*Config, error) {
v.SetDefault("model_registry.enabled", false)
v.SetDefault("model_registry.refresh_seconds", 1800)
v.SetDefault("model_registry.models_dev_base_url", "https://codeload.github.com/sst/models.dev/tar.gz")
v.SetDefault("model_registry.models_dev_api_base_url", "https://api.github.com")
v.SetDefault("model_registry.models_dev_ref", "dev")
v.SetDefault("model_registry.cache_dir", "./data/model-registry")
v.SetDefault("model_registry.timeout_seconds", 30)
@@ -85,6 +87,7 @@ func Load() (*Config, error) {
_ = v.BindEnv("model_registry.enabled", "EZ_MODEL_REGISTRY_ENABLED")
_ = v.BindEnv("model_registry.refresh_seconds", "EZ_MODEL_REGISTRY_REFRESH_SECONDS")
_ = v.BindEnv("model_registry.models_dev_base_url", "EZ_MODEL_REGISTRY_MODELS_DEV_BASE_URL")
_ = v.BindEnv("model_registry.models_dev_api_base_url", "EZ_MODEL_REGISTRY_MODELS_DEV_API_BASE_URL")
_ = v.BindEnv("model_registry.models_dev_ref", "EZ_MODEL_REGISTRY_MODELS_DEV_REF")
_ = v.BindEnv("model_registry.cache_dir", "EZ_MODEL_REGISTRY_CACHE_DIR")
_ = v.BindEnv("model_registry.timeout_seconds", "EZ_MODEL_REGISTRY_TIMEOUT_SECONDS")
@@ -125,12 +128,13 @@ func Load() (*Config, error) {
JWTSecret: v.GetString("auth.jwt_secret"),
},
ModelRegistry: ModelRegistryConfig{
Enabled: v.GetBool("model_registry.enabled"),
RefreshSeconds: v.GetInt("model_registry.refresh_seconds"),
ModelsDevBaseURL: v.GetString("model_registry.models_dev_base_url"),
ModelsDevRef: v.GetString("model_registry.models_dev_ref"),
CacheDir: v.GetString("model_registry.cache_dir"),
TimeoutSeconds: v.GetInt("model_registry.timeout_seconds"),
Enabled: v.GetBool("model_registry.enabled"),
RefreshSeconds: v.GetInt("model_registry.refresh_seconds"),
ModelsDevBaseURL: v.GetString("model_registry.models_dev_base_url"),
ModelsDevAPIBaseURL: v.GetString("model_registry.models_dev_api_base_url"),
ModelsDevRef: v.GetString("model_registry.models_dev_ref"),
CacheDir: v.GetString("model_registry.cache_dir"),
TimeoutSeconds: v.GetInt("model_registry.timeout_seconds"),
},
}