Added Requesty as a provider (#1006)

Co-authored-by: Thorsten Sommer <SommerEngineering@users.noreply.github.com>
This commit is contained in:
Thibault JaiguandThorsten Sommer authored and GitHub committed 2026-10-13 08:29:06 +02:00
1 parent f912af321f
commit 2bd3d41421
44 files changed
+518 -65

No files matched your search

@@ -14,6 +14,7 @@ using AIStudio.Provider.Mistral;
using AIStudio.Provider.OpenAI;
using AIStudio.Provider.OpenRouter;
using AIStudio.Provider.Perplexity;
using AIStudio.Provider.Requesty;
using AIStudio.Provider.SelfHosted;
using AIStudio.Provider.X;
using AIStudio.Settings;
@@ -62,6 +63,7 @@ public static class LLMProvidersExtensions
LLMProviders.HETZNER => "Hetzner (Experimental)",
LLMProviders.IONOS => "IONOS",
LLMProviders.LITE_LLM => "LiteLLM",
LLMProviders.REQUESTY => "Requesty",
LLMProviders.GROQ => "Groq",
LLMProviders.FIREWORKS => "Fireworks.ai",
@@ -100,6 +102,7 @@ public static class LLMProvidersExtensions
LLMProviders.HETZNER => "Hetzner",
LLMProviders.IONOS => "IONOS",
LLMProviders.LITE_LLM => "LiteLLM",
LLMProviders.REQUESTY => "Requesty",
LLMProviders.GROQ => "Groq",
LLMProviders.FIREWORKS => "Fireworks.ai",
@@ -170,6 +173,18 @@ public static class LLMProvidersExtensions
// of a self-hosted model here and let the user assign the level themselves.
LLMProviders.LITE_LLM => Confidence.USER_OPERATED_GATEWAY.WithSources("https://docs.litellm.ai/docs/data_security").WithLevel(settingsManager.GetConfiguredConfidenceLevel(llmProvider)),
// Requesty Ltd is based in London and works under the UK GDPR and the EU GDPR. Unless logging
// is switched off, it keeps requests for up to 30 days, and it may use the content of free
// accounts for training. Where a model runs depends on the model rather than on Requesty:
// names ending in "@eu" or in another European region stay in Europe, the others may not.
// That is why we state the region but leave the trust level unknown.
LLMProviders.REQUESTY => Confidence.UNKNOWN.WithRegion("Europe, United Kingdom").WithSources(
"https://www.requesty.ai/privacy",
"https://www.requesty.ai/privacy/subprocessors",
"https://www.requesty.ai/dpa",
"https://www.requesty.ai/terms"
).WithLevel(settingsManager.GetConfiguredConfidenceLevel(llmProvider)),
LLMProviders.SELF_HOSTED => Confidence.SELF_HOSTED.WithLevel(settingsManager.GetConfiguredConfidenceLevel(llmProvider)),
LLMProviders.HELMHOLTZ => Confidence.GDPR_NO_TRAINING.WithRegion("Europe, Germany").WithSources("https://helmholtz.cloud/services/?serviceID=d7d5c597-a2f6-4bd1-b71e-4d6499d98570").WithLevel(settingsManager.GetConfiguredConfidenceLevel(llmProvider)),
@@ -197,6 +212,7 @@ public static class LLMProvidersExtensions
LLMProviders.GWDG => true,
LLMProviders.OPEN_ROUTER => true,
LLMProviders.LITE_LLM => true,
LLMProviders.REQUESTY => true,
//
// Providers that do not support embeddings:
@@ -237,6 +253,7 @@ public static class LLMProvidersExtensions
LLMProviders.HELMHOLTZ => true,
LLMProviders.GROQ => true,
LLMProviders.LITE_LLM => true,
LLMProviders.REQUESTY => true,
//
// Providers that support transcription but provide no OpenAI-compatible API yet:
@@ -319,6 +336,7 @@ public static class LLMProvidersExtensions
LLMProviders.HETZNER => new ProviderHetzner { InstanceName = instanceName, ConfiguredProviderId = configuredProviderId, AdditionalJsonApiParameters = expertProviderApiParameter, TokenizerPath = tokenizerPath, IsEnterpriseConfiguration = isEnterpriseConfiguration },
LLMProviders.IONOS => new ProviderIONOS { InstanceName = instanceName, ConfiguredProviderId = configuredProviderId, AdditionalJsonApiParameters = expertProviderApiParameter, TokenizerPath = tokenizerPath, IsEnterpriseConfiguration = isEnterpriseConfiguration },
LLMProviders.LITE_LLM => new ProviderLiteLLM(hostname) { InstanceName = instanceName, ConfiguredProviderId = configuredProviderId, AdditionalJsonApiParameters = expertProviderApiParameter, TokenizerPath = tokenizerPath, IsEnterpriseConfiguration = isEnterpriseConfiguration },
LLMProviders.REQUESTY => new ProviderRequesty { InstanceName = instanceName, ConfiguredProviderId = configuredProviderId, AdditionalJsonApiParameters = expertProviderApiParameter, TokenizerPath = tokenizerPath, IsEnterpriseConfiguration = isEnterpriseConfiguration },
LLMProviders.GROQ => new ProviderGroq { InstanceName = instanceName, ConfiguredProviderId = configuredProviderId, AdditionalJsonApiParameters = expertProviderApiParameter, TokenizerPath = tokenizerPath, IsEnterpriseConfiguration = isEnterpriseConfiguration },
LLMProviders.FIREWORKS => new ProviderFireworks { InstanceName = instanceName, ConfiguredProviderId = configuredProviderId, AdditionalJsonApiParameters = expertProviderApiParameter, TokenizerPath = tokenizerPath, IsEnterpriseConfiguration = isEnterpriseConfiguration },
@@ -357,6 +375,7 @@ public static class LLMProvidersExtensions
LLMProviders.OPEN_ROUTER => "https://openrouter.ai/keys",
LLMProviders.HETZNER => "https://experiments.hetzner.com",
LLMProviders.IONOS => "https://cloud.ionos.com/compute/sign-up",
LLMProviders.REQUESTY => "https://app.requesty.ai/api-keys",
LLMProviders.GROQ => "https://console.groq.com/",
LLMProviders.FIREWORKS => "https://fireworks.ai/login",
@@ -384,6 +403,7 @@ public static class LLMProvidersExtensions
LLMProviders.HUGGINGFACE => "https://huggingface.co/settings/billing",
LLMProviders.HETZNER => "https://experiments.hetzner.com",
LLMProviders.IONOS => "https://dcd.ionos.com/latest/?page=dcd-ai-model-hub",
LLMProviders.REQUESTY => "https://app.requesty.ai/",
_ => string.Empty,
};
@@ -404,6 +424,7 @@ public static class LLMProvidersExtensions
LLMProviders.HUGGINGFACE => true,
LLMProviders.HETZNER => true,
LLMProviders.IONOS => true,
LLMProviders.REQUESTY => true,
_ => false,
};
@@ -492,6 +513,7 @@ public static class LLMProvidersExtensions
LLMProviders.HETZNER => true,
LLMProviders.IONOS => true,
LLMProviders.LITE_LLM => true,
LLMProviders.REQUESTY => true,
LLMProviders.GROQ => true,
LLMProviders.FIREWORKS => true,
@@ -521,6 +543,7 @@ public static class LLMProvidersExtensions
LLMProviders.OPEN_ROUTER => true,
LLMProviders.HETZNER => true,
LLMProviders.IONOS => true,
LLMProviders.REQUESTY => true,
LLMProviders.GROQ => true,
LLMProviders.FIREWORKS => true,