mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-11-23 13:50:20 +00:00
Added capabilities for chat completion and responses APIs
This commit is contained in:
parent
f50a8f88d7
commit
52b4b781e0
@ -156,7 +156,9 @@ public sealed class ProviderAlibabaCloud(ILogger logger) : BaseProvider("https:/
|
|||||||
Capability.AUDIO_INPUT, Capability.SPEECH_INPUT,
|
Capability.AUDIO_INPUT, Capability.SPEECH_INPUT,
|
||||||
Capability.VIDEO_INPUT,
|
Capability.VIDEO_INPUT,
|
||||||
|
|
||||||
Capability.TEXT_OUTPUT, Capability.SPEECH_OUTPUT
|
Capability.TEXT_OUTPUT, Capability.SPEECH_OUTPUT,
|
||||||
|
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
// Check for Qwen 3:
|
// Check for Qwen 3:
|
||||||
@ -166,7 +168,8 @@ public sealed class ProviderAlibabaCloud(ILogger logger) : BaseProvider("https:/
|
|||||||
Capability.TEXT_INPUT,
|
Capability.TEXT_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.OPTIONAL_REASONING, Capability.FUNCTION_CALLING
|
Capability.OPTIONAL_REASONING, Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
if(modelName.IndexOf("-vl-") is not -1)
|
if(modelName.IndexOf("-vl-") is not -1)
|
||||||
@ -174,6 +177,8 @@ public sealed class ProviderAlibabaCloud(ILogger logger) : BaseProvider("https:/
|
|||||||
[
|
[
|
||||||
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -185,7 +190,8 @@ public sealed class ProviderAlibabaCloud(ILogger logger) : BaseProvider("https:/
|
|||||||
Capability.TEXT_INPUT,
|
Capability.TEXT_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.ALWAYS_REASONING, Capability.FUNCTION_CALLING
|
Capability.ALWAYS_REASONING, Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -197,7 +203,8 @@ public sealed class ProviderAlibabaCloud(ILogger logger) : BaseProvider("https:/
|
|||||||
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.ALWAYS_REASONING
|
Capability.ALWAYS_REASONING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -207,7 +214,8 @@ public sealed class ProviderAlibabaCloud(ILogger logger) : BaseProvider("https:/
|
|||||||
Capability.TEXT_INPUT,
|
Capability.TEXT_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.FUNCTION_CALLING
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -122,7 +122,9 @@ public sealed class ProviderAnthropic(ILogger logger) : BaseProvider("https://ap
|
|||||||
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.OPTIONAL_REASONING, Capability.FUNCTION_CALLING];
|
Capability.OPTIONAL_REASONING, Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
|
];
|
||||||
|
|
||||||
// Claude 3.7 is able to do reasoning:
|
// Claude 3.7 is able to do reasoning:
|
||||||
if(modelName.StartsWith("claude-3-7"))
|
if(modelName.StartsWith("claude-3-7"))
|
||||||
@ -130,7 +132,9 @@ public sealed class ProviderAnthropic(ILogger logger) : BaseProvider("https://ap
|
|||||||
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.OPTIONAL_REASONING, Capability.FUNCTION_CALLING];
|
Capability.OPTIONAL_REASONING, Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
|
];
|
||||||
|
|
||||||
// All other 3.x models are able to process text and images as input:
|
// All other 3.x models are able to process text and images as input:
|
||||||
if(modelName.StartsWith("claude-3-"))
|
if(modelName.StartsWith("claude-3-"))
|
||||||
@ -138,13 +142,17 @@ public sealed class ProviderAnthropic(ILogger logger) : BaseProvider("https://ap
|
|||||||
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.FUNCTION_CALLING];
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
|
];
|
||||||
|
|
||||||
// Any other model is able to process text only:
|
// Any other model is able to process text only:
|
||||||
return [
|
return [
|
||||||
Capability.TEXT_INPUT,
|
Capability.TEXT_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
Capability.FUNCTION_CALLING];
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@ -34,11 +34,17 @@ public static class CapabilitiesOpenSource
|
|||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.FUNCTION_CALLING,
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
// The old vision models cannot do function calling:
|
// The old vision models cannot do function calling:
|
||||||
if (modelName.IndexOf("vision") is not -1)
|
if (modelName.IndexOf("vision") is not -1)
|
||||||
return [Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT, Capability.TEXT_OUTPUT];
|
return [
|
||||||
|
Capability.TEXT_INPUT,
|
||||||
|
Capability.MULTIPLE_IMAGE_INPUT,
|
||||||
|
Capability.TEXT_OUTPUT,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
|
];
|
||||||
|
|
||||||
//
|
//
|
||||||
// All models >= 3.1 are able to do function calling:
|
// All models >= 3.1 are able to do function calling:
|
||||||
@ -53,10 +59,14 @@ public static class CapabilitiesOpenSource
|
|||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.FUNCTION_CALLING,
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
// All other llama models can only do text input and output:
|
// All other llama models can only do text input and output:
|
||||||
return [Capability.TEXT_INPUT, Capability.TEXT_OUTPUT];
|
return [
|
||||||
|
Capability.TEXT_INPUT, Capability.TEXT_OUTPUT,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -66,9 +76,16 @@ public static class CapabilitiesOpenSource
|
|||||||
{
|
{
|
||||||
if(modelName.IndexOf("deepseek-r1") is not -1 ||
|
if(modelName.IndexOf("deepseek-r1") is not -1 ||
|
||||||
modelName.IndexOf("deepseek r1") is not -1)
|
modelName.IndexOf("deepseek r1") is not -1)
|
||||||
return [Capability.TEXT_INPUT, Capability.TEXT_OUTPUT, Capability.ALWAYS_REASONING];
|
return [
|
||||||
|
Capability.TEXT_INPUT, Capability.TEXT_OUTPUT,
|
||||||
|
Capability.ALWAYS_REASONING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
|
];
|
||||||
|
|
||||||
return [Capability.TEXT_INPUT, Capability.TEXT_OUTPUT];
|
return [
|
||||||
|
Capability.TEXT_INPUT, Capability.TEXT_OUTPUT,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -77,9 +94,16 @@ public static class CapabilitiesOpenSource
|
|||||||
if (modelName.IndexOf("qwen") is not -1 || modelName.IndexOf("qwq") is not -1)
|
if (modelName.IndexOf("qwen") is not -1 || modelName.IndexOf("qwq") is not -1)
|
||||||
{
|
{
|
||||||
if (modelName.IndexOf("qwq") is not -1)
|
if (modelName.IndexOf("qwq") is not -1)
|
||||||
return [Capability.TEXT_INPUT, Capability.TEXT_OUTPUT, Capability.ALWAYS_REASONING];
|
return [
|
||||||
|
Capability.TEXT_INPUT, Capability.TEXT_OUTPUT,
|
||||||
|
Capability.ALWAYS_REASONING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
|
];
|
||||||
|
|
||||||
return [Capability.TEXT_INPUT, Capability.TEXT_OUTPUT];
|
return [
|
||||||
|
Capability.TEXT_INPUT, Capability.TEXT_OUTPUT,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -93,7 +117,8 @@ public static class CapabilitiesOpenSource
|
|||||||
[
|
[
|
||||||
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
Capability.FUNCTION_CALLING
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
if (modelName.IndexOf("3.1") is not -1)
|
if (modelName.IndexOf("3.1") is not -1)
|
||||||
@ -101,7 +126,8 @@ public static class CapabilitiesOpenSource
|
|||||||
[
|
[
|
||||||
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
Capability.FUNCTION_CALLING
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
// Default:
|
// Default:
|
||||||
@ -109,7 +135,8 @@ public static class CapabilitiesOpenSource
|
|||||||
[
|
[
|
||||||
Capability.TEXT_INPUT,
|
Capability.TEXT_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
Capability.FUNCTION_CALLING
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,6 +150,7 @@ public static class CapabilitiesOpenSource
|
|||||||
[
|
[
|
||||||
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
if(modelName.StartsWith("grok-3-mini"))
|
if(modelName.StartsWith("grok-3-mini"))
|
||||||
@ -132,6 +160,7 @@ public static class CapabilitiesOpenSource
|
|||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.ALWAYS_REASONING, Capability.FUNCTION_CALLING,
|
Capability.ALWAYS_REASONING, Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
if(modelName.StartsWith("grok-3"))
|
if(modelName.StartsWith("grok-3"))
|
||||||
@ -141,10 +170,14 @@ public static class CapabilitiesOpenSource
|
|||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.FUNCTION_CALLING,
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Default:
|
// Default:
|
||||||
return [Capability.TEXT_INPUT, Capability.TEXT_OUTPUT];
|
return [
|
||||||
|
Capability.TEXT_INPUT, Capability.TEXT_OUTPUT,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -94,4 +94,14 @@ public enum Capability
|
|||||||
/// The AI model can perform function calling, such as invoking APIs or executing functions.
|
/// The AI model can perform function calling, such as invoking APIs or executing functions.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
FUNCTION_CALLING,
|
FUNCTION_CALLING,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The AI model is used via the Chat Completion API.
|
||||||
|
/// </summary>
|
||||||
|
CHAT_COMPLETION_API,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The AI model is used via the Responses API.
|
||||||
|
/// </summary>
|
||||||
|
RESPONSES_API,
|
||||||
}
|
}
|
||||||
@ -117,12 +117,14 @@ public sealed class ProviderDeepSeek(ILogger logger) : BaseProvider("https://api
|
|||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.ALWAYS_REASONING,
|
Capability.ALWAYS_REASONING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
return
|
return
|
||||||
[
|
[
|
||||||
Capability.TEXT_INPUT,
|
Capability.TEXT_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -136,6 +136,7 @@ public class ProviderGoogle(ILogger logger) : BaseProvider("https://generativela
|
|||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.ALWAYS_REASONING, Capability.FUNCTION_CALLING,
|
Capability.ALWAYS_REASONING, Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
// Image generation:
|
// Image generation:
|
||||||
@ -146,6 +147,7 @@ public class ProviderGoogle(ILogger logger) : BaseProvider("https://generativela
|
|||||||
Capability.SPEECH_INPUT, Capability.VIDEO_INPUT,
|
Capability.SPEECH_INPUT, Capability.VIDEO_INPUT,
|
||||||
|
|
||||||
Capability.TEXT_OUTPUT, Capability.IMAGE_OUTPUT,
|
Capability.TEXT_OUTPUT, Capability.IMAGE_OUTPUT,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
// Realtime model:
|
// Realtime model:
|
||||||
@ -158,6 +160,7 @@ public class ProviderGoogle(ILogger logger) : BaseProvider("https://generativela
|
|||||||
Capability.TEXT_OUTPUT, Capability.SPEECH_OUTPUT,
|
Capability.TEXT_OUTPUT, Capability.SPEECH_OUTPUT,
|
||||||
|
|
||||||
Capability.FUNCTION_CALLING,
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
// The 2.0 flash models cannot call functions:
|
// The 2.0 flash models cannot call functions:
|
||||||
@ -168,6 +171,7 @@ public class ProviderGoogle(ILogger logger) : BaseProvider("https://generativela
|
|||||||
Capability.SPEECH_INPUT, Capability.VIDEO_INPUT,
|
Capability.SPEECH_INPUT, Capability.VIDEO_INPUT,
|
||||||
|
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
// The old 1.0 pro vision model:
|
// The old 1.0 pro vision model:
|
||||||
@ -177,6 +181,7 @@ public class ProviderGoogle(ILogger logger) : BaseProvider("https://generativela
|
|||||||
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
|
||||||
|
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
// Default to all other Gemini models:
|
// Default to all other Gemini models:
|
||||||
@ -188,6 +193,7 @@ public class ProviderGoogle(ILogger logger) : BaseProvider("https://generativela
|
|||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.FUNCTION_CALLING,
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -199,6 +205,7 @@ public class ProviderGoogle(ILogger logger) : BaseProvider("https://generativela
|
|||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.FUNCTION_CALLING,
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -132,6 +132,7 @@ public sealed class ProviderMistral(ILogger logger) : BaseProvider("https://api.
|
|||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.FUNCTION_CALLING,
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
// Mistral medium:
|
// Mistral medium:
|
||||||
@ -142,6 +143,7 @@ public sealed class ProviderMistral(ILogger logger) : BaseProvider("https://api.
|
|||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.FUNCTION_CALLING,
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
// Mistral small:
|
// Mistral small:
|
||||||
@ -152,6 +154,7 @@ public sealed class ProviderMistral(ILogger logger) : BaseProvider("https://api.
|
|||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
|
||||||
Capability.FUNCTION_CALLING,
|
Capability.FUNCTION_CALLING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
// Mistral saba:
|
// Mistral saba:
|
||||||
@ -160,6 +163,7 @@ public sealed class ProviderMistral(ILogger logger) : BaseProvider("https://api.
|
|||||||
[
|
[
|
||||||
Capability.TEXT_INPUT,
|
Capability.TEXT_INPUT,
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
// Default:
|
// Default:
|
||||||
|
|||||||
@ -130,6 +130,7 @@ public sealed class ProviderPerplexity(ILogger logger) : BaseProvider("https://a
|
|||||||
Capability.IMAGE_OUTPUT,
|
Capability.IMAGE_OUTPUT,
|
||||||
|
|
||||||
Capability.ALWAYS_REASONING,
|
Capability.ALWAYS_REASONING,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
|
|
||||||
return
|
return
|
||||||
@ -139,6 +140,7 @@ public sealed class ProviderPerplexity(ILogger logger) : BaseProvider("https://a
|
|||||||
|
|
||||||
Capability.TEXT_OUTPUT,
|
Capability.TEXT_OUTPUT,
|
||||||
Capability.IMAGE_OUTPUT,
|
Capability.IMAGE_OUTPUT,
|
||||||
|
Capability.CHAT_COMPLETION_API,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user