mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-08-21 09:52:56 +00:00
Implement model capabilities for Alibaba
This commit is contained in:
parent
45dbbdf299
commit
3401715e6e
@ -140,6 +140,77 @@ public sealed class ProviderAlibabaCloud(ILogger logger) : BaseProvider("https:/
|
|||||||
return this.LoadModels(["text-embedding-"], token, apiKeyProvisional).ContinueWith(t => t.Result.Concat(additionalModels).OrderBy(x => x.Id).AsEnumerable(), token);
|
return this.LoadModels(["text-embedding-"], token, apiKeyProvisional).ContinueWith(t => t.Result.Concat(additionalModels).OrderBy(x => x.Id).AsEnumerable(), token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public override IReadOnlyCollection<Capability> GetModelCapabilities(Model model)
|
||||||
|
{
|
||||||
|
var modelName = model.Id.ToLowerInvariant().AsSpan();
|
||||||
|
|
||||||
|
// Qwen models:
|
||||||
|
if (modelName.StartsWith("qwen"))
|
||||||
|
{
|
||||||
|
// Check for omni models:
|
||||||
|
if (modelName.IndexOf("omni") is not -1)
|
||||||
|
return
|
||||||
|
[
|
||||||
|
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
||||||
|
Capability.AUDIO_INPUT, Capability.SPEECH_INPUT,
|
||||||
|
Capability.VIDEO_INPUT,
|
||||||
|
|
||||||
|
Capability.TEXT_OUTPUT, Capability.SPEECH_OUTPUT
|
||||||
|
];
|
||||||
|
|
||||||
|
// Check for Qwen 3:
|
||||||
|
if(modelName.StartsWith("qwen3"))
|
||||||
|
return
|
||||||
|
[
|
||||||
|
Capability.TEXT_INPUT,
|
||||||
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
|
Capability.OPTIONAL_REASONING, Capability.FUNCTION_CALLING
|
||||||
|
];
|
||||||
|
|
||||||
|
if(modelName.IndexOf("-vl-") is not -1)
|
||||||
|
return
|
||||||
|
[
|
||||||
|
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
||||||
|
Capability.TEXT_OUTPUT,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
// QwQ models:
|
||||||
|
if (modelName.StartsWith("qwq"))
|
||||||
|
{
|
||||||
|
return
|
||||||
|
[
|
||||||
|
Capability.TEXT_INPUT,
|
||||||
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
|
Capability.ALWAYS_REASONING, Capability.FUNCTION_CALLING
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
// QVQ models:
|
||||||
|
if (modelName.StartsWith("qvq"))
|
||||||
|
{
|
||||||
|
return
|
||||||
|
[
|
||||||
|
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
||||||
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
|
Capability.ALWAYS_REASONING
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Default to text input and output:
|
||||||
|
return
|
||||||
|
[
|
||||||
|
Capability.TEXT_INPUT,
|
||||||
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
|
Capability.FUNCTION_CALLING
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private async Task<IEnumerable<Model>> LoadModels(string[] prefixes, CancellationToken token, string? apiKeyProvisional = null)
|
private async Task<IEnumerable<Model>> LoadModels(string[] prefixes, CancellationToken token, string? apiKeyProvisional = null)
|
||||||
|
Loading…
Reference in New Issue
Block a user