diff --git a/app/Tests/Models/Corpus/CapabilitySnapshot.txt b/app/Tests/Models/Corpus/CapabilitySnapshot.txt index 193254b5..9b36815a 100644 --- a/app/Tests/Models/Corpus/CapabilitySnapshot.txt +++ b/app/Tests/Models/Corpus/CapabilitySnapshot.txt @@ -20,10 +20,7 @@ # what each of them must answer, but it states capabilities alone. # ALIBABA_CLOUD | qvq-max | ALWAYS_REASONING, CHAT_COMPLETION_API, MULTIPLE_IMAGE_INPUT, TEXT_INPUT, TEXT_OUTPUT | CHAT | (unknown) | (unknown) | (unknown) -ALIBABA_CLOUD | qwen-max-latest | CHAT_COMPLETION_API, FUNCTION_CALLING, TEXT_INPUT, TEXT_OUTPUT | CHAT | (unknown) | (unknown) | (unknown) ALIBABA_CLOUD | qwen-mt-plus | CHAT_COMPLETION_API, FUNCTION_CALLING, TEXT_INPUT, TEXT_OUTPUT | CHAT | (unknown) | (unknown) | (unknown) -ALIBABA_CLOUD | qwen-plus-latest | CHAT_COMPLETION_API, FUNCTION_CALLING, TEXT_INPUT, TEXT_OUTPUT | CHAT | (unknown) | (unknown) | (unknown) -ALIBABA_CLOUD | qwen-turbo-latest | CHAT_COMPLETION_API, FUNCTION_CALLING, TEXT_INPUT, TEXT_OUTPUT | CHAT | (unknown) | (unknown) | (unknown) ALIBABA_CLOUD | qwen-vl-max | CHAT_COMPLETION_API, MULTIPLE_IMAGE_INPUT, TEXT_INPUT, TEXT_OUTPUT | CHAT | (unknown) | (unknown) | (unknown) ALIBABA_CLOUD | qwen2.5-14b-instruct-1m | CHAT_COMPLETION_API, FUNCTION_CALLING, TEXT_INPUT, TEXT_OUTPUT | CHAT | (unknown) | (unknown) | (unknown) ALIBABA_CLOUD | qwen2.5-72b-instruct | CHAT_COMPLETION_API, FUNCTION_CALLING, TEXT_INPUT, TEXT_OUTPUT | CHAT | (unknown) | (unknown) | (unknown) diff --git a/app/Tests/Models/Corpus/CorpusOrigin.cs b/app/Tests/Models/Corpus/CorpusOrigin.cs index 7d72fdb0..6544b0d4 100644 --- a/app/Tests/Models/Corpus/CorpusOrigin.cs +++ b/app/Tests/Models/Corpus/CorpusOrigin.cs @@ -17,8 +17,8 @@ public enum CorpusOrigin NAMED_BY_A_RULE, /// - /// The app carries this model in a built-in list, such as the one Alibaba Cloud models are - /// picked from when the provider serves no catalog. + /// The app carries this model in a built-in list, such as the aliases Anthropic answers to but + /// does not list, or the transcription model GWDG serves without naming it. /// BUILT_INTO_THE_APP, diff --git a/app/Tests/Models/Corpus/ModelCorpus.cs b/app/Tests/Models/Corpus/ModelCorpus.cs index 9be1e9c9..1cfcdbf5 100644 --- a/app/Tests/Models/Corpus/ModelCorpus.cs +++ b/app/Tests/Models/Corpus/ModelCorpus.cs @@ -134,23 +134,28 @@ public static class ModelCorpus ]; /// - /// Alibaba Cloud. Everything below the two dozen models the app carries is one Qwen tier per - /// entry, because each tier answers differently about thinking and vision. + /// Alibaba Cloud. One Qwen tier per entry, because each tier answers differently about thinking + /// and vision. /// + /// + /// The app carried two dozen of these names in a list of its own until the catalog became the + /// only source. Three went with it and are not replaced: qwen-max-latest, qwen-plus-latest and + /// qwen-turbo-latest are a naming convention Alibaba has left behind -- its rolling names carry + /// no suffix now, and the tier once called turbo is called flash. The ones which stayed are + /// here for the other reason: no rule spells any of them out, so they say what becomes of a + /// name the rules were not written for. + /// private static readonly CorpusEntry[] ALIBABA_ENTRIES = [ - new(ALIBABA_CLOUD, "qwq-plus", BUILT_INTO_THE_APP), - new(ALIBABA_CLOUD, "qwen-max-latest", BUILT_INTO_THE_APP), - new(ALIBABA_CLOUD, "qwen-plus-latest", BUILT_INTO_THE_APP), - new(ALIBABA_CLOUD, "qwen-turbo-latest", BUILT_INTO_THE_APP), - new(ALIBABA_CLOUD, "qvq-max", BUILT_INTO_THE_APP), - new(ALIBABA_CLOUD, "qwen-vl-max", BUILT_INTO_THE_APP), - new(ALIBABA_CLOUD, "qwen-mt-plus", BUILT_INTO_THE_APP), - new(ALIBABA_CLOUD, "qwen2.5-72b-instruct", BUILT_INTO_THE_APP), - new(ALIBABA_CLOUD, "qwen2.5-14b-instruct-1m", BUILT_INTO_THE_APP), - new(ALIBABA_CLOUD, "qwen2.5-omni-7b", BUILT_INTO_THE_APP), - new(ALIBABA_CLOUD, "qwen2.5-vl-72b-instruct", BUILT_INTO_THE_APP), - new(ALIBABA_CLOUD, "text-embedding-v3", BUILT_INTO_THE_APP), + new(ALIBABA_CLOUD, "qwq-plus", NAMED_BY_NO_RULE), + new(ALIBABA_CLOUD, "qvq-max", NAMED_BY_NO_RULE), + new(ALIBABA_CLOUD, "qwen-vl-max", NAMED_BY_NO_RULE), + new(ALIBABA_CLOUD, "qwen-mt-plus", NAMED_BY_NO_RULE), + new(ALIBABA_CLOUD, "qwen2.5-72b-instruct", NAMED_BY_NO_RULE), + new(ALIBABA_CLOUD, "qwen2.5-14b-instruct-1m", NAMED_BY_NO_RULE), + new(ALIBABA_CLOUD, "qwen2.5-omni-7b", NAMED_BY_NO_RULE), + new(ALIBABA_CLOUD, "qwen2.5-vl-72b-instruct", NAMED_BY_NO_RULE), + new(ALIBABA_CLOUD, "text-embedding-v3", NAMED_BY_NO_RULE), new(ALIBABA_CLOUD, "qwen3-omni-flash", NAMED_BY_A_RULE), new(ALIBABA_CLOUD, "qwen3-vl-plus", NAMED_BY_A_RULE), new(ALIBABA_CLOUD, "qwen3-235b-a22b", NAMED_BY_A_RULE), diff --git a/app/Tests/Models/Corpus/ModelKindCorpus.cs b/app/Tests/Models/Corpus/ModelKindCorpus.cs index 309ad007..cdcac754 100644 --- a/app/Tests/Models/Corpus/ModelKindCorpus.cs +++ b/app/Tests/Models/Corpus/ModelKindCorpus.cs @@ -261,7 +261,7 @@ public static class ModelKindCorpus // last one translates rather than converses, and it does so through the chat completion // API like the others, so this is where it belongs. // - new(ALIBABA_CLOUD, "qwen-max-latest", CHAT), + new(ALIBABA_CLOUD, "qwen3.8-max", CHAT), new(ALIBABA_CLOUD, "qwq-plus", CHAT), new(ALIBABA_CLOUD, "qvq-max", CHAT), new(ALIBABA_CLOUD, "qwen-mt-turbo", CHAT),