package model
|
|
const (
|
DefaultModelID = "sensevoice-zh"
|
MoonshineModelID = "moonshine-en"
|
ParakeetModelID = "parakeet-en"
|
ParakeetV3ModelID = "parakeet-tdt-0.6b-v3"
|
JapaneseModelID = "zipformer-ja-reazonspeech"
|
KoreanModelID = "zipformer-ko"
|
Qwen3ASRModelID = "qwen3-asr-0.6b"
|
XASRZhEn960ModelID = "x-asr-zh-en-960ms"
|
DefaultLanguageID = "zh-CN"
|
EnglishLanguageID = "en"
|
FrenchLanguageID = "fr"
|
GermanLanguageID = "de"
|
SpanishLanguageID = "es"
|
ItalianLanguageID = "it"
|
PortugueseLanguageID = "pt"
|
JapaneseLanguageID = "ja"
|
KoreanLanguageID = "ko"
|
)
|
|
type ModelProfile struct {
|
ID string
|
DisplayName string
|
BackendKind string
|
Tier string
|
SupportedLanguageIDs []string
|
RecommendedFor []string
|
Description string
|
ApproxSize string
|
DownloadURLs []string
|
InstallDirName string
|
LegacyDirNames []string
|
RequiredFiles []RequiredFileRule
|
ProviderOrder []string
|
NumThreads int
|
}
|
|
type RequiredFileRule struct {
|
Role string
|
AllOf []string
|
AnyOf []string
|
Required bool
|
Directory bool
|
}
|
|
type LanguageProfile struct {
|
ID string
|
DisplayName string
|
NativeName string
|
UILocale string
|
SystemMatchers []string
|
DefaultModelID string
|
UpgradeModelIDs []string
|
}
|
|
type ModelInstallStatus string
|
|
const (
|
ModelNotInstalled ModelInstallStatus = "not_installed"
|
ModelInstalledValid ModelInstallStatus = "installed_valid"
|
ModelInstalledIncomplete ModelInstallStatus = "installed_incomplete"
|
ModelStateInvalidFallbackFound ModelInstallStatus = "state_invalid_fallback_found"
|
ModelStateInvalidNoFallback ModelInstallStatus = "state_invalid_no_fallback"
|
)
|
|
type ResolvedModel struct {
|
ModelID string
|
Profile ModelProfile
|
RootDir string
|
SourceDirKind string
|
Files map[string]string
|
BackendKind string
|
ProviderOrder []string
|
Status ModelInstallStatus
|
Missing []string
|
Problems []string
|
}
|
|
func (r ResolvedModel) IsUsable() bool {
|
return r.Status == ModelInstalledValid || r.Status == ModelStateInvalidFallbackFound
|
}
|