fix(model-catalog): refine summary capability filters
This commit is contained in:
@@ -106,8 +106,8 @@ func TestBuildModelCatalogAggregatesSources(t *testing.T) {
|
||||
if !hasFilterCount(response.Filters.Providers, "volces", 1) || !hasFilterCount(response.Filters.Providers, "gemini", 1) {
|
||||
t.Fatalf("expected provider filters to count merged model for each provider: %+v", response.Filters.Providers)
|
||||
}
|
||||
if !hasFilterCount(response.Filters.Capabilities, "image", 1) {
|
||||
t.Fatalf("expected image capability filter: %+v", response.Filters.Capabilities)
|
||||
if !hasFilterCount(response.Filters.Capabilities, "image_generate", 1) {
|
||||
t.Fatalf("expected image generation capability filter: %+v", response.Filters.Capabilities)
|
||||
}
|
||||
if got := item.Pricing.Lines[0]; got != "图像:1K 10 / 2K 20" {
|
||||
t.Fatalf("unexpected pricing line %q", got)
|
||||
@@ -168,6 +168,58 @@ func TestBuildModelCatalogUsesBaseModelProviderForProviderFilters(t *testing.T)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildModelCatalogIncludes3DModelCapabilityFilter(t *testing.T) {
|
||||
models := []store.PlatformModel{
|
||||
{
|
||||
ID: "tripo-image-to-model",
|
||||
PlatformID: "platform-tripo",
|
||||
ModelName: "tripo-3d",
|
||||
ModelAlias: "Tripo 3D",
|
||||
ModelType: store.StringList{"image_to_model"},
|
||||
DisplayName: "Tripo 3D",
|
||||
Enabled: true,
|
||||
},
|
||||
}
|
||||
platforms := []store.Platform{
|
||||
{ID: "platform-tripo", Provider: "tripo3d", Name: "Tripo3D", Status: "enabled"},
|
||||
}
|
||||
|
||||
response := buildModelCatalog(models, platforms, nil, nil, nil, nil, nil)
|
||||
if !hasFilterCount(response.Filters.Capabilities, "image_to_model", 1) {
|
||||
t.Fatalf("expected 3D model capability filter, got %+v", response.Filters.Capabilities)
|
||||
}
|
||||
if hasFilterCount(response.Filters.Capabilities, "image_generate", 1) {
|
||||
t.Fatalf("did not expect image_to_model to be classified as image: %+v", response.Filters.Capabilities)
|
||||
}
|
||||
if len(response.Items) != 1 || len(response.Items[0].CapabilityTags) != 1 || response.Items[0].CapabilityTags[0] != "图生 3D" {
|
||||
t.Fatalf("expected image-to-model capability tag, got %+v", response.Items)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildModelCatalogKeepsDistinctCapabilityFilters(t *testing.T) {
|
||||
models := []store.PlatformModel{
|
||||
{ID: "image-generate", PlatformID: "platform-a", ModelName: "image-generate", ModelAlias: "Image Generate", ModelType: store.StringList{"image_generate"}, DisplayName: "Image Generate", Enabled: true},
|
||||
{ID: "image-analysis", PlatformID: "platform-a", ModelName: "image-analysis", ModelAlias: "Image Analysis", ModelType: store.StringList{"image_analysis"}, DisplayName: "Image Analysis", Enabled: true},
|
||||
{ID: "video-generate", PlatformID: "platform-a", ModelName: "video-generate", ModelAlias: "Video Generate", ModelType: store.StringList{"video_generate"}, DisplayName: "Video Generate", Enabled: true},
|
||||
{ID: "video-understanding", PlatformID: "platform-a", ModelName: "video-understanding", ModelAlias: "Video Understanding", ModelType: store.StringList{"video_understanding"}, DisplayName: "Video Understanding", Enabled: true},
|
||||
{ID: "omni", PlatformID: "platform-a", ModelName: "omni", ModelAlias: "Omni", ModelType: store.StringList{"omni"}, DisplayName: "Omni", Enabled: true},
|
||||
{ID: "omni-video", PlatformID: "platform-a", ModelName: "omni-video", ModelAlias: "Omni Video", ModelType: store.StringList{"omni_video"}, DisplayName: "Omni Video", Enabled: true},
|
||||
}
|
||||
platforms := []store.Platform{
|
||||
{ID: "platform-a", Provider: "test", Name: "测试平台", Status: "enabled"},
|
||||
}
|
||||
|
||||
response := buildModelCatalog(models, platforms, nil, nil, nil, nil, nil)
|
||||
for _, value := range []string{"image_generate", "image_analysis", "video_generate", "video_understanding", "omni", "omni_video"} {
|
||||
if !hasFilterCount(response.Filters.Capabilities, value, 1) {
|
||||
t.Fatalf("expected distinct capability filter %s, got %+v", value, response.Filters.Capabilities)
|
||||
}
|
||||
}
|
||||
if hasFilterCount(response.Filters.Capabilities, "image", 2) || hasFilterCount(response.Filters.Capabilities, "video", 2) {
|
||||
t.Fatalf("did not expect broad image/video filters: %+v", response.Filters.Capabilities)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildModelCatalogOnlyUsesEnabledPlatformModels(t *testing.T) {
|
||||
models := []store.PlatformModel{
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user