2025-11-13 17:13:16 +00:00
|
|
|
|
using AIStudio.Provider;
|
|
|
|
|
|
|
|
|
|
|
|
namespace AIStudio.Settings;
|
|
|
|
|
|
|
|
|
|
|
|
public static partial class ProviderExtensions
|
|
|
|
|
|
{
|
2025-12-30 17:30:32 +00:00
|
|
|
|
private static List<Capability> GetModelCapabilitiesPerplexity(Model model)
|
2025-11-13 17:13:16 +00:00
|
|
|
|
{
|
2026-09-11 13:24:02 +00:00
|
|
|
|
var modelName = NormalizeModelId(model.Id).AsSpan();
|
2025-11-13 17:13:16 +00:00
|
|
|
|
|
2026-09-11 13:24:02 +00:00
|
|
|
|
//
|
|
|
|
|
|
// No Sonar model writes images. What looked like it does is the option to have the
|
|
|
|
|
|
// answer come with images: those are pictures the search found on the pages it read,
|
|
|
|
|
|
// handed back as links, not something the model drew.
|
|
|
|
|
|
//
|
2025-11-13 17:13:16 +00:00
|
|
|
|
if(modelName.IndexOf("reasoning") is not -1 ||
|
|
|
|
|
|
modelName.IndexOf("deep-research") is not -1)
|
|
|
|
|
|
return
|
|
|
|
|
|
[
|
|
|
|
|
|
Capability.TEXT_INPUT,
|
|
|
|
|
|
Capability.MULTIPLE_IMAGE_INPUT,
|
2026-09-11 13:24:02 +00:00
|
|
|
|
|
2025-11-13 17:13:16 +00:00
|
|
|
|
Capability.TEXT_OUTPUT,
|
2026-09-11 13:24:02 +00:00
|
|
|
|
|
2025-11-13 17:13:16 +00:00
|
|
|
|
Capability.ALWAYS_REASONING,
|
|
|
|
|
|
Capability.WEB_SEARCH,
|
|
|
|
|
|
Capability.CHAT_COMPLETION_API,
|
|
|
|
|
|
];
|
2026-09-11 13:24:02 +00:00
|
|
|
|
|
2025-11-13 17:13:16 +00:00
|
|
|
|
return
|
|
|
|
|
|
[
|
|
|
|
|
|
Capability.TEXT_INPUT,
|
|
|
|
|
|
Capability.MULTIPLE_IMAGE_INPUT,
|
2026-09-11 13:24:02 +00:00
|
|
|
|
|
2025-11-13 17:13:16 +00:00
|
|
|
|
Capability.TEXT_OUTPUT,
|
2026-09-11 13:24:02 +00:00
|
|
|
|
|
2025-11-13 17:13:16 +00:00
|
|
|
|
Capability.WEB_SEARCH,
|
|
|
|
|
|
Capability.CHAT_COMPLETION_API,
|
|
|
|
|
|
];
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|