mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-11-23 12:10:21 +00:00
Refactor API parameter parsing to remove unnecessary arguments
This commit is contained in:
parent
d44e9ab3be
commit
8254bca2cc
@ -37,7 +37,7 @@ public sealed class ProviderAlibabaCloud() : BaseProvider("https://dashscope-int
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Parse the API parameters:
|
// Parse the API parameters:
|
||||||
var apiParameters = this.ParseAdditionalApiParameters(this.AdditionalJsonApiParameters);
|
var apiParameters = this.ParseAdditionalApiParameters();
|
||||||
|
|
||||||
// Prepare the AlibabaCloud HTTP chat request:
|
// Prepare the AlibabaCloud HTTP chat request:
|
||||||
var alibabaCloudChatRequest = JsonSerializer.Serialize(new ChatCompletionAPIRequest
|
var alibabaCloudChatRequest = JsonSerializer.Serialize(new ChatCompletionAPIRequest
|
||||||
|
|||||||
@ -28,7 +28,7 @@ public sealed class ProviderAnthropic() : BaseProvider("https://api.anthropic.co
|
|||||||
yield break;
|
yield break;
|
||||||
|
|
||||||
// Parse the API parameters:
|
// Parse the API parameters:
|
||||||
var apiParameters = this.ParseAdditionalApiParameters(this.AdditionalJsonApiParameters, "system");
|
var apiParameters = this.ParseAdditionalApiParameters("system");
|
||||||
|
|
||||||
// Prepare the Anthropic HTTP chat request:
|
// Prepare the Anthropic HTTP chat request:
|
||||||
var chatRequest = JsonSerializer.Serialize(new ChatRequest
|
var chatRequest = JsonSerializer.Serialize(new ChatRequest
|
||||||
|
|||||||
@ -522,18 +522,15 @@ public abstract class BaseProvider : IProvider, ISecretId
|
|||||||
/// Parse and convert API parameters from a provided JSON string into a dictionary,
|
/// Parse and convert API parameters from a provided JSON string into a dictionary,
|
||||||
/// optionally merging additional parameters and removing specific keys.
|
/// optionally merging additional parameters and removing specific keys.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="additionalUserProvidedParameters">A JSON string (without surrounding curly brackets)
|
|
||||||
/// containing the API parameters to be parsed.</param>
|
|
||||||
/// <param name="keysToRemove">Optional list of keys to remove from the final dictionary
|
/// <param name="keysToRemove">Optional list of keys to remove from the final dictionary
|
||||||
/// (case-insensitive). The parameters stream, model, and messages are removed by default.</param>
|
/// (case-insensitive). The parameters stream, model, and messages are removed by default.</param>
|
||||||
protected IDictionary<string, object> ParseAdditionalApiParameters(
|
protected IDictionary<string, object> ParseAdditionalApiParameters(
|
||||||
string additionalUserProvidedParameters,
|
|
||||||
params List<string> keysToRemove)
|
params List<string> keysToRemove)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// Wrap the user-provided parameters in curly brackets to form a valid JSON object:
|
// Wrap the user-provided parameters in curly brackets to form a valid JSON object:
|
||||||
var json = $"{{{additionalUserProvidedParameters}}}";
|
var json = $"{{{this.AdditionalJsonApiParameters}}}";
|
||||||
var jsonDoc = JsonSerializer.Deserialize<JsonElement>(json, JSON_SERIALIZER_OPTIONS);
|
var jsonDoc = JsonSerializer.Deserialize<JsonElement>(json, JSON_SERIALIZER_OPTIONS);
|
||||||
var dict = ConvertToDictionary(jsonDoc);
|
var dict = ConvertToDictionary(jsonDoc);
|
||||||
|
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public sealed class ProviderDeepSeek() : BaseProvider("https://api.deepseek.com/
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Parse the API parameters:
|
// Parse the API parameters:
|
||||||
var apiParameters = this.ParseAdditionalApiParameters(this.AdditionalJsonApiParameters);
|
var apiParameters = this.ParseAdditionalApiParameters();
|
||||||
|
|
||||||
// Prepare the DeepSeek HTTP chat request:
|
// Prepare the DeepSeek HTTP chat request:
|
||||||
var deepSeekChatRequest = JsonSerializer.Serialize(new ChatCompletionAPIRequest
|
var deepSeekChatRequest = JsonSerializer.Serialize(new ChatCompletionAPIRequest
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public class ProviderFireworks() : BaseProvider("https://api.fireworks.ai/infere
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Parse the API parameters:
|
// Parse the API parameters:
|
||||||
var apiParameters = this.ParseAdditionalApiParameters(this.AdditionalJsonApiParameters);
|
var apiParameters = this.ParseAdditionalApiParameters();
|
||||||
|
|
||||||
// Prepare the Fireworks HTTP chat request:
|
// Prepare the Fireworks HTTP chat request:
|
||||||
var fireworksChatRequest = JsonSerializer.Serialize(new ChatRequest
|
var fireworksChatRequest = JsonSerializer.Serialize(new ChatRequest
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public sealed class ProviderGWDG() : BaseProvider("https://chat-ai.academiccloud
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Parse the API parameters:
|
// Parse the API parameters:
|
||||||
var apiParameters = this.ParseAdditionalApiParameters(this.AdditionalJsonApiParameters);
|
var apiParameters = this.ParseAdditionalApiParameters();
|
||||||
|
|
||||||
// Prepare the GWDG HTTP chat request:
|
// Prepare the GWDG HTTP chat request:
|
||||||
var gwdgChatRequest = JsonSerializer.Serialize(new ChatCompletionAPIRequest
|
var gwdgChatRequest = JsonSerializer.Serialize(new ChatCompletionAPIRequest
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public class ProviderGoogle() : BaseProvider("https://generativelanguage.googlea
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Parse the API parameters:
|
// Parse the API parameters:
|
||||||
var apiParameters = this.ParseAdditionalApiParameters(this.AdditionalJsonApiParameters);
|
var apiParameters = this.ParseAdditionalApiParameters();
|
||||||
|
|
||||||
// Prepare the Google HTTP chat request:
|
// Prepare the Google HTTP chat request:
|
||||||
var geminiChatRequest = JsonSerializer.Serialize(new ChatRequest
|
var geminiChatRequest = JsonSerializer.Serialize(new ChatRequest
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public class ProviderGroq() : BaseProvider("https://api.groq.com/openai/v1/", LO
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Parse the API parameters:
|
// Parse the API parameters:
|
||||||
var apiParameters = this.ParseAdditionalApiParameters(this.AdditionalJsonApiParameters);
|
var apiParameters = this.ParseAdditionalApiParameters();
|
||||||
|
|
||||||
// Prepare the OpenAI HTTP chat request:
|
// Prepare the OpenAI HTTP chat request:
|
||||||
var groqChatRequest = JsonSerializer.Serialize(new ChatRequest
|
var groqChatRequest = JsonSerializer.Serialize(new ChatRequest
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public sealed class ProviderHelmholtz() : BaseProvider("https://api.helmholtz-bl
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Parse the API parameters:
|
// Parse the API parameters:
|
||||||
var apiParameters = this.ParseAdditionalApiParameters(this.AdditionalJsonApiParameters);
|
var apiParameters = this.ParseAdditionalApiParameters();
|
||||||
|
|
||||||
// Prepare the Helmholtz HTTP chat request:
|
// Prepare the Helmholtz HTTP chat request:
|
||||||
var helmholtzChatRequest = JsonSerializer.Serialize(new ChatCompletionAPIRequest
|
var helmholtzChatRequest = JsonSerializer.Serialize(new ChatCompletionAPIRequest
|
||||||
|
|||||||
@ -42,7 +42,7 @@ public sealed class ProviderHuggingFace : BaseProvider
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Parse the API parameters:
|
// Parse the API parameters:
|
||||||
var apiParameters = this.ParseAdditionalApiParameters(this.AdditionalJsonApiParameters);
|
var apiParameters = this.ParseAdditionalApiParameters();
|
||||||
|
|
||||||
// Prepare the HuggingFace HTTP chat request:
|
// Prepare the HuggingFace HTTP chat request:
|
||||||
var huggingfaceChatRequest = JsonSerializer.Serialize(new ChatCompletionAPIRequest
|
var huggingfaceChatRequest = JsonSerializer.Serialize(new ChatCompletionAPIRequest
|
||||||
|
|||||||
@ -35,7 +35,7 @@ public sealed class ProviderMistral() : BaseProvider("https://api.mistral.ai/v1/
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Parse the API parameters:
|
// Parse the API parameters:
|
||||||
var apiParameters = this.ParseAdditionalApiParameters(this.AdditionalJsonApiParameters);
|
var apiParameters = this.ParseAdditionalApiParameters();
|
||||||
|
|
||||||
// Prepare the Mistral HTTP chat request:
|
// Prepare the Mistral HTTP chat request:
|
||||||
var mistralChatRequest = JsonSerializer.Serialize(new ChatRequest
|
var mistralChatRequest = JsonSerializer.Serialize(new ChatRequest
|
||||||
|
|||||||
@ -87,7 +87,7 @@ public sealed class ProviderOpenAI() : BaseProvider("https://api.openai.com/v1/"
|
|||||||
|
|
||||||
|
|
||||||
// Parse the API parameters:
|
// Parse the API parameters:
|
||||||
var apiParameters = this.ParseAdditionalApiParameters(this.AdditionalJsonApiParameters, "input", "store", "tools");
|
var apiParameters = this.ParseAdditionalApiParameters("input", "store", "tools");
|
||||||
|
|
||||||
//
|
//
|
||||||
// Create the request: either for the Responses API or the Chat Completion API
|
// Create the request: either for the Responses API or the Chat Completion API
|
||||||
|
|||||||
@ -46,7 +46,7 @@ public sealed class ProviderPerplexity() : BaseProvider("https://api.perplexity.
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Parse the API parameters:
|
// Parse the API parameters:
|
||||||
var apiParameters = this.ParseAdditionalApiParameters(this.AdditionalJsonApiParameters);
|
var apiParameters = this.ParseAdditionalApiParameters();
|
||||||
|
|
||||||
// Prepare the Perplexity HTTP chat request:
|
// Prepare the Perplexity HTTP chat request:
|
||||||
var perplexityChatRequest = JsonSerializer.Serialize(new ChatCompletionAPIRequest
|
var perplexityChatRequest = JsonSerializer.Serialize(new ChatCompletionAPIRequest
|
||||||
|
|||||||
@ -33,7 +33,7 @@ public sealed class ProviderSelfHosted(Host host, string hostname) : BaseProvide
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Parse the API parameters:
|
// Parse the API parameters:
|
||||||
var apiParameters = this.ParseAdditionalApiParameters(this.AdditionalJsonApiParameters);
|
var apiParameters = this.ParseAdditionalApiParameters();
|
||||||
|
|
||||||
// Prepare the OpenAI HTTP chat request:
|
// Prepare the OpenAI HTTP chat request:
|
||||||
var providerChatRequest = JsonSerializer.Serialize(new ChatRequest
|
var providerChatRequest = JsonSerializer.Serialize(new ChatRequest
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public sealed class ProviderX() : BaseProvider("https://api.x.ai/v1/", LOGGER)
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Parse the API parameters:
|
// Parse the API parameters:
|
||||||
var apiParameters = this.ParseAdditionalApiParameters(this.AdditionalJsonApiParameters);
|
var apiParameters = this.ParseAdditionalApiParameters();
|
||||||
|
|
||||||
// Prepare the xAI HTTP chat request:
|
// Prepare the xAI HTTP chat request:
|
||||||
var xChatRequest = JsonSerializer.Serialize(new ChatCompletionAPIRequest
|
var xChatRequest = JsonSerializer.Serialize(new ChatCompletionAPIRequest
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user