package model

// ProviderCategory 出口服务分类
type ProviderCategory string

const (
	CategoryLLM       ProviderCategory = "llm"       // 语言模型
	CategoryEmbedding ProviderCategory = "embedding" // 向量嵌入
	CategoryRerank    ProviderCategory = "rerank"    // 重排序
	CategorySpeech    ProviderCategory = "speech"    // 语音合成（预留）
	CategoryImage     ProviderCategory = "image"     // 图像生成
	CategoryAudio     ProviderCategory = "audio"     // 音频转写（预留）
)

func SupportedCategories() []ProviderCategory {
	return []ProviderCategory{CategoryLLM, CategoryEmbedding, CategoryRerank, CategoryImage}
}

func IsCategorySupported(c ProviderCategory) bool {
	for _, s := range SupportedCategories() {
		if s == c {
			return true
		}
	}
	return false
}
