feat: Add request validator

This commit is contained in:
Petr Mironychev
2024-12-15 02:08:35 +01:00
parent 10e8b16caf
commit 7376a11a05
12 changed files with 194 additions and 1 deletions

View File

@ -26,6 +26,7 @@
#include <QNetworkReply>
#include "llmcore/OpenAIMessage.hpp"
#include "llmcore/ValidationUtils.hpp"
#include "logger/Logger.hpp"
#include "settings/ChatAssistantSettings.hpp"
#include "settings/CodeCompletionSettings.hpp"
@ -169,4 +170,22 @@ QList<QString> LMStudioProvider::getInstalledModels(const QString &url)
return models;
}
QList<QString> LMStudioProvider::validateRequest(
const QJsonObject &request, LLMCore::TemplateType type)
{
const auto templateReq = QJsonObject{
{"model", {}},
{"messages", QJsonArray{{QJsonObject{{"role", {}}, {"content", {}}}}}},
{"temperature", {}},
{"max_tokens", {}},
{"top_p", {}},
{"top_k", {}},
{"frequency_penalty", {}},
{"presence_penalty", {}},
{"stop", QJsonArray{}},
{"stream", {}}};
return LLMCore::ValidationUtils::validateRequestFields(request, templateReq);
}
} // namespace QodeAssist::Providers