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

@ -27,6 +27,7 @@
#include <QNetworkReply>
#include "llmcore/OpenAIMessage.hpp"
#include "llmcore/ValidationUtils.hpp"
#include "logger/Logger.hpp"
namespace QodeAssist::Providers {
@ -142,4 +143,22 @@ QList<QString> OpenAICompatProvider::getInstalledModels(const QString &url)
return QStringList();
}
QList<QString> OpenAICompatProvider::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